gnu: Add go-gopkg-in-check-v1.
[jackhill/guix/guix.git] / gnu / packages / golang.scm
CommitLineData
7a2941a8 1;;; GNU Guix --- Functional package management for GNU
dda785f6 2;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
7a2941a8
MJ
3;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
4;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
ec91bcb5 5;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
c04ef86e 6;;; Copyright © 2016, 2017 Petter <petter@mykolab.ch>
17399545 7;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
c04ef86e 8;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
eaca9ff0 9;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
247064c3 10;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
c4d2cffa 11;;; Copyright © 2018 Christopher Baines <mail@cbaines.net>
e60352e4 12;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
fb50664f 13;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
7a2941a8 14;;;
8a610eb6 15;;; This file is part of GNU Guix.
7a2941a8
MJ
16;;;
17;;; GNU Guix is free software; you can redistribute it and/or modify it
18;;; under the terms of the GNU General Public License as published by
19;;; the Free Software Foundation; either version 3 of the License, or (at
20;;; your option) any later version.
21;;;
22;;; GNU Guix is distributed in the hope that it will be useful, but
23;;; WITHOUT ANY WARRANTY; without even the implied warranty of
24;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25;;; GNU General Public License for more details.
26;;;
27;;; You should have received a copy of the GNU General Public License
28;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
29
30(define-module (gnu packages golang)
31 #:use-module ((guix licenses) #:prefix license:)
32 #:use-module (guix utils)
33 #:use-module (guix download)
d3878e88 34 #:use-module (guix git-download)
7a2941a8
MJ
35 #:use-module (guix packages)
36 #:use-module (guix build-system gnu)
d3878e88 37 #:use-module (guix build-system go)
7a2941a8
MJ
38 #:use-module (gnu packages admin)
39 #:use-module (gnu packages gcc)
40 #:use-module (gnu packages base)
41 #:use-module (gnu packages perl)
42 #:use-module (gnu packages pkg-config)
43 #:use-module (gnu packages pcre)
44 #:use-module (ice-9 match)
45 #:use-module (srfi srfi-1))
46
47;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a
48;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2
49;; implementation, and gccgo-5 a complete implementation of go-1.4. Ultimately
50;; we hope to build go-1.5+ with a bootstrap process using gccgo-5. As of
51;; go-1.5, go cannot be bootstrapped without go-1.4, so we need to use go-1.4 or
52;; gccgo-5. Mips is not officially supported, but it should work if it is
53;; bootstrapped.
54
55(define-public go-1.4
56 (package
57 (name "go")
58 (version "1.4.3")
59 (source (origin
60 (method url-fetch)
61 (uri (string-append "https://storage.googleapis.com/golang/"
62 name version ".src.tar.gz"))
63 (sha256
64 (base32
65 "0na9yqilzpvq0bjndbibfp07wr796gf252y471cip10bbdqgqiwr"))))
66 (build-system gnu-build-system)
67 (outputs '("out"
68 "doc"
69 "tests"))
70 (arguments
71 `(#:modules ((ice-9 match)
72 (guix build gnu-build-system)
1d698a8b
ST
73 (guix build utils)
74 (srfi srfi-1))
7a2941a8
MJ
75 #:tests? #f ; Tests are run by the all.bash script.
76 #:phases
77 (modify-phases %standard-phases
78 (delete 'configure)
79 (add-after 'patch-generated-file-shebangs 'chdir
80 (lambda _
2a49f7ad
TGR
81 (chdir "src")
82 #t))
7a2941a8
MJ
83 (add-before 'build 'prebuild
84 (lambda* (#:key inputs outputs #:allow-other-keys)
85 (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
86 (ld (string-append (assoc-ref inputs "libc") "/lib"))
87 (loader (car (find-files ld "^ld-linux.+")))
88 (net-base (assoc-ref inputs "net-base"))
89 (tzdata-path
90 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
91 (output (assoc-ref outputs "out")))
92
93 ;; Removing net/ tests, which fail when attempting to access
94 ;; network resources not present in the build container.
95 (for-each delete-file
96 '("net/multicast_test.go" "net/parse_test.go"
97 "net/port_test.go"))
98
99 ;; Add libgcc to the RUNPATH.
100 (substitute* "cmd/go/build.go"
101 (("cgoldflags := \\[\\]string\\{\\}")
102 (string-append "cgoldflags := []string{"
103 "\"-rpath=" gcclib "\"}"))
104 (("ldflags := buildLdflags")
105 (string-append
106 "ldflags := buildLdflags\n"
107 "ldflags = append(ldflags, \"-r\")\n"
108 "ldflags = append(ldflags, \"" gcclib "\")\n")))
109
110 (substitute* "os/os_test.go"
111 (("/usr/bin") (getcwd))
112 (("/bin/pwd") (which "pwd")))
113
114 ;; Disable failing tests: these tests attempt to access
115 ;; commands or network resources which are neither available or
116 ;; necessary for the build to succeed.
117 (for-each
118 (match-lambda
119 ((file regex)
120 (substitute* file
121 ((regex all before test_name)
122 (string-append before "Disabled" test_name)))))
123 '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
124 ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
125 ("os/os_test.go" "(.+)(TestHostname.+)")
126 ("time/format_test.go" "(.+)(TestParseInSydney.+)")
4b0bac4b
LF
127
128 ;; Tzdata 2016g changed the name of the time zone used in this
129 ;; test, and the patch for Go 1.7 does not work for 1.4.3:
130 ;; https://github.com/golang/go/issues/17545
131 ;; https://github.com/golang/go/issues/17276
132 ("time/time_test.go" "(.+)(TestLoadFixed.+)")
f826c8c7 133 ("time/format_test.go" "(.+)(TestParseInLocation.+)")
4b0bac4b 134
7a2941a8
MJ
135 ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
136 ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
137 ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
138 ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
139 ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
140 ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
141 ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
142 ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
143 ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")))
144
145 (substitute* "net/lookup_unix.go"
146 (("/etc/protocols") (string-append net-base "/etc/protocols")))
147 (substitute* "time/zoneinfo_unix.go"
148 (("/usr/share/zoneinfo/") tzdata-path))
149 (substitute* (find-files "cmd" "asm.c")
150 (("/lib/ld-linux.*\\.so\\.[0-9]") loader))
151 #t)))
152
153 (replace 'build
154 (lambda* (#:key inputs outputs #:allow-other-keys)
155 ;; FIXME: Some of the .a files are not bit-reproducible.
156 (let* ((output (assoc-ref outputs "out")))
157 (setenv "CC" (which "gcc"))
158 (setenv "GOOS" "linux")
159 (setenv "GOROOT" (dirname (getcwd)))
160 (setenv "GOROOT_FINAL" output)
04a95a4f
LF
161 ;; Go 1.4's cgo will not work with binutils >= 2.27:
162 ;; https://github.com/golang/go/issues/16906
163 (setenv "CGO_ENABLED" "0")
2a49f7ad 164 (invoke "sh" "all.bash"))))
7a2941a8
MJ
165
166 (replace 'install
167 (lambda* (#:key outputs inputs #:allow-other-keys)
168 (let* ((output (assoc-ref outputs "out"))
169 (doc_out (assoc-ref outputs "doc"))
170 (bash (string-append (assoc-ref inputs "bash") "bin/bash"))
171 (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
172 (tests (string-append
173 (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
174 (mkdir-p tests)
175 (copy-recursively "../test" (string-append tests "/test"))
176 (delete-file-recursively "../test")
177 (mkdir-p docs)
178 (copy-recursively "../api" (string-append docs "/api"))
179 (delete-file-recursively "../api")
180 (copy-recursively "../doc" (string-append docs "/doc"))
181 (delete-file-recursively "../doc")
182
183 (for-each (lambda (file)
184 (let ((file (string-append "../" file)))
185 (install-file file docs)
186 (delete-file file)))
187 '("README" "CONTRIBUTORS" "AUTHORS" "PATENTS"
188 "LICENSE" "VERSION" "robots.txt"))
189 (copy-recursively "../" output)
190 #t))))))
191 (inputs
192 `(("tzdata" ,tzdata)
193 ("pcre" ,pcre)
fcbb8461
LF
194 ;; Building Go 1.10 with the Go 1.4 bootstrap, Thread Sanitizer from GCC
195 ;; 5 finds a data race during the the test suite of Go 1.10. With GCC 6,
196 ;; the race doesn't seem to be present:
197 ;; https://github.com/golang/go/issues/24046
198 ("gcc:lib" ,gcc-6 "lib")))
7a2941a8 199 (native-inputs
3f0ec617 200 `(("pkg-config" ,pkg-config)
7a2941a8
MJ
201 ("which" ,which)
202 ("net-base" ,net-base)
203 ("perl" ,perl)))
204
205 (home-page "https://golang.org/")
206 (synopsis "Compiler and libraries for Go, a statically-typed language")
207 (description "Go, also commonly referred to as golang, is an imperative
247064c3
TGR
208programming language designed primarily for systems programming. Go is a
209compiled, statically typed language in the tradition of C and C++, but adds
210garbage collection, various safety features, and concurrent programming features
211in the style of communicating sequential processes (@dfn{CSP}).")
dda785f6 212 (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
7a2941a8 213 (license license:bsd-3)))
ec91bcb5 214
35131bab 215(define-public go-1.9
ec91bcb5
MJ
216 (package
217 (inherit go-1.4)
218 (name "go")
96fd9a0e 219 (version "1.9.7")
ec91bcb5
MJ
220 (source
221 (origin
222 (method url-fetch)
223 (uri (string-append "https://storage.googleapis.com/golang/"
224 name version ".src.tar.gz"))
225 (sha256
226 (base32
96fd9a0e 227 "08kpy874x0rx43zpyv5kwd8xj2ma91xm33i0ka2v1v788px18a2q"))))
ec91bcb5
MJ
228 (arguments
229 (substitute-keyword-arguments (package-arguments go-1.4)
230 ((#:phases phases)
231 `(modify-phases ,phases
232 (replace 'prebuild
233 ;; TODO: Most of this could be factorized with Go 1.4.
234 (lambda* (#:key inputs outputs #:allow-other-keys)
235 (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
236 (ld (string-append (assoc-ref inputs "libc") "/lib"))
237 (loader (car (find-files ld "^ld-linux.+")))
238 (net-base (assoc-ref inputs "net-base"))
239 (tzdata-path
240 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
241 (output (assoc-ref outputs "out")))
242
243 ;; Removing net/ tests, which fail when attempting to access
244 ;; network resources not present in the build container.
245 (for-each delete-file
a6169621
P
246 '("net/listen_test.go"
247 "net/parse_test.go"
248 "net/cgo_unix_test.go"))
ec91bcb5
MJ
249
250 (substitute* "os/os_test.go"
251 (("/usr/bin") (getcwd))
a6169621
P
252 (("/bin/pwd") (which "pwd"))
253 (("/bin/sh") (which "sh")))
ec91bcb5
MJ
254
255 ;; Add libgcc to runpath
256 (substitute* "cmd/link/internal/ld/lib.go"
257 (("!rpath.set") "true"))
35131bab 258 (substitute* "cmd/go/internal/work/build.go"
ec91bcb5
MJ
259 (("cgoldflags := \\[\\]string\\{\\}")
260 (string-append "cgoldflags := []string{"
261 "\"-rpath=" gcclib "\""
262 "}"))
263 (("ldflags = setextld\\(ldflags, compiler\\)")
264 (string-append
265 "ldflags = setextld(ldflags, compiler)\n"
266 "ldflags = append(ldflags, \"-r\")\n"
267 "ldflags = append(ldflags, \"" gcclib "\")\n"))
268 (("\"-lgcc_s\", ")
269 (string-append
270 "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
271
272 ;; Disable failing tests: these tests attempt to access
1c797d4b
LF
273 ;; commands or network resources which are neither available
274 ;; nor necessary for the build to succeed.
ec91bcb5
MJ
275 (for-each
276 (match-lambda
277 ((file regex)
278 (substitute* file
279 ((regex all before test_name)
280 (string-append before "Disabled" test_name)))))
281 '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
282 ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
283 ("os/os_test.go" "(.+)(TestHostname.+)")
284 ("time/format_test.go" "(.+)(TestParseInSydney.+)")
f826c8c7 285 ("time/format_test.go" "(.+)(TestParseInLocation.+)")
ec91bcb5
MJ
286 ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
287 ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
288 ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
289 ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
290 ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
291 ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
292 ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
293 ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)")
294 ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
295 ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
296 ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
3f157443 297 ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
ec91bcb5
MJ
298 ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
299 ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
300 ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
301 ("net/lookup_test.go" "(.+)(TestLookupPort.+)")
302 ("syscall/exec_linux_test.go"
17399545 303 "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
ec91bcb5
MJ
304
305 (substitute* "../misc/cgo/testsanitizers/test.bash"
306 (("(CC=)cc" all var) (string-append var "gcc")))
307
308 ;; fix shebang for testar script
309 ;; note the target script is generated at build time.
a6169621 310 (substitute* "../misc/cgo/testcarchive/carchive_test.go"
ec91bcb5
MJ
311 (("#!/usr/bin/env") (string-append "#!" (which "env"))))
312
313 (substitute* "net/lookup_unix.go"
314 (("/etc/protocols") (string-append net-base "/etc/protocols")))
315 (substitute* "net/port_unix.go"
316 (("/etc/services") (string-append net-base "/etc/services")))
317 (substitute* "time/zoneinfo_unix.go"
318 (("/usr/share/zoneinfo/") tzdata-path))
c04ef86e
P
319 (substitute* (find-files "cmd" "\\.go")
320 (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
ec91bcb5
MJ
321 #t)))
322 (add-before 'build 'set-bootstrap-variables
323 (lambda* (#:key outputs inputs #:allow-other-keys)
324 ;; Tell the build system where to find the bootstrap Go.
325 (let ((go (assoc-ref inputs "go"))
326 (out (assoc-ref outputs "out")))
327 (setenv "GOROOT_BOOTSTRAP" go)
328 (setenv "PATH"
329 (string-append out "/bin:"
330 (dirname (getcwd)) "/bin:"
331 (getenv "PATH")))
332
333 ;; XXX: The following variables seem unrelated.
334 (setenv "GOGC" "400")
335 (setenv "GO_TEST_TIMEOUT_SCALE" "9999")
336 #t)))
04a95a4f
LF
337
338 (replace 'build
339 (lambda* (#:key inputs outputs #:allow-other-keys)
340 ;; FIXME: Some of the .a files are not bit-reproducible.
341 (let* ((output (assoc-ref outputs "out")))
342 (setenv "CC" (which "gcc"))
343 (setenv "GOOS" "linux")
344 (setenv "GOROOT" (dirname (getcwd)))
345 (setenv "GOROOT_FINAL" output)
346 (setenv "CGO_ENABLED" "1")
188b88e2 347 (invoke "sh" "all.bash"))))
04a95a4f 348
ec91bcb5
MJ
349 (replace 'install
350 ;; TODO: Most of this could be factorized with Go 1.4.
351 (lambda* (#:key outputs #:allow-other-keys)
352 (let* ((output (assoc-ref outputs "out"))
353 (doc_out (assoc-ref outputs "doc"))
354 (docs (string-append doc_out "/share/doc/" ,name "-" ,version))
355 (src (string-append
356 (assoc-ref outputs "tests") "/share/" ,name "-" ,version)))
357 (delete-file-recursively "../pkg/bootstrap")
358
359 (mkdir-p src)
360 (copy-recursively "../test" (string-append src "/test"))
361 (delete-file-recursively "../test")
362 (mkdir-p docs)
363 (copy-recursively "../api" (string-append docs "/api"))
364 (delete-file-recursively "../api")
365 (copy-recursively "../doc" (string-append docs "/doc"))
366 (delete-file-recursively "../doc")
367
368 (for-each
369 (lambda (file)
370 (let* ((filein (string-append "../" file))
371 (fileout (string-append docs "/" file)))
372 (copy-file filein fileout)
373 (delete-file filein)))
374 ;; Note the slightly different file names compared to 1.4.
375 '("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS"
376 "LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt"))
377
188b88e2
TGR
378 (copy-recursively "../" output)
379 #t)))))))
ec91bcb5
MJ
380 (native-inputs
381 `(("go" ,go-1.4)
dda785f6
EF
382 ,@(package-native-inputs go-1.4)))
383 (supported-systems %supported-systems)))
ec91bcb5 384
fcbb8461
LF
385(define-public go-1.10
386 (package
387 (inherit go-1.9)
388 (name "go")
9297fc61 389 (version "1.10.3")
fcbb8461
LF
390 (source
391 (origin
392 (method url-fetch)
393 (uri (string-append "https://storage.googleapis.com/golang/"
394 name version ".src.tar.gz"))
395 (sha256
396 (base32
9297fc61 397 "1wjmw65nfkkzz084695gdgn13sbjcaafy2y5370d214pdk31qysn"))))
fcbb8461
LF
398 (arguments
399 (substitute-keyword-arguments (package-arguments go-1.9)
400 ((#:phases phases)
401 `(modify-phases ,phases
402 (replace 'prebuild
403 (lambda* (#:key inputs outputs #:allow-other-keys)
404 (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib"))
405 (ld (string-append (assoc-ref inputs "libc") "/lib"))
406 (loader (car (find-files ld "^ld-linux.+")))
407 (net-base (assoc-ref inputs "net-base"))
408 (tzdata-path
409 (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
410 (output (assoc-ref outputs "out")))
411
412 ;; Removing net/ tests, which fail when attempting to access
413 ;; network resources not present in the build container.
414 (for-each delete-file
415 '("net/listen_test.go"
416 "net/parse_test.go"
417 "net/cgo_unix_test.go"))
418
419 (substitute* "os/os_test.go"
420 (("/usr/bin") (getcwd))
421 (("/bin/pwd") (which "pwd"))
422 (("/bin/sh") (which "sh")))
423
424 ;; Add libgcc to runpath
425 (substitute* "cmd/link/internal/ld/lib.go"
426 (("!rpath.set") "true"))
427 (substitute* "cmd/go/internal/work/gccgo.go"
428 (("cgoldflags := \\[\\]string\\{\\}")
429 (string-append "cgoldflags := []string{"
430 "\"-rpath=" gcclib "\""
431 "}"))
432 (("\"-lgcc_s\", ")
433 (string-append
434 "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", ")))
435 (substitute* "cmd/go/internal/work/gc.go"
436 (("ldflags = setextld\\(ldflags, compiler\\)")
437 (string-append
438 "ldflags = setextld(ldflags, compiler)\n"
439 "ldflags = append(ldflags, \"-r\")\n"
440 "ldflags = append(ldflags, \"" gcclib "\")\n")))
441
442 ;; Disable failing tests: these tests attempt to access
443 ;; commands or network resources which are neither available
444 ;; nor necessary for the build to succeed.
445 (for-each
446 (match-lambda
447 ((file regex)
448 (substitute* file
449 ((regex all before test_name)
450 (string-append before "Disabled" test_name)))))
451 '(("net/net_test.go" "(.+)(TestShutdownUnix.+)")
452 ("net/dial_test.go" "(.+)(TestDialTimeout.+)")
453 ("os/os_test.go" "(.+)(TestHostname.+)")
454 ("time/format_test.go" "(.+)(TestParseInSydney.+)")
455 ("time/format_test.go" "(.+)(TestParseInLocation.+)")
456 ("os/exec/exec_test.go" "(.+)(TestEcho.+)")
457 ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)")
458 ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)")
459 ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)")
460 ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)")
461 ("os/exec/exec_test.go" "(.+)(TestPipes.+)")
462 ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)")
463 ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)")
464 ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)")
465 ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)")
466 ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)")
f0b85055 467 ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)")
fcbb8461
LF
468 ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)")
469 ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)")
470 ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)")
471 ("net/lookup_test.go" "(.+)(TestLookupPort.+)")
472 ("syscall/exec_linux_test.go"
473 "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)")))
474
475 ;; fix shebang for testar script
476 ;; note the target script is generated at build time.
477 (substitute* "../misc/cgo/testcarchive/carchive_test.go"
478 (("#!/usr/bin/env") (string-append "#!" (which "env"))))
479
480 (substitute* "net/lookup_unix.go"
481 (("/etc/protocols") (string-append net-base "/etc/protocols")))
482 (substitute* "net/port_unix.go"
483 (("/etc/services") (string-append net-base "/etc/services")))
484 (substitute* "time/zoneinfo_unix.go"
485 (("/usr/share/zoneinfo/") tzdata-path))
486 (substitute* (find-files "cmd" "\\.go")
487 (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader))
488 #t)))
489 (replace 'set-bootstrap-variables
490 (lambda* (#:key outputs inputs #:allow-other-keys)
491 ;; Tell the build system where to find the bootstrap Go.
492 (let ((go (assoc-ref inputs "go")))
493 (setenv "GOROOT_BOOTSTRAP" go)
494 (setenv "GOGC" "400")
495 ;; Go 1.10 tries to write to $HOME in a test
496 (setenv "HOME" "/tmp")
497 #t)))))))))
498
35131bab 499(define-public go go-1.9)
d3878e88
LF
500
501(define-public go-github-com-alsm-ioprogress
502 (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5")
503 (revision "0"))
504 (package
505 (name "go-github-com-alsm-ioprogress")
506 (version (git-version "0.0.0" revision commit))
507 (source (origin
508 (method git-fetch)
509 (uri (git-reference
510 (url "https://github.com/alsm/ioprogress.git")
511 (commit commit)))
fdbece74 512 (file-name (git-file-name name version))
d3878e88
LF
513 (sha256
514 (base32
515 "10ym5qlq77nynmkxbk767f2hfwyxg2k7hrzph05hvgzv833dhivh"))))
516 (build-system go-build-system)
517 (arguments
518 '(#:import-path "github.com/alsm/ioprogress"))
519 (synopsis "Textual progress bars in Go")
520 (description "@code{ioprogress} is a Go library with implementations of
521@code{io.Reader} and @code{io.Writer} that draws progress bars. The primary use
522case for these are for command-line applications but alternate progress bar
523writers can be supplied for alternate environments.")
524 (home-page "https://github.com/alsm/ioprogress")
525 (license license:expat))))
11b12655
LF
526
527(define-public go-github-com-aki237-nscjar
528 (let ((commit "e2df936ddd6050d30dd90c7214c02b5019c42f06")
529 (revision "0"))
530 (package
531 (name "go-github-com-aki237-nscjar")
532 (version (git-version "0.0.0" revision commit))
533 (source (origin
534 (method git-fetch)
535 (uri (git-reference
536 (url "https://github.com/aki237/nscjar.git")
537 (commit commit)))
82f09c0e 538 (file-name (git-file-name name version))
11b12655
LF
539 (sha256
540 (base32
541 "03y7zzq12qvhsq86lb06sgns8xrkblbn7i7wd886wk3zr5574b96"))))
542 (build-system go-build-system)
543 (arguments
544 '(#:import-path "github.com/aki237/nscjar"))
545 (synopsis "Handle Netscape / Mozilla cookies")
546 (description "@code{nscjar} is a Go library used to parse and output
547Netscape/Mozilla's old-style cookie files. It also implements a simple cookie
548jar struct to manage the cookies added to the cookie jar.")
549 (home-page "https://github.com/aki237/nscjar")
550 (license license:expat))))
12f496ba
LF
551
552(define-public go-github-com-davidjpeacock-cli
553 (let ((commit "8ba6f23b6e36d03666a14bd9421f5e3efcb59aca")
554 (revision "0"))
555 (package
556 (name "go-github-com-davidjpeacock-cli")
557 (version (git-version "1.19.1" revision commit))
558 (source (origin
559 (method git-fetch)
560 (uri (git-reference
561 (url "https://github.com/davidjpeacock/cli.git")
562 (commit commit)))
6de107b0 563 (file-name (git-file-name name version))
12f496ba
LF
564 (sha256
565 (base32
566 "01s53ny3p0fdx64rnwcnmjj4xpc5adihnh6islsfq5z1ph2phhnj"))))
567 (build-system go-build-system)
568 (arguments
569 '(#:import-path "github.com/davidjpeacock/cli"))
570 (synopsis "Build command-line interfaces in Go")
571 (description "@code{cli} is a package for building command line
572interfaces in Go. The goal is to enable developers to write fast and
573distributable command line applications in an expressive way.")
574 (home-page "https://github.com/davidjpeacock/cli")
575 (license license:expat))))
60a8cbc4
CB
576
577(define-public go-github.com-jessevdk-go-flags
578 (package
579 (name "go-github.com-jessevdk-go-flags")
580 (version "1.3.0")
581 (source (origin
582 (method git-fetch)
583 (uri (git-reference
584 (url "https://github.com/jessevdk/go-flags")
585 (commit (string-append "v" version))))
586 (file-name (git-file-name name version))
587 (sha256
588 (base32
589 "1jk2k2l10lwrn1r3nxdvbs0yz656830j4khzirw8p4ahs7c5zz36"))))
590 (build-system go-build-system)
591 (arguments
592 '(#:import-path "github.com/jessevdk/go-flags"))
593 (synopsis "Go library for parsing command line arguments")
594 (description
595 "The @code{flags} package provides a command line option parser. The
596functionality is similar to the go builtin @code{flag} package, but
597@code{flags} provides more options and uses reflection to provide a succinct
598way of specifying command line options.")
599 (home-page "https://github.com/jessevdk/go-flags")
600 (license license:bsd-3)))
210c6d95
CB
601
602(define-public go-gopkg.in-tomb.v2
603 (let ((commit "d5d1b5820637886def9eef33e03a27a9f166942c")
604 (revision "0"))
605 (package
606 (name "go-gopkg.in-tomb.v2")
607 (version (string-append "0.0.0-" revision "." (string-take commit 7)))
608 (source (origin
609 (method git-fetch)
610 (uri (git-reference
611 (url "https://github.com/go-tomb/tomb.git")
612 (commit commit)))
613 (file-name (string-append name "-" version ".tar.gz"))
614 (sha256
615 (base32
616 "1sv15sri99szkdz1bkh0ir46w9n8prrwx5hfai13nrhkawfyfy10"))))
617 (build-system go-build-system)
618 (arguments
619 '(#:import-path "gopkg.in/tomb.v2"))
620 (synopsis "@code{tomb} handles clean goroutine tracking and termination")
621 (description
622 "The @code{tomb} package handles clean goroutine tracking and
623termination.")
624 (home-page "https://gopkg.in/tomb.v2")
625 (license license:bsd-3))))
da6f9d41
CB
626
627(define-public go-github.com-jtolds-gls
628 (package
629 (name "go-github.com-jtolds-gls")
630 (version "4.2.1")
631 (source (origin
632 (method git-fetch)
633 (uri (git-reference
634 (url "https://github.com/jtolds/gls")
635 (commit (string-append "v" version))))
636 (file-name (git-file-name name version))
637 (sha256
638 (base32
639 "1vm37pvn0k4r6d3m620swwgama63laz8hhj3pyisdhxwam4m2g1h"))))
640 (build-system go-build-system)
641 (arguments
642 '(#:import-path "github.com/jtolds/gls"))
643 (synopsis "@code{gls} provides Goroutine local storage")
644 (description
645 "The @code{gls} package provides a way to store a retrieve values
646per-goroutine.")
647 (home-page "https://github.com/jtolds/gls")
648 (license license:expat)))
c4d2cffa
CB
649
650(define-public go-github-com-tj-docopt
651 (package
652 (name "go-github-com-tj-docopt")
653 (version "1.0.0")
654 (source (origin
655 (method git-fetch)
656 (uri (git-reference
657 (url "https://github.com/tj/docopt")
658 (commit (string-append "v" version))))
659 (file-name (git-file-name name version))
660 (sha256
661 (base32
662 "06h8hdg1mh3s78zqlr01g4si7k0f0g6pr7fj7lnvfg446hgc7080"))))
663 (build-system go-build-system)
664 (arguments
665 '(#:import-path "github.com/tj/docopt"))
666 (synopsis "Go implementation of docopt")
667 (description
668 "This library allows the user to define a command-line interface from a
669program's help message rather than specifying it programatically with
670command-line parsers.")
671 (home-page "https://github.com/tj/docopt")
672 (license license:expat)))
ed0c6a76
CB
673
674(define-public go-github-com-hashicorp-hcl
675 (let ((commit "23c074d0eceb2b8a5bfdbb271ab780cde70f05a8")
676 (revision "0"))
677 (package
678 (name "go-github-com-hashicorp-hcl")
679 (version (git-version "0.0.0" revision commit))
680 (source (origin
681 (method git-fetch)
682 (uri (git-reference
683 (url "https://github.com/hashicorp/hcl")
684 (commit commit)))
685 (file-name (git-file-name name version))
686 (sha256
687 (base32
688 "0db4lpqb5m130rmfy3s3gjjf4dxllypmyrzxv6ggqhkmwmc7w4mc"))))
689 (build-system go-build-system)
690 (arguments
691 '(#:tests? #f
692 #:import-path "github.com/hashicorp/hcl"))
693 (synopsis "Go implementation of HashiCorp Configuration Language")
694 (description
695 "This package contains the main implementation of the @acronym{HCL,
696HashiCorp Configuration Language}. HCL is designed to be a language for
697expressing configuration which is easy for both humans and machines to read.")
698 (home-page "https://github.com/hashicorp/hcl")
699 (license license:mpl2.0))))
269d0858
LF
700
701(define-public go-golang-org-x-crypto-bcrypt
702 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
703 (revision "1"))
704 (package
705 (name "go-golang-org-x-crypto-bcrypt")
706 (version (git-version "0.0.0" revision commit))
707 (source (origin
708 (method git-fetch)
709 (uri (git-reference
710 (url "https://go.googlesource.com/crypto")
711 (commit commit)))
712 (file-name (string-append "go.googlesource.com-crypto-"
713 version "-checkout"))
714 (sha256
715 (base32
716 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
717 (build-system go-build-system)
718 (arguments
719 `(#:import-path "golang.org/x/crypto/bcrypt"
720 #:unpack-path "golang.org/x/crypto"
721 #:phases
722 (modify-phases %standard-phases
723 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
724 (lambda* (#:key outputs #:allow-other-keys)
725 (map (lambda (file)
726 (make-file-writable file))
727 (find-files
728 (string-append (assoc-ref outputs "out")
729 "/src/golang.org/x/crypto/ed25519/testdata")
730 ".*\\.gz$"))
731 #t)))))
732 (synopsis "Bcrypt in Go")
733 (description "This package provides a Go implementation of the bcrypt
734password hashing function.")
735 (home-page "https://go.googlesource.com/crypto/")
736 (license license:bsd-3))))
737
738(define-public go-golang-org-x-crypto-blowfish
739 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
740 (revision "1"))
741 (package
742 (name "go-golang-org-x-crypto-blowfish")
743 (version (git-version "0.0.0" revision commit))
744 (source (origin
745 (method git-fetch)
746 (uri (git-reference
747 (url "https://go.googlesource.com/crypto")
748 (commit commit)))
749 (file-name (string-append "go.googlesource.com-crypto-"
750 version "-checkout"))
751 (sha256
752 (base32
753 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
754 (build-system go-build-system)
755 (arguments
756 `(#:import-path "golang.org/x/crypto/blowfish"
757 #:unpack-path "golang.org/x/crypto"
758 #:phases
759 (modify-phases %standard-phases
760 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
761 (lambda* (#:key outputs #:allow-other-keys)
762 (map (lambda (file)
763 (make-file-writable file))
764 (find-files
765 (string-append (assoc-ref outputs "out")
766 "/src/golang.org/x/crypto/ed25519/testdata")
767 ".*\\.gz$"))
768 #t)))))
769 (synopsis "Blowfish in Go")
770 (description "This package provides a Go implementation of the Blowfish
771symmetric-key block cipher.")
772 (home-page "https://go.googlesource.com/crypto/")
773 (license license:bsd-3))))
774
775(define-public go-golang-org-x-crypto-pbkdf2
776 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
777 (revision "1"))
778 (package
779 (name "go-golang-org-x-crypto-pbkdf2")
780 (version (git-version "0.0.0" revision commit))
781 (source (origin
782 (method git-fetch)
783 (uri (git-reference
784 (url "https://go.googlesource.com/crypto")
785 (commit commit)))
786 (file-name (string-append "go.googlesource.com-crypto-"
787 version "-checkout"))
788 (sha256
789 (base32
790 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
791 (build-system go-build-system)
792 (arguments
793 `(#:import-path "golang.org/x/crypto/pbkdf2"
794 #:unpack-path "golang.org/x/crypto"
795 #:phases
796 (modify-phases %standard-phases
797 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
798 (lambda* (#:key outputs #:allow-other-keys)
799 (map (lambda (file)
800 (make-file-writable file))
801 (find-files
802 (string-append (assoc-ref outputs "out")
803 "/src/golang.org/x/crypto/ed25519/testdata")
804 ".*\\.gz$"))
805 #t)))))
806 (synopsis "PBKDF2 in Go")
807 (description "This package provides a Go implementation of the PBKDF2 key
808derivation function.")
809 (home-page "https://go.googlesource.com/crypto/")
810 (license license:bsd-3))))
811
812(define-public go-golang-org-x-crypto-tea
813 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
814 (revision "1"))
815 (package
816 (name "go-golang-org-x-crypto-tea")
817 (version (git-version "0.0.0" revision commit))
818 (source (origin
819 (method git-fetch)
820 (uri (git-reference
821 (url "https://go.googlesource.com/crypto")
822 (commit commit)))
823 (file-name (string-append "go.googlesource.com-crypto-"
824 version "-checkout"))
825 (sha256
826 (base32
827 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
828 (build-system go-build-system)
829 (arguments
830 `(#:import-path "golang.org/x/crypto/tea"
831 #:unpack-path "golang.org/x/crypto"
832 #:phases
833 (modify-phases %standard-phases
834 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
835 (lambda* (#:key outputs #:allow-other-keys)
836 (map (lambda (file)
837 (make-file-writable file))
838 (find-files
839 (string-append (assoc-ref outputs "out")
840 "/src/golang.org/x/crypto/ed25519/testdata")
841 ".*\\.gz$"))
842 #t)))))
843 (synopsis "Tiny Encryption Algorithm (TEA) in Go")
844 (description "This packages a Go implementation of the Tiny Encryption
845Algorithm (TEA) block cipher.")
846 (home-page "https://go.googlesource.com/crypto/")
847 (license license:bsd-3))))
848
849(define-public go-golang-org-x-crypto-salsa20
850 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
851 (revision "1"))
852 (package
853 (name "go-golang-org-x-crypto-salsa20")
854 (version (git-version "0.0.0" revision commit))
855 (source (origin
856 (method git-fetch)
857 (uri (git-reference
858 (url "https://go.googlesource.com/crypto")
859 (commit commit)))
860 (file-name (string-append "go.googlesource.com-crypto-"
861 version "-checkout"))
862 (sha256
863 (base32
864 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
865 (build-system go-build-system)
866 (arguments
867 `(#:import-path "golang.org/x/crypto/salsa20"
868 #:unpack-path "golang.org/x/crypto"
869 #:phases
870 (modify-phases %standard-phases
871 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
872 (lambda* (#:key outputs #:allow-other-keys)
873 (map (lambda (file)
874 (make-file-writable file))
875 (find-files
876 (string-append (assoc-ref outputs "out")
877 "/src/golang.org/x/crypto/ed25519/testdata")
878 ".*\\.gz$"))
879 #t)))))
880 (synopsis "Salsa20 in Go")
881 (description "This packages provides a Go implementation of the Salsa20
882stream cipher.")
883 (home-page "https://go.googlesource.com/crypto/")
884 (license license:bsd-3))))
885
886(define-public go-golang-org-x-crypto-cast5
887 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
888 (revision "1"))
889 (package
890 (name "go-golang-org-x-crypto-cast5")
891 (version (git-version "0.0.0" revision commit))
892 (source (origin
893 (method git-fetch)
894 (uri (git-reference
895 (url "https://go.googlesource.com/crypto")
896 (commit commit)))
897 (file-name (string-append "go.googlesource.com-crypto-"
898 version "-checkout"))
899 (sha256
900 (base32
901 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
902 (build-system go-build-system)
903 (arguments
904 `(#:import-path "golang.org/x/crypto/cast5"
905 #:unpack-path "golang.org/x/crypto"
906 #:phases
907 (modify-phases %standard-phases
908 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
909 (lambda* (#:key outputs #:allow-other-keys)
910 (map (lambda (file)
911 (make-file-writable file))
912 (find-files
913 (string-append (assoc-ref outputs "out")
914 "/src/golang.org/x/crypto/ed25519/testdata")
915 ".*\\.gz$"))
916 #t)))))
917 (synopsis "Cast5 in Go")
918 (description "This packages provides a Go implementation of the Cast5
919symmetric-key block cipher.")
920 (home-page "https://go.googlesource.com/crypto/")
921 (license license:bsd-3))))
922
923(define-public go-golang-org-x-crypto-twofish
924 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
925 (revision "1"))
926 (package
927 (name "go-golang-org-x-crypto-twofish")
928 (version (git-version "0.0.0" revision commit))
929 (source (origin
930 (method git-fetch)
931 (uri (git-reference
932 (url "https://go.googlesource.com/crypto")
933 (commit commit)))
934 (file-name (string-append "go.googlesource.com-crypto-"
935 version "-checkout"))
936 (sha256
937 (base32
938 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
939 (build-system go-build-system)
940 (arguments
941 `(#:import-path "golang.org/x/crypto/twofish"
942 #:unpack-path "golang.org/x/crypto"
943 #:phases
944 (modify-phases %standard-phases
945 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
946 (lambda* (#:key outputs #:allow-other-keys)
947 (map (lambda (file)
948 (make-file-writable file))
949 (find-files
950 (string-append (assoc-ref outputs "out")
951 "/src/golang.org/x/crypto/ed25519/testdata")
952 ".*\\.gz$"))
953 #t)))))
954 (synopsis "Twofish in Go")
955 (description "This packages provides a Go implementation of the Twofish
956symmetric-key block cipher.")
957 (home-page "https://go.googlesource.com/crypto/")
958 (license license:bsd-3))))
959
960(define-public go-golang-org-x-crypto-xtea
961 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
962 (revision "1"))
963 (package
964 (name "go-golang-org-x-crypto-xtea")
965 (version (git-version "0.0.0" revision commit))
966 (source (origin
967 (method git-fetch)
968 (uri (git-reference
969 (url "https://go.googlesource.com/crypto")
970 (commit commit)))
971 (file-name (string-append "go.googlesource.com-crypto-"
972 version "-checkout"))
973 (sha256
974 (base32
975 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
976 (build-system go-build-system)
977 (arguments
978 `(#:import-path "golang.org/x/crypto/xtea"
979 #:unpack-path "golang.org/x/crypto"
980 #:phases
981 (modify-phases %standard-phases
982 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
983 (lambda* (#:key outputs #:allow-other-keys)
984 (map (lambda (file)
985 (make-file-writable file))
986 (find-files
987 (string-append (assoc-ref outputs "out")
988 "/src/golang.org/x/crypto/ed25519/testdata")
989 ".*\\.gz$"))
990 #t)))))
991 (synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
992 (description "This package provides a Go implementation of the eXtended
993Tiny Encryption Algorithm (XTEA) block cipher.")
994 (home-page "https://go.googlesource.com/crypto/")
995 (license license:bsd-3))))
996
997(define-public go-golang-org-x-net-ipv4
998 (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
999 (revision "1"))
1000 (package
1001 (name "go-golang-org-x-net-ipv4")
1002 (version (git-version "0.0.0" revision commit))
1003 (source (origin
1004 (method git-fetch)
1005 (uri (git-reference
1006 (url "https://go.googlesource.com/net")
1007 (commit commit)))
1008 (file-name (git-file-name name version))
1009 (sha256
1010 (base32
1011 "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
1012 (build-system go-build-system)
1013 (arguments
1014 `(#:import-path "golang.org/x/net/ipv4"
1015 #:unpack-path "golang.org/x/net"))
1016 (synopsis "Go IPv4 support")
1017 (description "This package provides @code{ipv4}, which implements IP-level
1018socket options for the Internet Protocol version 4.")
1019 (home-page "https://go.googlesource.com/net")
1020 (license license:bsd-3))))
1021
1022(define-public go-golang-org-x-net-bpf
1023 (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
1024 (revision "1"))
1025 (package
1026 (name "go-golang-org-x-net-bpf")
1027 (version (git-version "0.0.0" revision commit))
1028 (source (origin
1029 (method git-fetch)
1030 (uri (git-reference
1031 (url "https://go.googlesource.com/net")
1032 (commit commit)))
1033 (file-name (string-append "go.googlesource.com-net-"
1034 version "-checkout"))
1035 (sha256
1036 (base32
1037 "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
1038 (build-system go-build-system)
1039 (arguments
1040 `(#:import-path "golang.org/x/net/bpf"
1041 #:unpack-path "golang.org/x/net"))
1042 (synopsis "Berkeley Packet Filters (BPF) in Go")
1043 (description "This packages provides a Go implementation of the Berkeley
1044Packet Filter (BPF) virtual machine.")
1045 (home-page "https://go.googlesource.com/net/")
1046 (license license:bsd-3))))
1047
1048(define-public go-golang-org-x-net-context
1049 (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
1050 (revision "1"))
1051 (package
1052 (name "go-golang-org-x-net-context")
1053 (version (git-version "0.0.0" revision commit))
1054 (source (origin
1055 (method git-fetch)
1056 (uri (git-reference
1057 (url "https://go.googlesource.com/net")
1058 (commit commit)))
1059 (file-name (string-append "go.googlesource.com-net-"
1060 version "-checkout"))
1061 (sha256
1062 (base32
1063 "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
1064 (build-system go-build-system)
1065 (arguments
1066 `(#:import-path "golang.org/x/net/context"
1067 #:unpack-path "golang.org/x/net"))
1068 (synopsis "Golang Context type")
1069 (description "This packages provides @code{context}, which defines the
1070Context type, which carries deadlines, cancelation signals, and other
1071request-scoped values across API boundaries and between processes.")
1072 (home-page "https://go.googlesource.com/net/")
1073 (license license:bsd-3))))
1074
1075(define-public go-golang-org-x-net-internal-iana
1076 (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
1077 (revision "1"))
1078 (package
1079 (name "go-golang-org-x-net-internal-iana")
1080 (version (git-version "0.0.0" revision commit))
1081 (source (origin
1082 (method git-fetch)
1083 (uri (git-reference
1084 (url "https://go.googlesource.com/net")
1085 (commit commit)))
1086 (file-name (string-append "go.googlesource.com-net-"
1087 version "-checkout"))
1088 (sha256
1089 (base32
1090 "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
1091 (build-system go-build-system)
1092 (arguments
1093 `(#:import-path "golang.org/x/net/internal/iana"
1094 #:unpack-path "golang.org/x/net"))
1095 (synopsis "Go support for assigned numbers (IANA)")
1096 (description "This packages provides @code{iana}, which provides protocol
1097number resources managed by the Internet Assigned Numbers Authority (IANA).")
1098 (home-page "https://go.googlesource.com/net/")
1099 (license license:bsd-3))))
1100
1101(define-public go-golang-org-x-net-ipv6
1102 (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
1103 (revision "1"))
1104 (package
1105 (name "go-golang-org-x-net-ipv6")
1106 (version (git-version "0.0.0" revision commit))
1107 (source (origin
1108 (method git-fetch)
1109 (uri (git-reference
1110 (url "https://go.googlesource.com/net")
1111 (commit commit)))
1112 (file-name (string-append "go.googlesource.com-net-"
1113 version "-checkout"))
1114 (sha256
1115 (base32
1116 "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
1117 (build-system go-build-system)
1118 (arguments
1119 `(#:import-path "golang.org/x/net/ipv6"
1120 #:unpack-path "golang.org/x/net"))
1121 (synopsis "Go IPv6 support")
1122 (description "This packages provides @code{ipv6}, which implements
1123IP-level socket options for the Internet Protocol version 6.")
1124 (home-page "https://go.googlesource.com/net")
1125 (license license:bsd-3))))
1126
1127(define-public go-golang-org-x-net-proxy
1128 (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
1129 (revision "1"))
1130 (package
1131 (name "go-golang-org-x-net-proxy")
1132 (version (git-version "0.0.0" revision commit))
1133 (source (origin
1134 (method git-fetch)
1135 (uri (git-reference
1136 (url "https://go.googlesource.com/net")
1137 (commit commit)))
1138 (file-name (string-append "go.googlesource.com-net-"
1139 version "-checkout"))
1140 (sha256
1141 (base32
1142 "10iahqcsiih5hgmqw8yfgv5b3fimfwl1skxg5062avcjjks59f03"))))
1143 (build-system go-build-system)
1144 (arguments
1145 `(#:import-path "golang.org/x/net/proxy"
1146 #:unpack-path "golang.org/x/net/"))
1147 (synopsis "Go support for network proxies")
1148 (description "This packages provides @code{proxy}, which provides support
1149for a variety of protocols to proxy network data.")
1150 (home-page "https://go.googlesource.com/net")
1151 (license license:bsd-3))))
1152
1153(define-public go-golang-org-x-sys-unix
1154 (let ((commit "83801418e1b59fb1880e363299581ee543af32ca")
1155 (revision "1"))
1156 (package
1157 (name "go-golang-org-x-sys-unix")
1158 (version (git-version "0.0.0" revision commit))
1159 (source (origin
1160 (method git-fetch)
1161 (uri (git-reference
1162 (url "https://go.googlesource.com/sys")
1163 (commit commit)))
1164 (file-name (git-file-name name version))
1165 (sha256
1166 (base32
1167 "0ilykaanvnzb27d42kmbr4i37hcn7hgqbx98z945gy63aa8dskji"))))
1168 (build-system go-build-system)
1169 (arguments
1170 `(#:import-path "golang.org/x/sys/unix"
1171 #:unpack-path "golang.org/x/sys"
1172 #:phases
1173 (modify-phases %standard-phases
1174 (add-after 'unpack 'patch-tests
1175 (lambda _
1176 (pk (getcwd))
1177 (substitute* "src/golang.org/x/sys/unix/syscall_unix_test.go"
1178 (("/usr/bin") "/tmp"))
1179 #t)))))
1180 (synopsis "Go support for low-level system interaction")
1181 (description "This package provides @code{unix}, which offers Go support
1182for low-level interaction with the operating system.")
1183 (home-page "https://go.googlesource.com/sys")
1184 (license license:bsd-3))))
1185
1186(define-public go-golang-org-x-text-transform
1187 (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
1188 (revision "1"))
1189 (package
1190 (name "go-golang-org-x-text-transform")
1191 (version (git-version "0.0.0" revision commit))
1192 (source (origin
1193 (method git-fetch)
1194 (uri (git-reference
1195 (url "https://go.googlesource.com/text")
1196 (commit commit)))
1197 (file-name (string-append "go.googlesource.com-text-"
1198 version "-checkout"))
1199 (sha256
1200 (base32
1201 "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w"))))
1202 (build-system go-build-system)
1203 (arguments
1204 `(#:import-path "golang.org/x/text/transform"
1205 #:unpack-path "golang.org/x/text"))
1206 (synopsis "Go text transformation")
1207 (description "This package provides @code{transform}, which provides
1208reader and writer wrappers that transform the bytes passing through. Example
1209transformations provided by other packages include normalization and conversion
1210between character sets.")
1211 (home-page "https://go.googlesource.com/text")
1212 (license license:bsd-3))))
1213
1214(define-public go-golang-org-x-text-unicode-norm
1215 (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3")
1216 (revision "1"))
1217 (package
1218 (name "go-golang-org-x-text-unicode-norm")
1219 (version (git-version "0.0.0" revision commit))
1220 (source (origin
1221 (method git-fetch)
1222 (uri (git-reference
1223 (url "https://go.googlesource.com/text")
1224 (commit commit)))
1225 (file-name (string-append "go.googlesource.com-text-"
1226 version "-checkout"))
1227 (sha256
1228 (base32
1229 "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w"))))
1230 (build-system go-build-system)
1231 (arguments
1232 `(#:import-path "golang.org/x/text/unicode/norm"
1233 #:unpack-path "golang.org/x/text"))
1234 (synopsis "Unicode normalization in Go")
1235 (description "This package provides @code{norm}, which contains types and
1236functions for normalizing Unicode strings.")
1237 (home-page "https://go.googlesource.com/text")
1238 (license license:bsd-3))))
1239
1240(define-public go-golang-org-x-time-rate
1241 (let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7")
1242 (revision "1"))
1243 (package
1244 (name "go-golang-org-x-time-rate")
1245 (version (git-version "0.0.0" revision commit))
1246 (source (origin
1247 (method git-fetch)
1248 (uri (git-reference
1249 (url "https://go.googlesource.com/time")
1250 (commit commit)))
1251 (file-name (git-file-name name version))
1252 (sha256
1253 (base32
1254 "1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk"))))
1255 (build-system go-build-system)
1256 (arguments
1257 `(#:import-path "golang.org/x/time/rate"
1258 #:unpack-path "golang.org/x/time"))
1259 (propagated-inputs
1260 `(("go-golang-org-x-net-context" ,go-golang-org-x-net-context)))
1261 (synopsis "Rate limiting in Go")
1262 (description "This package provides @{rate}, which implements rate
1263limiting in Go.")
1264 (home-page "https://godoc.org/golang.org/x/time/rate")
1265 (license license:bsd-3))))
e60352e4
1266
1267(define-public go-golang-org-x-crypto-ssh-terminal
1268 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
1269 (revision "1"))
1270 (package
1271 (name "go-golang-org-x-crypto-ssh-terminal")
1272 (version (git-version "0.0.0" revision commit))
1273 (source (origin
1274 (method git-fetch)
1275 (uri (git-reference
1276 (url "https://go.googlesource.com/crypto")
1277 (commit commit)))
1278 (file-name (string-append "go.googlesource.com-crypto-"
1279 version "-checkout"))
1280 (sha256
1281 (base32
1282 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
1283 (build-system go-build-system)
1284 (inputs
1285 `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
1286 (arguments
1287 `(#:import-path "golang.org/x/crypto/ssh/terminal"
1288 #:unpack-path "golang.org/x/crypto"
1289 #:phases
1290 (modify-phases %standard-phases
1291 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1292 (lambda* (#:key outputs #:allow-other-keys)
1293 (map (lambda (file)
1294 (make-file-writable file))
1295 (find-files
1296 (string-append (assoc-ref outputs "out")
1297 "/src/golang.org/x/crypto/ed25519/testdata")
1298 ".*\\.gz$"))
1299 #t)))))
1300 (synopsis "Terminal functions for Go")
1301 (description "This package provides @{terminal}, which implements
1302support functions for dealing with terminals, as commonly found on UNIX
1303systems.")
1304 (home-page "https://go.googlesource.com/crypto/")
1305 (license license:bsd-3))))
fb50664f
PAR
1306
1307(define-public go-github-com-burntsushi-toml
1308 (let ((commit
1309 "a368813c5e648fee92e5f6c30e3944ff9d5e8895")
1310 (revision "0"))
1311 (package
1312 (name "go-github-com-burntsushi-toml")
1313 (version (git-version "0.0.0" revision commit))
1314 (source
1315 (origin
1316 (method git-fetch)
1317 (uri (git-reference
1318 (url "https://github.com/BurntSushi/toml.git")
1319 (commit commit)))
1320 (file-name (git-file-name name version))
1321 (sha256
1322 (base32
1323 "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5"))))
1324 (build-system go-build-system)
1325 (arguments
1326 '(#:import-path "github.com/BurntSushi/toml"))
1327 (home-page "https://github.com/BurntSushi/toml")
1328 (synopsis "Toml parser and encoder for Go")
1329 (description "This package is toml parser and encoder for Go. The
1330interface is similar to Go's standard library @code{json} and @code{xml}
1331package.")
1332 (license license:expat))))
8c5a69aa
PAR
1333
1334(define-public go-github-com-getsentry-raven-go
1335 (let ((commit
1336 "dffeb57df75d6a911f00232155194e43d79d38d7")
1337 (revision "0"))
1338 (package
1339 (name "go-github-com-getsentry-raven-go")
1340 (version (git-version "0.0.0" revision commit))
1341 (source
1342 (origin
1343 (method git-fetch)
1344 (uri (git-reference
1345 (url "https://github.com/getsentry/raven-go.git")
1346 (commit commit)))
1347 (file-name (git-file-name name version))
1348 (sha256
1349 (base32
1350 "13sb9rvl3369m7fah3ss9g0hwky259snqfn8gmbr0h5zvp651lja"))))
1351 (build-system go-build-system)
1352 (arguments
1353 '(#:import-path "github.com/getsentry/raven-go"))
1354 (home-page
1355 "https://github.com/getsentry/raven-go")
1356 (synopsis "Sentry client in Go")
1357 (description "This package is Go client API for the Sentry event/error
1358logging system.")
1359 (license license:bsd-3))))
0972411a
PAR
1360
1361(define-public go-github-com-hashicorp-go-version
1362 (let ((commit
1363 "03c5bf6be031b6dd45afec16b1cf94fc8938bc77")
1364 (revision "0"))
1365 (package
1366 (name "go-github-com-hashicorp-go-version")
1367 (version (git-version "0.0.0" revision commit))
1368 (source
1369 (origin
1370 (method git-fetch)
1371 (uri (git-reference
1372 (url "https://github.com/hashicorp/go-version.git")
1373 (commit commit)))
1374 (file-name (git-file-name name version))
1375 (sha256
1376 (base32
1377 "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik"))))
1378 (build-system go-build-system)
1379 (arguments
1380 '(#:import-path "github.com/hashicorp/go-version"))
1381 (home-page
1382 "https://github.com/hashicorp/go-version")
1383 (synopsis "Go library for parsing and verifying versions and version
1384constraints")
1385 (description "This package is a library for parsing versions and version
1386constraints, and verifying versions against a set of constraints. It can sort
1387a collection of versions properly, handles prerelease/beta versions, can
1388increment versions.")
1389 (license license:mpl2.0))))
c4230cda
PAR
1390
1391(define-public go-github-com-jpillora-backoff
1392 (let ((commit
1393 "06c7a16c845dc8e0bf575fafeeca0f5462f5eb4d")
1394 (revision "0"))
1395 (package
1396 (name "go-github-com-jpillora-backoff")
1397 (version (git-version "0.0.0" revision commit))
1398 (source
1399 (origin
1400 (method git-fetch)
1401 (uri (git-reference
1402 (url "https://github.com/jpillora/backoff.git")
1403 (commit commit)))
1404 (file-name (git-file-name name version))
1405 (sha256
1406 (base32
1407 "0xhvxr7bm47czdc5hy3kl508z3y4j91i2jm7vg774i52zych6k4l"))))
1408 (build-system go-build-system)
1409 (arguments
1410 '(#:import-path "github.com/jpillora/backoff"))
1411 (home-page "https://github.com/jpillora/backoff")
1412 (synopsis "Simple exponential backoff counter in Go")
1413 (description "This package is a simple exponential backoff counter in
1414Go.")
1415 (license license:expat))))
28380e0e
PAR
1416
1417(define-public go-github-com-stretchr-testify
1418 (let ((commit
1419 "b1f989447a57594c728884458a39abf3a73447f7")
1420 (revision "0"))
1421 (package
1422 (name "go-github-com-stretchr-testify")
1423 (version (git-version "1.1.4" revision commit))
1424 (source
1425 (origin
1426 (method git-fetch)
1427 (uri (git-reference
1428 (url "https://github.com/stretchr/testify.git")
1429 (commit commit)))
1430 (file-name (git-file-name name version))
1431 (sha256
1432 (base32
1433 "0p0gkqzh2p8r5g0rxm885ljl7ghih7h7hx9w562imx5ka0vdgixv"))))
1434 (build-system go-build-system)
1435 (arguments
1436 '(#:import-path "github.com/stretchr/testify"))
1437 (home-page "https://github.com/stretchr/testify")
1438 (synopsis "Go helper library for tests and invariant checking")
1439 (description "This package provide many tools for testifying that your
1440code will behave as you intend.
1441
1442Features include:
1443@itemize
1444@item Easy assertions
1445@item Mocking
1446@item HTTP response trapping
1447@item Testing suite interfaces and functions.
1448@end itemize")
1449 (license license:expat))))
21290c35
PAR
1450
1451(define-public go-github-com-tevino-abool
1452 (let ((commit
1453 "3c25f2fe7cd0ef3eabefce1d90efd69a65d35b12")
1454 (revision "0"))
1455 (package
1456 (name "go-github-com-tevino-abool")
1457 (version (git-version "0.0.0" revision commit))
1458 (source
1459 (origin
1460 (method git-fetch)
1461 (uri (git-reference
1462 (url "https://github.com/tevino/abool.git")
1463 (commit commit)))
1464 (file-name (git-file-name name version))
1465 (sha256
1466 (base32
1467 "1wxqrclxk93q0aj15z596dx2y57x9nkhi64nbrr5cxnhxn8vwixm"))))
1468 (build-system go-build-system)
1469 (arguments
1470 '(#:import-path "github.com/tevino/abool"))
1471 (home-page "https://github.com/tevino/abool")
1472 (synopsis "Atomic boolean library for Go code")
1473 (description "This package is atomic boolean library for Go code,
1474optimized for performance yet simple to use.")
1475 (license license:expat))))
7c2ebbd4
PAR
1476
1477(define-public go-github-com-urfave-cli
1478 (let ((commit "cfb38830724cc34fedffe9a2a29fb54fa9169cd1")
1479 (revision "0"))
1480 (package
1481 (name "go-github-com-urfave-cli")
1482 (version (git-version "0.0.0" revision commit))
1483 (source
1484 (origin
1485 (method git-fetch)
1486 (uri (git-reference
1487 (url "https://github.com/urfave/cli.git")
1488 (commit commit)))
1489 (file-name (git-file-name name version))
1490 (sha256
1491 (base32
1492 "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj"))))
1493 (build-system go-build-system)
1494 (arguments
1495 '(#:import-path "github.com/urfave/cli"))
1496 (home-page "https://github.com/urfave/cli")
1497 (synopsis "Library for building command-line interfaces in Go")
1498 (description "This package provides a library for building command-line
1499interfaces in Go.")
1500 (license license:expat))))
67836c59
PAR
1501
1502(define-public go-github-com-blang-semver
1503 (let ((commit "60ec3488bfea7cca02b021d106d9911120d25fe9")
1504 (revision "0"))
1505 (package
1506 (name "go-github-com-blang-semver")
1507 (version (git-version "0.0.0" revision commit))
1508 (source
1509 (origin
1510 (method git-fetch)
1511 (uri (git-reference
1512 (url "https://github.com/blang/semver.git")
1513 (commit commit)))
1514 (file-name (git-file-name name version))
1515 (sha256
1516 (base32
1517 "19pli07y5592g4dyjyj0jq5rn548vc3fz0qg3624vm1j5828p1c2"))))
1518 (build-system go-build-system)
1519 (arguments
1520 '(#:import-path "github.com/blang/semver"))
1521 (home-page "https://github.com/blang/semver")
1522 (synopsis "Semantic versioning library written in Go")
1523 (description "Semver is a library for Semantic versioning written in Go.")
1524 (license license:expat))))
1525
7979f7df
PAR
1526(define-public go-github-com-emicklei-go-restful
1527 (let ((commit "89ef8af493ab468a45a42bb0d89a06fccdd2fb22")
1528 (revision "0"))
1529 (package
1530 (name "go-github-com-emicklei-go-restful")
1531 (version (git-version "0.0.0" revision commit))
1532 (source
1533 (origin
1534 (method git-fetch)
1535 (uri (git-reference
1536 (url "https://github.com/emicklei/go-restful.git")
1537 (commit commit)))
1538 (file-name (git-file-name name version))
1539 (sha256
1540 (base32
1541 "0rrlfcfq80fkxifpih6bq31vavb5mf4530xz51pp9pq1mn2fzjfh"))))
1542 (build-system go-build-system)
1543 (arguments
1544 '(#:import-path "github.com/emicklei/go-restful"))
1545 (home-page "https://github.com/emicklei/go-restful")
1546 (synopsis "Build REST-style web services using Go")
1547 (description "This package provides @code{go-restful}, which helps
1548developers to use @code{http} methods explicitly and in a way that's consistent
1549with the HTTP protocol definition.")
1550 (license license:expat))))
73fe19ef
PAR
1551
1552(define-public go-github-com-google-cadvisor
1553 (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd")
1554 (revision "0"))
1555 (package
1556 (name "go-github-com-google-cadvisor")
1557 (version (git-version "0.0.0" revision commit))
1558 (source
1559 (origin
1560 (method git-fetch)
1561 (uri (git-reference
1562 (url "https://github.com/google/cadvisor.git")
1563 (commit commit)))
1564 (file-name (git-file-name name version))
1565 (sha256
1566 (base32
1567 "1w8p345z5j0gk3yiq5ah0znd5lfh348p2s624k5r10drz04p3f55"))))
1568 (build-system go-build-system)
1569 (arguments
1570 '(#:import-path "github.com/google/cadvisor"))
1571 (home-page "https://github.com/google/cadvisor")
1572 (synopsis "Analyze resource usage of running containers")
1573 (description "The package provides @code{cadvisor}, which provides
1574information about the resource usage and preformance characteristics of running
1575containers.")
1576 (license license:asl2.0))))
daed2c5e
PAR
1577
1578(define-public go-github-com-google-gofuzz
1579 (let ((commit "fd52762d25a41827db7ef64c43756fd4b9f7e382")
1580 (revision "0"))
1581 (package
1582 (name "go-github-com-google-gofuzz")
1583 (version (git-version "0.0.0" revision commit))
1584 (source
1585 (origin
1586 (method git-fetch)
1587 (uri (git-reference
1588 (url "https://github.com/google/gofuzz.git")
1589 (commit commit)))
1590 (file-name (git-file-name name version))
1591 (sha256
1592 (base32
1593 "1yxmmr73h0lq7ryf3q9a7pcm2x5xrg4d5bxkq8n5pxwxwyq26kw8"))))
1594 (build-system go-build-system)
1595 (arguments
1596 '(#:import-path "github.com/google/gofuzz"))
1597 (home-page "https://github.com/google/gofuzz")
1598 (synopsis "Fuzz testing library for Go")
1599 (description "Gofuzz is a library for populationg Go objects with random
1600values for the purpose of fuzz testing.")
1601 (license license:asl2.0))))
9cf879a5
PAR
1602
1603(define-public go-github-com-gorilla-context
1604 (let ((commit "08b5f424b9271eedf6f9f0ce86cb9396ed337a42")
1605 (revision "0"))
1606 (package
1607 (name "go-github-com-gorilla-context")
1608 (version (git-version "0.0.0" revision commit))
1609 (source
1610 (origin
1611 (method git-fetch)
1612 (uri (git-reference
1613 (url "https://github.com/gorilla/context.git")
1614 (commit commit)))
1615 (file-name (git-file-name name version))
1616 (sha256
1617 (base32
1618 "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4"))))
1619 (build-system go-build-system)
1620 (arguments
1621 '(#:import-path "github.com/gorilla/context"))
1622 (home-page "https://github.com/gorilla/context")
1623 (synopsis "Go registry for request variables")
1624 (description "This package provides @code{gorilla/context}, which is a general purpose registry for global request variables in the Go programming language.")
1625 (license license:bsd-3))))
e8cdf560
PAR
1626
1627(define-public go-github-com-gorilla-mux
1628 (let ((commit "599cba5e7b6137d46ddf58fb1765f5d928e69604")
1629 (revision "0"))
1630 (package
1631 (name "go-github-com-gorilla-mux")
1632 (version (git-version "0.0.0" revision commit))
1633 (source
1634 (origin
1635 (method git-fetch)
1636 (uri (git-reference
1637 (url "https://github.com/gorilla/mux.git")
1638 (commit commit)))
1639 (file-name (git-file-name name version))
1640 (sha256
1641 (base32
1642 "0wd6jjii1kg5s0nk3ri6gqriz6hbd6bbcn6x4jf8n7ncrb8qsxyz"))))
1643 (build-system go-build-system)
1644 (arguments
1645 '(#:import-path "github.com/gorilla/mux"))
1646 (home-page "https://github.com/gorilla/mux")
1647 (synopsis "URL router and dispatcher for Go")
1648 (description
1649 "Gorilla/Mux implements a request router and dispatcher for matching
1650incoming requests with their respective handler.")
1651 (license license:bsd-3))))
bcb21790
PAR
1652
1653(define-public go-github-com-jonboulle-clockwork
1654 (let ((commit "e3653ace2d63753697e0e5b07b9393971c0bba9d")
1655 (revision "0"))
1656 (package
1657 (name "go-github-com-jonboulle-clockwork")
1658 (version (git-version "0.0.0" revision commit))
1659 (source
1660 (origin
1661 (method git-fetch)
1662 (uri (git-reference
1663 (url "https://github.com/jonboulle/clockwork.git")
1664 (commit commit)))
1665 (file-name (git-file-name name version))
1666 (sha256
1667 (base32
1668 "1avzqhks12a8x2yzpvjsf3k0gv9cy7zx2z88hn0scacnxkphisvc"))))
1669 (build-system go-build-system)
1670 (arguments
1671 '(#:import-path "github.com/jonboulle/clockwork"))
1672 (home-page "https://github.com/jonboulle/clockwork")
1673 (synopsis "Fake clock library for Go")
1674 (description
1675 "Replace uses of the @code{time} package with the
1676@code{clockwork.Clock} interface instead.")
1677 (license license:asl2.0))))
76a2b278
PAR
1678
1679(define-public go-github-com-spf13-pflag
1680 (let ((commit "4f9190456aed1c2113ca51ea9b89219747458dc1")
1681 (revision "0"))
1682 (package
1683 (name "go-github-com-spf13-pflag")
1684 (version (git-version "0.0.0" revision commit))
1685 (source
1686 (origin
1687 (method git-fetch)
1688 (uri (git-reference
1689 (url "https://github.com/spf13/pflag.git")
1690 (commit commit)))
1691 (file-name (git-file-name name version))
1692 (sha256
1693 (base32
1694 "12vrlcsbwjqlfc49rwky45mbcj74c0kb6z54354pzas6fwzyi1kc"))))
1695 (build-system go-build-system)
1696 (arguments
1697 '(#:import-path "github.com/spf13/pflag"))
1698 (home-page "https://github.com/spf13/pflag")
1699 (synopsis "Replacement for Go's @code{flag} package")
1700 (description
1701 "Pflag is library to replace Go's @code{flag} package. It implements
1702POSIX/GNU-style command-line options with double hyphens. It is is compatible
1703with the
1704@uref{https://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html,
1705GNU extensions} to the POSIX recommendations for command-line options.")
1706 (license license:bsd-3))))
7427b2c6
PAR
1707
1708(define-public go-github-com-sirupsen-logrus
1709 (package
1710 (name "go-github-com-sirupsen-logrus")
1711 (version "1.0.5")
1712 (source
1713 (origin
1714 (method git-fetch)
1715 (uri (git-reference
1716 (url "https://github.com/sirupsen/logrus.git")
1717 (commit (string-append "v" version))))
1718 (sha256
1719 (base32
1720 "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz"))))
1721 (build-system go-build-system)
1722 (native-inputs
1723 `(("go-golang-org-x-crypto-ssh-terminal"
1724 ,go-golang-org-x-crypto-ssh-terminal)
1725 ("go-github-com-stretchr-testify"
1726 ,go-github-com-stretchr-testify)
1727 ("go-golang-org-x-sys-unix"
1728 ,go-golang-org-x-sys-unix)))
1729 (arguments
1730 '(#:tests? #f ;FIXME missing dependencies
1731 #:import-path "github.com/sirupsen/logrus"))
1732 (home-page "https://github.com/sirupsen/logrus")
1733 (synopsis "Structured, pluggable logging for Go")
1734 (description "Logrus is a structured logger for Go, completely API
1735compatible with the standard library logger.")
1736 (license license:expat)))
5cc2b845
LF
1737
1738(define-public go-github-com-kardianos-osext
1739 (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
1740 (revision "1"))
1741 (package
1742 (name "go-github-com-kardianos-osext")
1743 (version (git-version "0.0.0" revision commit))
1744 (source (origin
1745 (method git-fetch)
1746 (uri (git-reference
1747 (url "https://github.com/kardianos/osext")
1748 (commit commit)))
1749 (file-name (git-file-name name version))
1750 (sha256
1751 (base32
1752 "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"))))
1753 (build-system go-build-system)
1754 (arguments
1755 `(#:import-path "github.com/kardianos/osext"
1756 ;; The tests are flaky:
1757 ;; <https://github.com/kardianos/osext/issues/21>
1758 #:tests? #f))
1759 (synopsis "Find the running executable")
1760 (description "Osext provides a method for finding the current executable
1761file that is running. This can be used for upgrading the current executable or
1762finding resources located relative to the executable file.")
1763 (home-page "https://github.com/kardianos/osext")
1764 (license license:bsd-3))))
aed4944d
PAR
1765
1766(define-public go-github-com-ayufan-golang-kardianos-service
1767 (let ((commit "0c8eb6d8fff2e2fb884a7bfd23e183fb63c0eff3")
1768 (revision "0"))
1769 (package
1770 (name "go-github-com-ayufan-golang-kardianos-service")
1771 (version (git-version "0.0.0" revision commit))
1772 (source
1773 (origin
1774 (method git-fetch)
1775 (uri (git-reference
1776 (url
1777 "https://github.com/ayufan/golang-kardianos-service.git")
1778 (commit commit)))
1779 (file-name (git-file-name name version))
1780 (sha256
1781 (base32
1782 "0x0cn7l5gda2khsfypix7adxd5yqighzn04mxjw6hc4ayrh7his5"))))
1783 (build-system go-build-system)
1784 (native-inputs
1785 `(("go-github-com-kardianos-osext"
1786 ,go-github-com-kardianos-osext)))
1787 (arguments
1788 '(#:tests? #f ;FIXME tests fail: Service is not running.
1789 #:import-path "github.com/ayufan/golang-kardianos-service"))
1790 (home-page "https://github.com/ayufan/golang-kardianos-service")
1791 (synopsis "Go interface to a variety of service supervisors")
1792 (description "This package provides @code{service}, a Go module that can
1793run programs as a service using a variety of supervisors, including systemd,
1794SysVinit, and more.")
1795 (license license:zlib))))
e2826118
PAR
1796
1797(define-public go-github-com-docker-distribution
1798 (let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329")
1799 (revision "0"))
1800 (package
1801 (name "go-github-com-docker-distribution")
1802 (version (git-version "0.0.0" revision commit))
1803 (source
1804 ;; FIXME: This bundles many things, see
1805 ;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31881#41>.
1806 (origin
1807 (method git-fetch)
1808 (uri (git-reference
1809 (url "https://github.com/docker/distribution")
1810 (commit commit)))
1811 (file-name (git-file-name name version))
1812 (sha256
1813 (base32
1814 "1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6"))))
1815 (build-system go-build-system)
1816 (native-inputs
1817 `(("go-golang-org-x-sys-unix"
1818 ,go-golang-org-x-sys-unix)
1819 ("go-github-com-sirupsen-logrus"
1820 ,go-github-com-sirupsen-logrus)
1821 ("go-golang-org-x-crypto-ssh-terminal"
1822 ,go-golang-org-x-crypto-ssh-terminal)))
1823 (arguments
1824 '(#:import-path "github.com/docker/distribution"
1825 #:phases
1826 (modify-phases %standard-phases
1827 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1828 (lambda* (#:key outputs #:allow-other-keys)
1829 (map (lambda (file)
1830 (make-file-writable file))
1831 (find-files
1832 (assoc-ref outputs "out")
1833 ".*\\.gz$"))
1834 #t)))))
1835 (home-page
1836 "https://github.com/docker/distribution")
1837 (synopsis "This package is Docker toolset to pack, ship, store, and
1838deliver content")
1839 (description "Docker Distribution is Docker toolset to pack, ship,
1840store, and deliver content. It's containe Docker Registry 2.0 and libraries
1841to interacting with distribution components.")
1842 (license license:asl2.0))))
01bcc94c
PAR
1843
1844(define-public go-github-com-docker-go-connections
1845 (let ((commit "3ede32e2033de7505e6500d6c868c2b9ed9f169d")
1846 (revision "0"))
1847 (package
1848 (name "go-github-com-docker-go-connections")
1849 (version (git-version "0.0.0" revision commit))
1850 (source
1851 (origin
1852 (method git-fetch)
1853 (uri (git-reference
1854 (url "https://github.com/docker/go-connections.git")
1855 (commit commit)))
1856 (file-name (git-file-name name version))
1857 (sha256
1858 (base32
1859 "0v1pkr8apwmhyzbjfriwdrs1ihlk6pw7izm57r24mf9jdmg3fyb0"))))
1860 (build-system go-build-system)
1861 (arguments
1862 '(#:import-path "github.com/docker/go-connections"))
1863 (home-page "https://github.com/docker/go-connections")
1864 (synopsis "Networking library for Go")
1865 (description
1866 "This packages provides a library to work with network connections in
1867the Go language. In particular it provides tools to deal with network address
1868translation (NAT), proxies, sockets, and transport layer security (TLS).")
1869 (license license:asl2.0))))
af132bcc
PAR
1870
1871(define-public go-github-com-docker-machine
1872 (let ((commit "7b7a141da84480342357c51838be142bf183b095")
1873 (revision "0"))
1874 (package
1875 (name "go-github-com-docker-machine")
1876 (version (git-version "0.0.0" revision commit))
1877 (source
1878 (origin
1879 (method git-fetch)
1880 (uri (git-reference
1881 (url "https://github.com/docker/machine.git")
1882 (commit commit)))
1883 (file-name (git-file-name name version))
1884 (sha256
1885 (base32
1886 "0bavk0lvs462yh0lnmnxi9psi5qv1x3nvzmd2b0drsahlp1gxi8s"))))
1887 (build-system go-build-system)
1888 (arguments
1889 '(#:import-path "github.com/docker/machine"))
1890 (home-page "https://github.com/docker/machine")
1891 (synopsis "Machine management for a container-centric world")
1892 (description
1893 "@dfn{Machine} lets you create Docker hosts on your computer, on
1894hosting providers, and inside your data center. It creates servers, installs
1895Docker on them, then configures the Docker client to talk to them.")
1896 (license license:asl2.0))))
d850e7a0
PAR
1897
1898(define-public go-github-com-gorhill-cronexpr
1899 (let ((commit "f0984319b44273e83de132089ae42b1810f4933b")
1900 (revision "0"))
1901 (package
1902 (name "go-github-com-gorhill-cronexpr")
1903 (version (git-version "0.0.0" revision commit))
1904 (source
1905 (origin
1906 (method git-fetch)
1907 (uri (git-reference
1908 (url "https://github.com/gorhill/cronexpr.git")
1909 (commit commit)))
1910 (file-name (git-file-name name version))
1911 (sha256
1912 (base32
1913 "0dphhhqy3i7265znv3m8n57l80dmaq6z4hsj5kgd87qd19z8x0l2"))))
1914 (build-system go-build-system)
1915 (arguments
1916 '(#:import-path "github.com/gorhill/cronexpr"))
1917 (home-page "https://github.com/gorhill/cronexpr")
1918 (synopsis "Cron expression parser in the Go language")
1919 (description
1920 "This package provides a cron expression parser in the Go language.
1921Given a cron expression and a time stamp, you can get the next time stamp
1922which satisfies the cron expression.")
1923 (license (list license:gpl3+
1924 license:asl2.0)))))
abd47216
PAR
1925
1926(define-public go-gopkg-in-check-v1
1927 (let ((commit "20d25e2804050c1cd24a7eea1e7a6447dd0e74ec")
1928 (revision "0"))
1929 (package
1930 (name "go-gopkg-in-check-v1")
1931 (version (git-version "0.0.0" revision commit))
1932 (source
1933 (origin
1934 (method git-fetch)
1935 (uri (git-reference
1936 (url "https://github.com/go-check/check")
1937 (commit commit)))
1938 (file-name (git-file-name name version))
1939 (sha256
1940 (base32
1941 "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np"))))
1942 (build-system go-build-system)
1943 (arguments
1944 '(#:import-path "gopkg.in/check.v1"))
1945 (home-page "https://gopkg.in/check.v1")
1946 (synopsis "Test framework for the Go language")
1947 (description
1948 "This package provides a test library for the Go language.")
1949 (license license:asl2.0))))