gnu: Add go-golang-org-x-net-union.
[jackhill/guix/guix.git] / gnu / packages / syncthing.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
3 ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
4 ;;;
5 ;;; This file is part of GNU Guix.
6 ;;;
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
11 ;;;
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 (define-module (gnu packages syncthing)
21 #:use-module (guix build-system go)
22 #:use-module (guix build-system trivial)
23 #:use-module (guix packages)
24 #:use-module (guix git-download)
25 #:use-module (guix licenses))
26
27 (define-public go-github-com-audriusbutkevicius-go-nat-pmp
28 (let ((commit "452c97607362b2ab5a7839b8d1704f0396b640ca")
29 (revision "0"))
30 (package
31 (name "go-github-com-audriusbutkevicius-go-nat-pmp")
32 (version (git-version "0.0.0" revision commit))
33 (source (origin
34 (method git-fetch)
35 (uri (git-reference
36 (url "https://github.com/AudriusButkevicius/go-nat-pmp")
37 (commit commit)))
38 (file-name (git-file-name name version))
39 (sha256
40 (base32 "1accmpl1llk16a19nlyy991fqrgfay6l53gb64hgmdfmqljdvbk7"))))
41 (build-system go-build-system)
42 (arguments
43 `(#:import-path "github.com/AudriusButkevicius/go-nat-pmp"))
44 (synopsis "Port mapping and discovery of external IP address")
45 (description "This packages provides a Go client for the NAT-PMP internet
46 protocol for port mapping and discovering the external IP address of a
47 firewall.")
48 (home-page "https://github.com/AudriusButkevicius/go-nat-pmp")
49 (license asl2.0))))
50
51 (define-public go-github-com-bkaradzic-go-lz4
52 (let ((commit "7224d8d8f27ef618c0a95f1ae69dbb0488abc33a")
53 (revision "0"))
54 (package
55 (name "go-github-com-bkaradzic-go-lz4")
56 (version (git-version "0.0.0" revision commit))
57 (source (origin
58 (method git-fetch)
59 (uri (git-reference
60 (url "https://github.com/bkaradzic/go-lz4")
61 (commit commit)))
62 (file-name (git-file-name name version))
63 (sha256
64 (base32
65 "10lmya17vdqg2pvqni0p73iahni48s1v11ya9a0hcz4jh5vw4dkb"))))
66 (build-system go-build-system)
67 (arguments
68 `(#:import-path "github.com/bkaradzic/go-lz4"))
69 (synopsis "LZ4 compression algorithm")
70 (description "This package provides @code{go-lz4}, a Go implementation of
71 the LZ4 compression algorithm.")
72 (home-page "https://github.com/bkaradzic/go-lz4")
73 (license bsd-2))))
74
75 (define-public go-github-com-calmh-du
76 (package
77 (name "go-github-com-calmh-du")
78 (version "1.0.1")
79 (source (origin
80 (method git-fetch)
81 (uri (git-reference
82 (url "https://github.com/calmh/du")
83 (commit (string-append "v" version))))
84 (file-name (git-file-name name version))
85 (sha256
86 (base32
87 "0qb3a6y3p9nkyn3s66k6zcm16y8n8578qh23ddj14cxf2scrr2n2"))))
88 (build-system go-build-system)
89 (arguments
90 `(#:import-path "github.com/calmh/du"))
91 (synopsis "Get total and available disk space of a given volume")
92 (description "This is a Go implementation of `du`. It provides disk usage
93 information, such as how much storage space is available, free, and used.")
94 (home-page "https://github.com/calmh/du")
95 (license public-domain)))
96
97 (define-public go-github-com-calmh-xdr
98 (let ((commit "08e072f9cb164f943a92eb59f90f3abc64ac6e8f")
99 (revision "0"))
100 (package
101 (name "go-github-com-calmh-xdr")
102 (version (git-version "2.0.1" revision commit))
103 (source (origin
104 (method git-fetch)
105 (uri (git-reference
106 (url "https://github.com/calmh/xdr")
107 (commit commit)))
108 (file-name (git-file-name name version))
109 (sha256
110 (base32
111 "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh"))))
112 (build-system go-build-system)
113 (arguments
114 `(#:import-path "github.com/calmh/xdr"))
115 (synopsis "XDR marshalling and unmarshalling")
116 (description "XDR is an External Data Representation (XDR)
117 marshalling and unmarshalling library in Go. It uses code generation and not
118 reflection.")
119 (home-page "https://github.com/calmh/xdr")
120 (license expat))))
121
122 (define-public go-github-com-d4l3k-messagediff
123 (let ((commit "29f32d820d112dbd66e58492a6ffb7cc3106312b")
124 (revision "0"))
125 (package
126 (name "go-github-com-d4l3k-messagediff")
127 (version (git-version "1.1.0" revision commit))
128 (source (origin
129 (method git-fetch)
130 (uri (git-reference
131 (url "https://github.com/d4l3k/messagediff")
132 (commit commit)))
133 (file-name (git-file-name name version))
134 (sha256
135 (base32
136 "104hl8x57ciaz7mzafg1vp9qggxcyfm8hsv9bmlihbz9ml3nyr8v"))))
137 (build-system go-build-system)
138 (arguments
139 `(#:import-path "github.com/d4l3k/messagediff"))
140 (synopsis "Diff arbitrary Go structs")
141 (description "Messagediff is a library for calculating diffs of arbitrary
142 structs in the Go programming language.")
143 (home-page "https://github.com/d4l3k/messagediff")
144 (license expat))))
145
146 (define-public go-github-com-edsrzf-mmap-go
147 (let ((commit "0bce6a6887123b67a60366d2c9fe2dfb74289d2e")
148 (revision "0"))
149 (package
150 (name "go-github-com-edsrzf-mmap-go")
151 (version (git-version "0.0.0" revision commit))
152 (source (origin
153 (method git-fetch)
154 (uri (git-reference
155 (url "https://github.com/edsrzf/mmap-go")
156 (commit commit)))
157 (file-name (git-file-name name version))
158 (sha256
159 (base32
160 "1am4m2k451bksnbiqj6lxknk4lsgmrhv0q3ajqac818vj0cpfgs9"))))
161 (build-system go-build-system)
162 (arguments
163 `(#:import-path "github.com/edsrzf/mmap-go"))
164 (synopsis "Go implementation of mmap")
165 (description "This packages provides a Go implementation of mmap.")
166 (home-page "https://github.com/edsrzf/mmap-go")
167 (license bsd-3))))
168
169 (define-public go-github-com-gobwas-glob
170 (let ((commit "51eb1ee00b6d931c66d229ceeb7c31b985563420")
171 (revision "0"))
172 (package
173 (name "go-github-com-gobwas-glob")
174 (version (git-version "0.0.0" revision commit))
175 (source (origin
176 (method git-fetch)
177 (uri (git-reference
178 (url "https://github.com/gobwas/glob")
179 (commit commit)))
180 (file-name (git-file-name name version))
181 (sha256
182 (base32
183 "090wzpwsjana1qas8ipwh1pj959gvc4b7vwybzi01f3bmd79jwlp"))))
184 (build-system go-build-system)
185 (arguments
186 `(#:import-path "github.com/gobwas/glob"))
187 (synopsis "Go globbing library")
188 (description "This packages provides a Go implementation of globs.")
189 (home-page "https://github.com/gobwas/glob")
190 (license expat))))
191
192 (define* (go-github-com-gogo-protobuf-union
193 #:optional (packages (list go-github-com-gogo-protobuf
194 go-github-com-gogo-protobuf-protoc-gen-gogo)))
195 (package
196 (name "go-github-com-gogo-protobuf-union")
197 (version (package-version go-github-com-gogo-protobuf))
198 (source #f)
199 (build-system trivial-build-system)
200 (arguments
201 '(#:modules ((guix build union))
202 #:builder (begin
203 (use-modules (ice-9 match)
204 (guix build union))
205 (match %build-inputs
206 (((names . directories) ...)
207 (union-build (assoc-ref %outputs "out")
208 directories))))))
209 (inputs (map (lambda (package)
210 (list (package-name package) package))
211 packages))
212 (synopsis "Union of Go protobuf libraries")
213 (description "This is a union of Go protobuf libraries")
214 (home-page (package-home-page go-github-com-gogo-protobuf))
215 (license (package-license go-github-com-gogo-protobuf))))
216
217 (define-public go-github-com-gogo-protobuf
218 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
219 (revision "0"))
220 (package
221 (name "go-github-com-gogo-protobuf")
222 (version (git-version "0.2" revision commit))
223 (source (origin
224 (method git-fetch)
225 (uri (git-reference
226 (url "https://github.com/gogo/protobuf")
227 (commit commit)))
228 (file-name (git-file-name name version))
229 (sha256
230 (base32
231 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
232 (build-system go-build-system)
233 (arguments
234 `(#:import-path "github.com/gogo/protobuf/proto"
235 #:unpack-path "github.com/gogo/protobuf"))
236 (propagated-inputs
237 `(("go-github-com-gogo-protobuf-protoc-gen-gogo"
238 ,go-github-com-gogo-protobuf-protoc-gen-gogo)))
239 (synopsis "Protocol Buffers for Go with Gadgets")
240 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
241 generation features. This code generation is used to achieve:
242 @itemize
243 @item fast marshalling and unmarshalling
244 @item more canonical Go structures
245 @item goprotobuf compatibility
246 @item less typing by optionally generating extra helper code
247 @item peace of mind by optionally generating test and benchmark code
248 @item other serialization formats
249 @end itemize")
250 (home-page "https://github.com/gogo/protobuf")
251 (license bsd-3))))
252
253 (define-public go-github-com-gogo-protobuf-protoc-gen-gogo
254 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
255 (revision "0"))
256 (package
257 (name "go-github-com-gogo-protobuf-protoc-gen-gogo")
258 (version (git-version "0.2" revision commit))
259 (source (origin
260 (method git-fetch)
261 (uri (git-reference
262 (url "https://github.com/gogo/protobuf")
263 (commit commit)))
264 (file-name (git-file-name name version))
265 (sha256
266 (base32
267 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
268 (build-system go-build-system)
269 (arguments
270 `(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo"
271 #:unpack-path "github.com/gogo/protobuf"))
272 (synopsis "Protocol Buffers for Go with Gadgets")
273 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
274 generation features. This code generation is used to achieve:
275 @itemize
276 @item fast marshalling and unmarshalling
277 @item more canonical Go structures
278 @item goprotobuf compatibility
279 @item less typing by optionally generating extra helper code
280 @item peace of mind by optionally generating test and benchmark code
281 @item other serialization formats
282 @end itemize")
283 (home-page "https://github.com/gogo/protobuf")
284 (license bsd-3))))
285
286 (define-public go-github-com-golang-groupcache-lru
287 (let ((commit "72d04f9fcdec7d3821820cc4a6f150eae553639a")
288 (revision "0"))
289 (package
290 (name "go-github-com-golang-groupcache-lru")
291 (version (git-version "0.0.0" revision commit))
292 (source (origin
293 (method git-fetch)
294 (uri (git-reference
295 (url "https://github.com/golang/groupcache")
296 (commit commit)))
297 (file-name (git-file-name name version))
298 (sha256
299 (base32
300 "1l3ryh7bq1f2mhr3sd3x1wav99pd27r8l3ydgqh375wn4x7v5qd6"))))
301 (build-system go-build-system)
302 (arguments
303 `(#:import-path "github.com/golang/groupcache/lru"
304 #:unpack-path "github.com/golang/groupcache"))
305 (synopsis "Groupcache is a caching and cache-filling library")
306 (description "Groupcache is a caching and cache-filling library, intended
307 as a replacement for memcached in many cases. It provides a data loading
308 mechanism with caching and de-duplication that works across a set of peer
309 processes.")
310 (home-page "https://github.com/golang/groupcache")
311 (license asl2.0))))
312
313 (define-public go-github-com-golang-snappy
314 (let ((commit "553a641470496b2327abcac10b36396bd98e45c9")
315 (revision "0"))
316 (package
317 (name "go-github-com-golang-snappy")
318 (version (git-version "0.0.0" revision commit))
319 (source (origin
320 (method git-fetch)
321 (uri (git-reference
322 (url "https://github.com/golang/snappy")
323 (commit commit)))
324 (file-name (git-file-name name version))
325 (sha256
326 (base32
327 "0kssxnih1l722hx9219c7javganjqkqhvl3i0hp0hif6xm6chvqk"))))
328 (build-system go-build-system)
329 (arguments
330 `(#:import-path "github.com/golang/snappy"))
331 (synopsis "Snappy compression format in the Go programming language")
332 (description "This package provides a Go implementation of the Snappy
333 compression format.")
334 (home-page "https://github.com/golang/snappy")
335 (license bsd-3))))
336
337 (define-public go-github-com-jackpal-gateway
338 (let ((commit "5795ac81146e01d3fab7bcf21c043c3d6a32b006")
339 (revision "0"))
340 (package
341 (name "go-github-com-jackpal-gateway")
342 (version (git-version "0.0.0" revision commit))
343 (source (origin
344 (method git-fetch)
345 (uri (git-reference
346 (url "https://github.com/jackpal/gateway")
347 (commit commit)))
348 (file-name (git-file-name name version))
349 (sha256
350 (base32
351 "0fkwkwmhfadwk3cha8616bhqxfkr9gjjnynhhxyldlphixgs3f25"))))
352 (build-system go-build-system)
353 (arguments
354 `(#:import-path "github.com/jackpal/gateway"))
355 (synopsis "Discover the address of a LAN gateway")
356 (description "@code{gateway} is a Go library for discovering the IP
357 address of the default LAN gateway.")
358 (home-page "https://github.com/jackpal/gateway")
359 (license bsd-3))))
360
361 (define-public go-github-com-kardianos-osext
362 (let ((commit "9d302b58e975387d0b4d9be876622c86cefe64be")
363 (revision "0"))
364 (package
365 (name "go-github-com-kardianos-osext")
366 (version (git-version "0.0.0" revision commit))
367 (source (origin
368 (method git-fetch)
369 (uri (git-reference
370 (url "https://github.com/kardianos/osext")
371 (commit commit)))
372 (file-name (git-file-name name version))
373 (sha256
374 (base32
375 "0r6f727s16g4f66k8c2z1xh8ga1p53hg9g2v95pmhd1i60fhy47a"))))
376 (build-system go-build-system)
377 (arguments
378 `(#:import-path "github.com/kardianos/osext"))
379 (synopsis "Find the running executable")
380 (description "Osext provides a method for finding the current executable
381 file that is running. This can be used for upgrading the current executable or
382 finding resources located relative to the executable file.")
383 (home-page "https://github.com/kardianos/osext")
384 (license bsd-3))))
385
386 (define-public go-github-com-lib-pq
387 (let ((commit "2704adc878c21e1329f46f6e56a1c387d788ff94")
388 (revision "0"))
389 (package
390 (name "go-github-com-lib-pq")
391 (version (git-version "0.0.0" revision commit))
392 (source (origin
393 (method git-fetch)
394 (uri (git-reference
395 (url "https://github.com/lib/pq")
396 (commit commit)))
397 (file-name (git-file-name name version))
398 (sha256
399 (base32
400 "160fmvi7bczxw3i3h5s821hv029ph5ld8x3c36b4cz2sr30wp110"))))
401 (build-system go-build-system)
402 (arguments
403 `(#:import-path "github.com/lib/pq"
404 ;; The tests seem to fail without access to the network or a running
405 ;; Postgres instance.
406 #:tests? #f))
407 (synopsis "Golang Postgres driver for Go's database/sql")
408 (description "This packages provides a pure Go Postgres driver for Go's
409 database/sql package.")
410 (home-page "https://github.com/lib/pq")
411 (license expat))))
412
413 (define-public go-github-com-minio-sha256-simd
414 (let ((commit "6124d070eb4e7001c244b6ccc282620a5dce44a0")
415 (revision "0"))
416 (package
417 (name "go-github-com-minio-sha256-simd")
418 (version (git-version "0.0.0" revision commit))
419 (source (origin
420 (method git-fetch)
421 (uri (git-reference
422 (url "https://github.com/minio/sha256-simd")
423 (commit commit)))
424 (file-name (git-file-name name version))
425 (sha256
426 (base32
427 "1azrdp7x7vl9ngkxs890blspz0345xhadvssdlb0435hdqa0gkll"))))
428 (build-system go-build-system)
429 (arguments
430 `(#:import-path "github.com/minio/sha256-simd"))
431 (synopsis "Hardware-accelerated SHA256 in Go using SIMD")
432 (description "This packages provides a pure Go implementation of SHA256
433 using SIMD (Single instruction, multiple data) instructions for Intel and ARM
434 architectures.")
435 (home-page "https://github.com/minio/sha256-simd")
436 (license asl2.0))))
437
438 (define-public go-github-com-oschwald-geoip2-golang
439 (let ((commit "0fd242da7906550802871efe101abfdb1cc550a8")
440 (revision "0"))
441 (package
442 (name "go-github-com-oschwald-geoip2-golang")
443 (version (git-version "0.1.0" revision commit))
444 (source (origin
445 (method git-fetch)
446 (uri (git-reference
447 (url "https://github.com/oschwald/geoip2-golang")
448 (commit commit)))
449 (file-name (git-file-name name version))
450 (sha256
451 (base32
452 "0kglnix0r5sjkk346ip30l7dwq1gv2g4wjy2cjmgjvb8x778hnww"))))
453 (build-system go-build-system)
454 (propagated-inputs
455 `(("go-github-com-oschwald-maxminddb-golang"
456 ,go-github-com-oschwald-maxminddb-golang)
457 ("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
458 (arguments
459 `(#:import-path "github.com/oschwald/geoip2-golang"
460 #:tests? #f)) ; Requires some unpackaged software and test data
461 (synopsis "MaxMind GeoIP2 reader")
462 (description "This packages provides a library for reading MaxMind
463 GeoLite2 and GeoIP2 databases in Go.")
464 (home-page "https://github.com/oschwald/geoip2-golang")
465 (license isc))))
466
467 (define-public go-github-com-oschwald-maxminddb-golang
468 (let ((commit "697da8075d2061aa8ed639346443f5d3e8c80b30")
469 (revision "0"))
470 (package
471 (name "go-github-com-oschwald-maxminddb-golang")
472 (version (git-version "0.2.0" revision commit))
473 (source (origin
474 (method git-fetch)
475 (uri (git-reference
476 (url "https://github.com/oschwald/maxminddb-golang")
477 (commit commit)))
478 (file-name (git-file-name name version))
479 (sha256
480 (base32
481 "00kkxzlvra0kcbkl56wp0dp1yw3cmfjqqlwbqy7bq5r34s7iavq0"))))
482 (build-system go-build-system)
483 (propagated-inputs
484 `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
485 (arguments
486 `(#:import-path "github.com/oschwald/maxminddb-golang"
487 #:tests? #f)) ; Requires some unpackaged software and test data
488 (synopsis "MaxMind DB Reader for Go")
489 (description "This is a Go reader for the MaxMind DB format. Although
490 this can be used to read GeoLite2 and GeoIP2 databases, @code{geoip2} provides a
491 higher-level API for doing so.")
492 (home-page "https://github.com/oschwald/maxminddb-golang")
493 (license isc))))
494
495 (define-public go-github-com-stathat-go
496 (let ((commit "74669b9f388d9d788c97399a0824adbfee78400e")
497 (revision "0"))
498 (package
499 (name "go-github-com-stathat-go")
500 (version (git-version "0.0.0" revision commit))
501 (source (origin
502 (method git-fetch)
503 (uri (git-reference
504 (url "https://github.com/stathat/go")
505 (commit commit)))
506 (file-name (git-file-name name version))
507 (sha256
508 (base32
509 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw"))))
510 (build-system go-build-system)
511 (arguments
512 `(#:import-path "github.com/stathat/go"))
513 (synopsis "Post statistics to StatHat")
514 (description "This is a Go package for posting to a StatHat account.")
515 (home-page "https://github.com/stathat/go")
516 (license expat))))
517
518 (define-public go-github-com-rcrowley-go-metrics
519 (let ((commit "1f30fe9094a513ce4c700b9a54458bbb0c96996c")
520 (revision "0"))
521 (package
522 (name "go-github-com-rcrowley-go-metrics")
523 (version (git-version "0.0.0" revision commit))
524 (source (origin
525 (method git-fetch)
526 (uri (git-reference
527 (url "https://github.com/rcrowley/go-metrics")
528 (commit commit)))
529 (file-name (git-file-name name version))
530 (sha256
531 (base32
532 "1hvbiaq4b6dqgjz6jkkxglfh9gf71zin6qsg508sh0r0ixfavrzj"))))
533 (build-system go-build-system)
534 (arguments
535 `(#:import-path "github.com/rcrowley/go-metrics"))
536 (propagated-inputs
537 `(("go-github-com-stathat-go" ,go-github-com-stathat-go)))
538 (synopsis "Go port of Coda Hale's Metrics library")
539 (description "This package provides a Go implementation of Coda Hale's
540 Metrics library.")
541 (home-page "https://github.com/rcrowley/go-metrics")
542 (license bsd-2))))
543
544 (define-public go-github-com-sasha-s-go-deadlock
545 (let ((commit "341000892f3dd25f440e6231e8533eb3688ed7ec")
546 (revision "0"))
547 (package
548 (name "go-github-com-sasha-s-go-deadlock")
549 (version (git-version "0.1.0" revision commit))
550 (source (origin
551 (method git-fetch)
552 (uri (git-reference
553 (url "https://github.com/sasha-s/go-deadlock")
554 (commit commit)))
555 (file-name (git-file-name name version))
556 (sha256
557 (base32
558 "1bcdyxwm5qpqynxahwaahbqi7ghgdajmg7b4276pdalkxkxkhsv8"))))
559 (build-system go-build-system)
560 (arguments
561 `(#:import-path "github.com/sasha-s/go-deadlock"))
562 (propagated-inputs
563 `(("go-github-com-petermattis-goid" ,go-github-com-petermattis-goid)))
564 (synopsis "Deadlock detection in go")
565 (description "This package provides tools for detecting deadlocks at
566 run-time in Go.")
567 (home-page "https://github.com/sasha-s/go-deadlock")
568 (license asl2.0))))
569
570 (define-public go-github-com-syndtr-goleveldb
571 (let ((commit "3c5717caf1475fd25964109a0fc640bd150fce43")
572 (revision "0"))
573 (package
574 (name "go-github-com-syndtr-goleveldb")
575 (version (git-version "0.0.0" revision commit))
576 (source (origin
577 (method git-fetch)
578 (uri (git-reference
579 (url "https://github.com/syndtr/goleveldb")
580 (commit commit)))
581 (file-name (git-file-name name version))
582 (sha256
583 (base32
584 "0wng25bw885ppiny9rz42kq0a7ddkym5zl0glb8rfk0m8dpvi1dd"))))
585 (build-system go-build-system)
586 (propagated-inputs
587 `(("go-github-com-golang-snappy" ,go-github-com-golang-snappy)))
588 (arguments
589 `(#:import-path "github.com/syndtr/goleveldb/leveldb"
590 #:unpack-path "github.com/syndtr/goleveldb"
591 #:tests? #f)) ; XXX needs 'github.com/onsi/gomega' package
592 (synopsis "LevelDB key/value database")
593 (description "This is an implementation of the LevelDB key / value
594 database in Go.")
595 (home-page "https://github.com/syndtr/goleveldb")
596 (license bsd-2))))
597
598 (define-public go-github-com-thejerf-suture
599 (let ((commit "0ac47afae95ad5bc5184ed346bc945168e883f5d")
600 (revision "0"))
601 (package
602 (name "go-github-com-thejerf-suture")
603 (version (git-version "0.0.0" revision commit))
604 (source (origin
605 (method git-fetch)
606 (uri (git-reference
607 (url "https://github.com/thejerf/suture")
608 (commit commit)))
609 (file-name (git-file-name name version))
610 (sha256
611 (base32
612 "0f860fkaibnnkmh4q6q9yn3r26sraaj8wx9irwm76cmsp48zcxfy"))))
613 (build-system go-build-system)
614 (arguments
615 `(#:import-path "github.com/thejerf/suture"))
616 (synopsis "Supervisor trees for Go")
617 (description "Suture provides Erlang-ish supervisor trees for Go.
618 \"Supervisor trees\" -> \"sutree\" -> \"suture\" -> holds your code together
619 when it's trying to die.
620
621 It is intended to deal gracefully with the real failure cases that can occur
622 with supervision trees (such as burning all your CPU time endlessly restarting
623 dead services), while also making no unnecessary demands on the \"service\"
624 code, and providing hooks to perform adequate logging with in a production
625 environment")
626 (home-page "https://github.com/thejerf/suture")
627 (license expat))))
628
629 (define* (go-github-com-vitrun-qart-union
630 #:optional (packages (list go-github-com-vitrun-qart-coding
631 go-github-com-vitrun-qart-gf256
632 go-github-com-vitrun-qart-qr)))
633 (package
634 (name "go-github-com-vitrun-qart")
635 (version (package-version go-github-com-vitrun-qart-qr))
636 (source #f)
637 (build-system trivial-build-system)
638 (arguments
639 '(#:modules ((guix build union))
640 #:builder (begin
641 (use-modules (ice-9 match)
642 (guix build union))
643 (match %build-inputs
644 (((names . directories) ...)
645 (union-build (assoc-ref %outputs "out")
646 directories))))))
647 (inputs (map (lambda (package)
648 (list (package-name package) package))
649 packages))
650 (synopsis "Union of qart libraries")
651 (description "This is a union of qart libraries.")
652 (home-page (package-home-page go-github-com-vitrun-qart-qr))
653 (license (package-license go-github-com-vitrun-qart-qr))))
654
655 (define-public go-github-com-vitrun-qart-coding
656 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
657 (revision "0"))
658 (package
659 (name "go-github-com-vitrun-qart-coding")
660 (version (git-version "0.0.0" revision commit))
661 (source (origin
662 (method git-fetch)
663 (uri (git-reference
664 (url "https://github.com/vitrun/qart")
665 (commit commit)))
666 (file-name (string-append "go-github-com-vitrun-qart-"
667 version "-checkout"))
668 (sha256
669 (base32
670 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
671 (build-system go-build-system)
672 (arguments
673 `(#:import-path "github.com/vitrun/qart/coding"
674 #:unpack-path "github.com/vitrun/qart"))
675 (synopsis "Low-level QR coding library")
676 (description "This package provides a library for embedding
677 human-meaningful graphics in QR codes. However, instead of scribbling on
678 redundant pieces and relying on error correction to preserve the meaning,
679 @code{qart} engineers the encoded values to create the picture in a code with no
680 inherent errors. This @code{qart} component, @code{coding}, implements
681 low-level QR coding details.")
682 (home-page "https://github.com/vitrun/qart/")
683 (license bsd-3))))
684
685 (define-public go-github-com-vitrun-qart-gf256
686 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
687 (revision "0"))
688 (package
689 (name "go-github-com-vitrun-qart-gf256")
690 (version (git-version "0.0.0" revision commit))
691 (source (origin
692 (method git-fetch)
693 (uri (git-reference
694 (url "https://github.com/vitrun/qart")
695 (commit commit)))
696 (file-name (string-append "go-github-com-vitrun-qart-"
697 version "-checkout"))
698 (sha256
699 (base32
700 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
701 (build-system go-build-system)
702 (arguments
703 `(#:import-path "github.com/vitrun/qart/gf256"
704 #:unpack-path "github.com/vitrun/qart"))
705 (synopsis "Qart library for Galois Field GF(256) math")
706 (description "This package, a component of @code{qart}, provides @code{gf256},
707 implements arithmetic over the Galois Field GF(256).")
708 (home-page "https://github.com/vitrun/qart")
709 (license bsd-3))))
710
711 (define-public go-github-com-vitrun-qart-qr
712 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
713 (revision "0"))
714 (package
715 (name "go-github-com-vitrun-qart-qr")
716 (version (git-version "0.0.0" revision commit))
717 (source (origin
718 (method git-fetch)
719 (uri (git-reference
720 (url "https://github.com/vitrun/qart")
721 (commit commit)))
722 (file-name (string-append "go-github-com-vitrun-qart-"
723 version "-checkout"))
724 (sha256
725 (base32
726 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
727 (build-system go-build-system)
728 (arguments
729 `(#:import-path "github.com/vitrun/qart/qr"
730 #:unpack-path "github.com/vitrun/qart"))
731 (synopsis "Qart component for generating QR codes")
732 (description "This package, a component of @code{qart}, provides
733 @code{qr}, for QR code generation.")
734 (description "This package provides a library for embedding
735 human-meaningful graphics in QR codes. However, instead of scribbling on
736 redundant pieces and relying on error correction to preserve the meaning,
737 @code{qart} engineers the encoded values to create the picture in a code with no
738 inherent errors. This @code{qart} component, @code{qr}, provides QR code
739 generation.")
740 (home-page "https://github.com/vitrun/qart")
741 (license bsd-3))))
742
743 ;; Go searches for library modules by looking in the GOPATH environment
744 ;; variable. This variable is a list of paths. However, Go does not
745 ;; keep searching on GOPATH if it tries and fails to import a module.
746 ;; So, we use a union for packages sharing a namespace.
747 (define* (go-golang-org-x-crypto-union #:optional
748 (packages (list go-golang-org-x-crypto-blowfish
749 go-golang-org-x-crypto-bcrypt
750 go-golang-org-x-crypto-tea
751 go-golang-org-x-crypto-xtea
752 go-golang-org-x-crypto-pbkdf2
753 go-golang-org-x-crypto-twofish
754 go-golang-org-x-crypto-cast5
755 go-golang-org-x-crypto-salsa20)))
756 (package
757 (name "go-golang-org-x-crypto")
758 (version (package-version go-golang-org-x-crypto-bcrypt))
759 (source #f)
760 (build-system trivial-build-system)
761 (arguments
762 '(#:modules ((guix build union))
763 #:builder (begin
764 (use-modules (ice-9 match)
765 (guix build union))
766 (match %build-inputs
767 (((names . directories) ...)
768 (union-build (assoc-ref %outputs "out")
769 directories))))))
770 (inputs (map (lambda (package)
771 (list (package-name package) package))
772 packages))
773 (synopsis "Union of the Go x crypto libraries")
774 (description "A union of the Golang cryptographic libraries. A
775 union is required because `go build` assumes that all of the headers and
776 libraries are in the same directory.")
777 (home-page (package-home-page go-golang-org-x-crypto-bcrypt))
778 (license (package-license go-golang-org-x-crypto-bcrypt))))
779
780 (define-public go-golang-org-x-crypto-bcrypt
781 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
782 (revision "0"))
783 (package
784 (name "go-golang-org-x-crypto-bcrypt")
785 (version (git-version "0.0.0" revision commit))
786 (source (origin
787 (method git-fetch)
788 (uri (git-reference
789 (url "https://go.googlesource.com/crypto")
790 (commit commit)))
791 (file-name (string-append "go.googlesource.com-crypto-"
792 version "-checkout"))
793 (sha256
794 (base32
795 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
796 (build-system go-build-system)
797 (arguments
798 `(#:import-path "golang.org/x/crypto/bcrypt"
799 #:unpack-path "golang.org/x/crypto"
800 #:phases
801 (modify-phases %standard-phases
802 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
803 (lambda* (#:key outputs #:allow-other-keys)
804 (map (lambda (file)
805 (make-file-writable file))
806 (find-files
807 (string-append (assoc-ref outputs "out")
808 "/src/golang.org/x/crypto/ed25519/testdata")
809 ".*\\.gz$"))
810 #t)))))
811 (synopsis "Bcrypt in Go")
812 (description "This package provides a Go implementation of the bcrypt
813 password hashing function.")
814 (home-page "https://go.googlesource.com/crypto/")
815 (license bsd-3))))
816
817 (define-public go-golang-org-x-crypto-blowfish
818 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
819 (revision "0"))
820 (package
821 (name "go-golang-org-x-crypto-blowfish")
822 (version (git-version "0.0.0" revision commit))
823 (source (origin
824 (method git-fetch)
825 (uri (git-reference
826 (url "https://go.googlesource.com/crypto")
827 (commit commit)))
828 (file-name (string-append "go.googlesource.com-crypto-"
829 version "-checkout"))
830 (sha256
831 (base32
832 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
833 (build-system go-build-system)
834 (arguments
835 `(#:import-path "golang.org/x/crypto/blowfish"
836 #:unpack-path "golang.org/x/crypto"
837 #:phases
838 (modify-phases %standard-phases
839 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
840 (lambda* (#:key outputs #:allow-other-keys)
841 (map (lambda (file)
842 (make-file-writable file))
843 (find-files
844 (string-append (assoc-ref outputs "out")
845 "/src/golang.org/x/crypto/ed25519/testdata")
846 ".*\\.gz$"))
847 #t)))))
848 (synopsis "Blowfish in Go")
849 (description "This package provides a Go implementation of the Blowfish
850 symmetric-key block cipher.")
851 (home-page "https://go.googlesource.com/crypto/")
852 (license bsd-3))))
853
854 (define-public go-golang-org-x-crypto-pbkdf2
855 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
856 (revision "0"))
857 (package
858 (name "go-golang-org-x-crypto-pbkdf2")
859 (version (git-version "0.0.0" revision commit))
860 (source (origin
861 (method git-fetch)
862 (uri (git-reference
863 (url "https://go.googlesource.com/crypto")
864 (commit commit)))
865 (file-name (string-append "go.googlesource.com-crypto-"
866 version "-checkout"))
867 (sha256
868 (base32
869 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
870 (build-system go-build-system)
871 (arguments
872 `(#:import-path "golang.org/x/crypto/pbkdf2"
873 #:unpack-path "golang.org/x/crypto"
874 #:phases
875 (modify-phases %standard-phases
876 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
877 (lambda* (#:key outputs #:allow-other-keys)
878 (map (lambda (file)
879 (make-file-writable file))
880 (find-files
881 (string-append (assoc-ref outputs "out")
882 "/src/golang.org/x/crypto/ed25519/testdata")
883 ".*\\.gz$"))
884 #t)))))
885 (synopsis "PBKDF2 in Go")
886 (description "This package provides a Go implementation of the PBKDF2 key
887 derivation function.")
888 (home-page "https://go.googlesource.com/crypto/")
889 (license bsd-3))))
890
891 (define-public go-golang-org-x-crypto-tea
892 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
893 (revision "0"))
894 (package
895 (name "go-golang-org-x-crypto-tea")
896 (version (git-version "0.0.0" revision commit))
897 (source (origin
898 (method git-fetch)
899 (uri (git-reference
900 (url "https://go.googlesource.com/crypto")
901 (commit commit)))
902 (file-name (string-append "go.googlesource.com-crypto-"
903 version "-checkout"))
904 (sha256
905 (base32
906 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
907 (build-system go-build-system)
908 (arguments
909 `(#:import-path "golang.org/x/crypto/tea"
910 #:unpack-path "golang.org/x/crypto"
911 #:phases
912 (modify-phases %standard-phases
913 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
914 (lambda* (#:key outputs #:allow-other-keys)
915 (map (lambda (file)
916 (make-file-writable file))
917 (find-files
918 (string-append (assoc-ref outputs "out")
919 "/src/golang.org/x/crypto/ed25519/testdata")
920 ".*\\.gz$"))
921 #t)))))
922 (synopsis "Tiny Encryption Algorithm (TEA) in Go")
923 (description "This packages a Go implementation of the Tiny Encryption
924 Algorithm (TEA) block cipher.")
925 (home-page "https://go.googlesource.com/crypto/")
926 (license bsd-3))))
927
928 (define-public go-golang-org-x-crypto-salsa20
929 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
930 (revision "0"))
931 (package
932 (name "go-golang-org-x-crypto-salsa20")
933 (version (git-version "0.0.0" revision commit))
934 (source (origin
935 (method git-fetch)
936 (uri (git-reference
937 (url "https://go.googlesource.com/crypto")
938 (commit commit)))
939 (file-name (string-append "go.googlesource.com-crypto-"
940 version "-checkout"))
941 (sha256
942 (base32
943 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
944 (build-system go-build-system)
945 (arguments
946 `(#:import-path "golang.org/x/crypto/salsa20"
947 #:unpack-path "golang.org/x/crypto"
948 #:phases
949 (modify-phases %standard-phases
950 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
951 (lambda* (#:key outputs #:allow-other-keys)
952 (map (lambda (file)
953 (make-file-writable file))
954 (find-files
955 (string-append (assoc-ref outputs "out")
956 "/src/golang.org/x/crypto/ed25519/testdata")
957 ".*\\.gz$"))
958 #t)))))
959 (synopsis "Salsa20 in Go")
960 (description "This packages provides a Go implementation of the Salsa20
961 stream cipher.")
962 (home-page "https://go.googlesource.com/crypto/")
963 (license bsd-3))))
964
965 (define-public go-golang-org-x-crypto-cast5
966 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
967 (revision "0"))
968 (package
969 (name "go-golang-org-x-crypto-cast5")
970 (version (git-version "0.0.0" revision commit))
971 (source (origin
972 (method git-fetch)
973 (uri (git-reference
974 (url "https://go.googlesource.com/crypto")
975 (commit commit)))
976 (file-name (string-append "go.googlesource.com-crypto-"
977 version "-checkout"))
978 (sha256
979 (base32
980 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
981 (build-system go-build-system)
982 (arguments
983 `(#:import-path "golang.org/x/crypto/cast5"
984 #:unpack-path "golang.org/x/crypto"
985 #:phases
986 (modify-phases %standard-phases
987 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
988 (lambda* (#:key outputs #:allow-other-keys)
989 (map (lambda (file)
990 (make-file-writable file))
991 (find-files
992 (string-append (assoc-ref outputs "out")
993 "/src/golang.org/x/crypto/ed25519/testdata")
994 ".*\\.gz$"))
995 #t)))))
996 (synopsis "Cast5 in Go")
997 (description "This packages provides a Go implementation of the Cast5
998 symmetric-key block cipher.")
999 (home-page "https://go.googlesource.com/crypto/")
1000 (license bsd-3))))
1001
1002 (define-public go-golang-org-x-crypto-twofish
1003 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
1004 (revision "0"))
1005 (package
1006 (name "go-golang-org-x-crypto-twofish")
1007 (version (git-version "0.0.0" revision commit))
1008 (source (origin
1009 (method git-fetch)
1010 (uri (git-reference
1011 (url "https://go.googlesource.com/crypto")
1012 (commit commit)))
1013 (file-name (string-append "go.googlesource.com-crypto-"
1014 version "-checkout"))
1015 (sha256
1016 (base32
1017 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
1018 (build-system go-build-system)
1019 (arguments
1020 `(#:import-path "golang.org/x/crypto/twofish"
1021 #:unpack-path "golang.org/x/crypto"
1022 #:phases
1023 (modify-phases %standard-phases
1024 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1025 (lambda* (#:key outputs #:allow-other-keys)
1026 (map (lambda (file)
1027 (make-file-writable file))
1028 (find-files
1029 (string-append (assoc-ref outputs "out")
1030 "/src/golang.org/x/crypto/ed25519/testdata")
1031 ".*\\.gz$"))
1032 #t)))))
1033 (synopsis "Twofish in Go")
1034 (description "This packages provides a Go implementation of the Twofish
1035 symmetric-key block cipher.")
1036 (home-page "https://go.googlesource.com/crypto/")
1037 (license bsd-3))))
1038
1039 (define-public go-golang-org-x-crypto-xtea
1040 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
1041 (revision "0"))
1042 (package
1043 (name "go-golang-org-x-crypto-xtea")
1044 (version (git-version "0.0.0" revision commit))
1045 (source (origin
1046 (method git-fetch)
1047 (uri (git-reference
1048 (url "https://go.googlesource.com/crypto")
1049 (commit commit)))
1050 (file-name (string-append "go.googlesource.com-crypto-"
1051 version "-checkout"))
1052 (sha256
1053 (base32
1054 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
1055 (build-system go-build-system)
1056 (arguments
1057 `(#:import-path "golang.org/x/crypto/xtea"
1058 #:unpack-path "golang.org/x/crypto"
1059 #:phases
1060 (modify-phases %standard-phases
1061 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1062 (lambda* (#:key outputs #:allow-other-keys)
1063 (map (lambda (file)
1064 (make-file-writable file))
1065 (find-files
1066 (string-append (assoc-ref outputs "out")
1067 "/src/golang.org/x/crypto/ed25519/testdata")
1068 ".*\\.gz$"))
1069 #t)))))
1070 (synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
1071 (description "This package provides a Go implementation of the eXtended
1072 Tiny Encryption Algorithm (XTEA) block cipher.")
1073 (home-page "https://go.googlesource.com/crypto/")
1074 (license bsd-3))))
1075
1076 (define* (go-golang-org-x-net-union #:optional
1077 (packages (list go-golang-org-x-net-ipv4
1078 go-golang-org-x-net-bpf
1079 go-golang-org-x-net-context
1080 go-golang-org-x-net-ipv6
1081 go-golang-org-x-net-proxy
1082 go-golang-org-x-net-internal-iana)))
1083 (package
1084 (name "go-golang-org-x-net")
1085 (version (package-version go-golang-org-x-net-ipv4))
1086 (source #f)
1087 (build-system trivial-build-system)
1088 (arguments
1089 '(#:modules ((guix build union))
1090 #:builder (begin
1091 (use-modules (ice-9 match)
1092 (guix build union))
1093 (match %build-inputs
1094 (((names . directories) ...)
1095 (union-build (assoc-ref %outputs "out")
1096 directories))))))
1097 (inputs (map (lambda (package)
1098 (list (package-name package) package))
1099 packages))
1100 (synopsis "Union of the Go net libraries")
1101 (description "A union of the Golang net libraries.")
1102 (home-page (package-home-page go-golang-org-x-net-ipv4))
1103 (license (package-license go-golang-org-x-net-ipv4))))
1104
1105 (define-public go-golang-org-x-net-ipv4
1106 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1107 (revision "0"))
1108 (package
1109 (name "go-golang-org-x-net-ipv4")
1110 (version (git-version "0.0.0" revision commit))
1111 (source (origin
1112 (method git-fetch)
1113 (uri (git-reference
1114 (url "https://go.googlesource.com/net")
1115 (commit commit)))
1116 (file-name (git-file-name name version))
1117 (sha256
1118 (base32
1119 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1120 (build-system go-build-system)
1121 (arguments
1122 `(#:import-path "golang.org/x/net/ipv4"
1123 #:unpack-path "golang.org/x/net"))
1124 (synopsis "Go IPv4 support")
1125 (description "This package provides @code{ipv4}, which implements IP-level
1126 socket options for the Internet Protocol version 4.")
1127 (home-page "https://go.googlesource.com/net")
1128 (license bsd-3))))
1129
1130 (define-public go-golang-org-x-net-bpf
1131 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1132 (revision "0"))
1133 (package
1134 (name "go-golang-org-x-net-bpf")
1135 (version (git-version "0.0.0" revision commit))
1136 (source (origin
1137 (method git-fetch)
1138 (uri (git-reference
1139 (url "https://go.googlesource.com/net")
1140 (commit commit)))
1141 (file-name (string-append "go.googlesource.com-net-"
1142 version "-checkout"))
1143 (sha256
1144 (base32
1145 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1146 (build-system go-build-system)
1147 (arguments
1148 `(#:import-path "golang.org/x/net/bpf"
1149 #:unpack-path "golang.org/x/net"))
1150 (synopsis "Berkeley Packet Filters (BPF) in Go")
1151 (description "This packages provides a Go implementation of the Berkeley
1152 Packet Filter (BPF) virtual machine.")
1153 (home-page "https://go.googlesource.com/net/")
1154 (license bsd-3))))
1155
1156 (define-public go-golang-org-x-net-context
1157 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1158 (revision "0"))
1159 (package
1160 (name "go-golang-org-x-net-context")
1161 (version (git-version "0.0.0" revision commit))
1162 (source (origin
1163 (method git-fetch)
1164 (uri (git-reference
1165 (url "https://go.googlesource.com/net")
1166 (commit commit)))
1167 (file-name (string-append "go.googlesource.com-net-"
1168 version "-checkout"))
1169 (sha256
1170 (base32
1171 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1172 (build-system go-build-system)
1173 (arguments
1174 `(#:import-path "golang.org/x/net/context"
1175 #:unpack-path "golang.org/x/net"))
1176 (synopsis "Golang Context type")
1177 (description "This packages provides @code{context}, which defines the
1178 Context type, which carries deadlines, cancelation signals, and other
1179 request-scoped values across API boundaries and between processes.")
1180 (home-page "https://go.googlesource.com/net/")
1181 (license bsd-3))))
1182
1183 (define-public go-golang-org-x-net-internal-iana
1184 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1185 (revision "0"))
1186 (package
1187 (name "go-golang-org-x-net-internal-iana")
1188 (version (git-version "0.0.0" revision commit))
1189 (source (origin
1190 (method git-fetch)
1191 (uri (git-reference
1192 (url "https://go.googlesource.com/net")
1193 (commit commit)))
1194 (file-name (string-append "go.googlesource.com-net-"
1195 version "-checkout"))
1196 (sha256
1197 (base32
1198 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1199 (build-system go-build-system)
1200 (arguments
1201 `(#:import-path "golang.org/x/net/internal/iana"
1202 #:unpack-path "golang.org/x/net"))
1203 (synopsis "Go support for assigned numbers (IANA)")
1204 (description "This packages provides @code{iana}, which provides protocol
1205 number resources managed by the Internet Assigned Numbers Authority (IANA).")
1206 (home-page "https://go.googlesource.com/net/")
1207 (license bsd-3))))
1208
1209 (define-public go-golang-org-x-net-ipv6
1210 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1211 (revision "0"))
1212 (package
1213 (name "go-golang-org-x-net-ipv6")
1214 (version (git-version "0.0.0" revision commit))
1215 (source (origin
1216 (method git-fetch)
1217 (uri (git-reference
1218 (url "https://go.googlesource.com/net")
1219 (commit commit)))
1220 (file-name (string-append "go.googlesource.com-net-"
1221 version "-checkout"))
1222 (sha256
1223 (base32
1224 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1225 (build-system go-build-system)
1226 (arguments
1227 `(#:import-path "golang.org/x/net/ipv6"
1228 #:unpack-path "golang.org/x/net"))
1229 (synopsis "Go IPv6 support")
1230 (description "This packages provides @code{ipv6}, which implements
1231 IP-level socket options for the Internet Protocol version 6.")
1232 (home-page "https://go.googlesource.com/net")
1233 (license bsd-3))))
1234
1235 (define-public go-golang-org-x-net-proxy
1236 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1237 (revision "0"))
1238 (package
1239 (name "go-golang-org-x-net-proxy")
1240 (version (git-version "0.0.0" revision commit))
1241 (source (origin
1242 (method git-fetch)
1243 (uri (git-reference
1244 (url "https://go.googlesource.com/net")
1245 (commit commit)))
1246 (file-name (string-append "go.googlesource.com-net-"
1247 version "-checkout"))
1248 (sha256
1249 (base32
1250 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1251 (build-system go-build-system)
1252 (arguments
1253 `(#:import-path "golang.org/x/net/proxy"
1254 #:unpack-path "golang.org/x/net/"))
1255 (synopsis "Go support for network proxies")
1256 (description "This packages provides @code{proxy}, which provides support
1257 for a variety of protocols to proxy network data.")
1258 (home-page "https://go.googlesource.com/net")
1259 (license bsd-3))))
1260
1261 (define-public go-golang-org-x-sys-unix
1262 (let ((commit "f3918c30c5c2cb527c0b071a27c35120a6c0719a")
1263 (revision "0"))
1264 (package
1265 (name "go-golang-org-x-sys-unix")
1266 (version (git-version "0.0.0" revision commit))
1267 (source (origin
1268 (method git-fetch)
1269 (uri (git-reference
1270 (url "https://go.googlesource.com/sys")
1271 (commit commit)))
1272 (file-name (git-file-name name version))
1273 (sha256
1274 (base32
1275 "02967mw0nq7hp39bcf8rdbid4jgz2fn6hd1x03mmavvca03scxbh"))))
1276 (build-system go-build-system)
1277 (arguments
1278 `(#:import-path "golang.org/x/sys/unix"
1279 #:unpack-path "golang.org/x/sys"))
1280 (synopsis "Go support for low-level system interaction")
1281 (description "This package provides @code{unix}, which offers Go support
1282 for low-level interaction with the operating system.")
1283 (home-page "https://go.googlesource.com/sys")
1284 (license bsd-3))))
1285
1286 (define-public go-golang-org-x-text-transform
1287 (let ((commit "f4b4367115ec2de254587813edaa901bc1c723a8")
1288 (revision "0"))
1289 (package
1290 (name "go-golang-org-x-text-transform")
1291 (version (git-version "0.0.0" revision commit))
1292 (source (origin
1293 (method git-fetch)
1294 (uri (git-reference
1295 (url "https://go.googlesource.com/text")
1296 (commit commit)))
1297 (file-name (string-append "go.googlesource.com-text-"
1298 version "-checkout"))
1299 (sha256
1300 (base32
1301 "1a5m97y7sdxks02p4swg8ffp8bgr95aaf5fhfw511p7h3xg1dm0d"))))
1302 (build-system go-build-system)
1303 (arguments
1304 `(#:import-path "golang.org/x/text/transform"
1305 #:unpack-path "golang.org/x/text"))
1306 (synopsis "Go text transformation")
1307 (description "This package provides @code{transform}, which provides
1308 reader and writer wrappers that transform the bytes passing through. Example
1309 transformations provided by other packages include normalization and conversion
1310 between character sets.")
1311 (home-page "https://go.googlesource.com/text")
1312 (license bsd-3))))
1313
1314 (define-public go-golang-org-x-text-unicode-norm
1315 (let ((commit "f4b4367115ec2de254587813edaa901bc1c723a8")
1316 (revision "0"))
1317 (package
1318 (name "go-golang-org-x-text-unicode-norm")
1319 (version (git-version "0.0.0" revision commit))
1320 (source (origin
1321 (method git-fetch)
1322 (uri (git-reference
1323 (url "https://go.googlesource.com/text")
1324 (commit commit)))
1325 (file-name (string-append "go.googlesource.com-text-"
1326 version "-checkout"))
1327 (sha256
1328 (base32
1329 "1a5m97y7sdxks02p4swg8ffp8bgr95aaf5fhfw511p7h3xg1dm0d"))))
1330 (build-system go-build-system)
1331 (arguments
1332 `(#:import-path "golang.org/x/text/unicode/norm"
1333 #:unpack-path "golang.org/x/text"))
1334 (synopsis "Unicode normalization in Go")
1335 (description "This package provides @code{norm}, which contains types and
1336 functions for normalizing Unicode strings.")
1337 (home-page "https://go.googlesource.com/text")
1338 (license bsd-3))))
1339
1340 (define-public go-github-com-audriusbutkevicius-pfilter
1341 (let ((commit "09b3cfdd04de89f0196caecb0b335d7149a6593a")
1342 (revision "0"))
1343 (package
1344 (name "go-github-com-audriusbutkevicius-pfilter")
1345 (version (git-version "0.0.0" revision commit))
1346 (source
1347 (origin
1348 (method git-fetch)
1349 (uri (git-reference
1350 (url "https://github.com/AudriusButkevicius/pfilter.git")
1351 (commit commit)))
1352 (file-name (git-file-name name version))
1353 (sha256
1354 (base32
1355 "176g8dmi2i94bxpnpgvj3dv5y9hripi45kbrfvy2bk884hwbp1zq"))))
1356 (build-system go-build-system)
1357 (arguments
1358 '(#:import-path "github.com/AudriusButkevicius/pfilter"))
1359 (synopsis "Filter packets into mulitple virtual connections")
1360 (description "Pfilter is a Go package for filtering packets into multiple
1361 virtual connections from a single physical connection.")
1362 (home-page "https://github.com/AudriusButkevicius/pfilter")
1363 (license expat))))
1364
1365 (define-public go-github-com-ccding-go-stun
1366 (let ((commit "04a4eed61c57ecc9903f8983d1d2c17b88d2e9e1")
1367 (revision "0"))
1368 (package
1369 (name "go-github-com-ccding-go-stun")
1370 (version (git-version "0.0.0" revision commit))
1371 (source
1372 (origin
1373 (method git-fetch)
1374 (uri (git-reference
1375 (url "https://github.com/ccding/go-stun.git")
1376 (commit commit)))
1377 (file-name (git-file-name name version))
1378 (sha256
1379 (base32
1380 "09fgmkvm0vzinl3ifrixyyxk2c9hbahrja7i0ir400harzq3my10"))))
1381 (build-system go-build-system)
1382 (arguments
1383 '(#:import-path "github.com/ccding/go-stun"))
1384 (synopsis "STUN client implementation")
1385 (description "Go-stun is a go implementation of the STUN client (RFC 3489
1386 and RFC 5389).")
1387 (home-page "https://github.com/ccding/go-stun")
1388 (license asl2.0))))
1389
1390 (define-public go-github-com-chmduquesne-rollinghash-adler32
1391 (let ((commit "043b8fdecc9816f0011a056f6d92f9a091ab63dd")
1392 (revision "0"))
1393 (package
1394 (name "go-github-com-chmduquesne-rollinghash-adler32")
1395 (version (git-version "0.0.0" revision commit))
1396 (source
1397 (origin
1398 (method git-fetch)
1399 (uri (git-reference
1400 (url "https://github.com/chmduquesne/rollinghash.git")
1401 (commit commit)))
1402 (file-name (git-file-name name version))
1403 (sha256
1404 (base32
1405 "0pc87laxgydqv03bdirfv32y9k0bdk2cwjxn28yh42nvay9p6y0k"))))
1406 (build-system go-build-system)
1407 (arguments
1408 '(#:import-path "github.com/chmduquesne/rollinghash/adler32"
1409 #:unpack-path "github.com/chmduquesne/rollinghash"))
1410 (synopsis "Adler-32 rolling hash in Go")
1411 (description "This package provides a Go implementation of the Adler-32
1412 rolling hash.")
1413 (home-page "https://github.com/chmduquesne/rollinghash")
1414 (license expat))))
1415
1416 (define-public go-github-com-audriusbutkevicius-kcp-go
1417 (let ((commit "02298ef4d96d48912e016f5fb36dcc0cd93c257f")
1418 (revision "0"))
1419 (package
1420 (name "go-github-com-audriusbutkevicius-kcp-go")
1421 (version (git-version "0.0.0" revision commit))
1422 (source
1423 (origin
1424 (method git-fetch)
1425 (uri (git-reference
1426 (url "https://github.com/AudriusButkevicius/kcp-go")
1427 (commit commit)))
1428 (file-name (git-file-name name version))
1429 (sha256
1430 (base32
1431 "1xanidjz8rhk28ybxnfk55nsd3h0a707dsq7mmxpjmycdacbm0j0"))))
1432 (build-system go-build-system)
1433 (propagated-inputs
1434 `(("go-golang-org-x-net-ipv4" ,go-golang-org-x-net-ipv4)
1435 ("go-github-com-templexxx-reedsolomon"
1436 ,go-github-com-templexxx-reedsolomon)
1437 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
1438 ("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union))
1439 ("go-github-com-templexxx-xor" ,go-github-com-templexxx-xor)))
1440 (arguments
1441 '(#:import-path "github.com/AudriusButkevicius/kcp-go"
1442 ;; 'TestListenerClose' is known to fail. It seems that the test suite
1443 ;; is not being used upstream:
1444 ;; https://github.com/AudriusButkevicius/kcp-go/pull/1
1445 #:tests? #f))
1446 (synopsis "Reliable UDP connections in Go")
1447 (description "This package provides @code{kcp-go}, a reliable UDP library
1448 written in Go. It offers fast, ordered and error-checked delivery of streams
1449 over UDP packets.")
1450 (home-page "https://github.com/xtaci/kcp-go")
1451 (license expat))))
1452
1453 (define-public go-github-com-templexxx-xor
1454 (let ((commit "42f9c041c330b560afb991153bf183c25444bcdc")
1455 (revision "0"))
1456 (package
1457 (name "go-github-com-templexxx-xor")
1458 (version (git-version "0.0.0" revision commit))
1459 (source
1460 (origin
1461 (method git-fetch)
1462 (uri (git-reference
1463 (url "https://github.com/templexxx/xor.git")
1464 (commit commit)))
1465 (file-name (git-file-name name version))
1466 (sha256
1467 (base32
1468 "0ixzk64nyyzas4lyqxdih824xg5f5vph18vyiibmnflwd61m0i78"))))
1469 (build-system go-build-system)
1470 (arguments
1471 '(#:import-path "github.com/templexxx/xor"))
1472 (synopsis "XOR in Go")
1473 (description "This packages provides a Go implementation of XOR.")
1474 (home-page "https://github.com/templexxx/xor")
1475 (license expat))))
1476
1477 (define-public go-github-com-xtaci-smux
1478 (let ((commit "0f6b9aaecaaf354357adc7def9239011ad276776")
1479 (revision "0"))
1480 (package
1481 (name "go-github-com-xtaci-smux")
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/xtaci/smux.git")
1488 (commit commit)))
1489 (file-name (git-file-name name version))
1490 (sha256
1491 (base32
1492 "0wx9j0id2f5iqvyalhm4i80fr9k25klr7qqj8sd9acwp5vfl5fas"))))
1493 (build-system go-build-system)
1494 (propagated-inputs
1495 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)))
1496 (arguments
1497 '(#:import-path "github.com/xtaci/smux"))
1498 (synopsis "Network multiplexing in Go")
1499 (description "Smux ( Simple MUltipleXing) is a multiplexing library for
1500 Golang. It relies on an underlying connection to provide reliability and
1501 ordering, such as TCP or KCP, and provides stream-oriented multiplexing.")
1502 (home-page "https://github.com/xtaci/smux")
1503 (license expat))))
1504
1505 (define-public go-github-com-pkg-errors
1506 (let ((commit "ff09b135c25aae272398c51a07235b90a75aa4f0")
1507 (revision "0"))
1508 (package
1509 (name "go-github-com-pkg-errors")
1510 (version (git-version "0.0.0" revision commit))
1511 (source (origin
1512 (method git-fetch)
1513 (uri (git-reference
1514 (url "https://github.com/pkg/errors.git")
1515 (commit commit)))
1516 (file-name (git-file-name name version))
1517 (sha256
1518 (base32
1519 "0pwl6v3hmc22zp32gkyqykl4kg69xk1mlp0vmhgd1f44difd5fvz"))))
1520 (build-system go-build-system)
1521 (arguments
1522 `(#:import-path "github.com/pkg/errors"))
1523 (synopsis "Go error handling primitives")
1524 (description "This packages provides @code{error}, which offers simple
1525 error handling primitives in Go.")
1526 (home-page "https://github.com/pkg/errors")
1527 (license bsd-2))))
1528
1529 (define-public go-golang-org-x-time-rate
1530 (let ((commit "f51c12702a4d776e4c1fa9b0fabab841babae631")
1531 (revision "0"))
1532 (package
1533 (name "go-golang-org-x-time-rate")
1534 (version (git-version "0.0.0" revision commit))
1535 (source (origin
1536 (method git-fetch)
1537 (uri (git-reference
1538 (url "https://go.googlesource.com/time")
1539 (commit commit)))
1540 (file-name (git-file-name name version))
1541 (sha256
1542 (base32
1543 "07wc6g2fvafkr6djsscm0jpbpl4135khhb6kpyx1953hi5d1jvyy"))))
1544 (build-system go-build-system)
1545 (arguments
1546 `(#:import-path "golang.org/x/time/rate"
1547 #:unpack-path "golang.org/x/time"))
1548 (propagated-inputs
1549 `(("go-golang-org-x-net-context" ,go-golang-org-x-net-context)))
1550 (synopsis "Rate limiting in Go")
1551 (description "This package provides @{rate}, which implements rate
1552 limiting in Go.")
1553 (home-page "https://godoc.org/golang.org/x/time/rate")
1554 (license bsd-3))))
1555
1556 (define-public go-github-com-petermattis-goid
1557 (let ((commit "3db12ebb2a599ba4a96bea1c17b61c2f78a40e02")
1558 (revision "0"))
1559 (package
1560 (name "go-github-com-petermattis-goid")
1561 (version (git-version "0.0.0" revision commit))
1562 (source (origin
1563 (method git-fetch)
1564 (uri (git-reference
1565 (url "https://github.com/petermattis/goid.git")
1566 (commit commit)))
1567 (file-name (git-file-name name version))
1568 (sha256
1569
1570 (base32
1571 "0z18a3mr72c52g7g94n08gxw0ksnaafbfwdl5p5jav2sffirb0kd"))))
1572 (build-system go-build-system)
1573 (arguments
1574 '(#:import-path "github.com/petermattis/goid"))
1575 (synopsis "Identify the running goroutine")
1576 (description "This package offers a method of programatically retrieving
1577 the current goroutine's ID.")
1578 (home-page "https://github.com/petermattis/goid")
1579 (license asl2.0))))
1580
1581 (define-public go-github-com-audriusbutkevicius-cli
1582 (let ((commit "7f561c78b5a4aad858d9fd550c92b5da6d55efbb")
1583 (revision "0"))
1584 (package
1585 (name "go-github-com-audriusbutkevicius-cli")
1586 (version (git-version "0.0.0" revision commit))
1587 (source (origin
1588 (method git-fetch)
1589 (uri (git-reference
1590 (url "https://github.com/AudriusButkevicius/cli.git")
1591 (commit commit)))
1592 (file-name (git-file-name name version))
1593 (sha256
1594 (base32
1595 "0bg26pfg25vr16jmczig2m493mja2nxjxyswz3hha7avxw20rpi5"))))
1596 (build-system go-build-system)
1597 (arguments
1598 '(#:import-path "github.com/AudriusButkevicius/cli"))
1599 (synopsis "Library for building command-line interfaces in Go")
1600 (description "This package provides a library for building command-line
1601 interfaces in Go.")
1602 (home-page "https://github.com/AudriusButkevicius/cli")
1603 (license expat))))
1604
1605 (define-public go-github-com-kballard-go-shellquote
1606 (let ((commit "cd60e84ee657ff3dc51de0b4f55dd299a3e136f2")
1607 (revision "0"))
1608 (package
1609 (name "go-github-com-kballard-go-shellquote")
1610 (version (git-version "0.0.0" revision commit))
1611 (source (origin
1612 (method git-fetch)
1613 (uri (git-reference
1614 (url "https://github.com/kballard/go-shellquote.git")
1615 (commit commit)))
1616 (file-name (git-file-name name version))
1617 (sha256
1618 (base32
1619 "1xjpin4jq1zl84dcn96xhjmn9bsfyszf6g9aqyj2dc0xfi6c88y0"))))
1620 (build-system go-build-system)
1621 (arguments
1622 '(#:import-path "github.com/kballard/go-shellquote"))
1623 (synopsis "Shell-style string joins and splits")
1624 (description "Shellquote provides utilities for joining/splitting strings
1625 using sh's word-splitting rules.")
1626 (home-page "https://github.com/kballard/go-shellquote")
1627 (license expat))))
1628
1629 (define-public go-github-com-templexxx-reedsolomon
1630 (package
1631 (name "go-github-com-templexxx-reedsolomon")
1632 (version "0.1.1")
1633 (source (origin
1634 (method git-fetch)
1635 (uri (git-reference
1636 (url "https://github.com/templexxx/reedsolomon.git")
1637 (commit version)))
1638 (sha256
1639 (base32
1640 "05yfi6dq2mwaw6jf9vq2qhpw8vb9y94b3zi6mpfcpma262rxdkg4"))))
1641 (build-system go-build-system)
1642 (arguments
1643 '(#:import-path "github.com/templexxx/reedsolomon"))
1644 (propagated-inputs
1645 `(("go-github-com-templexxx-cpufeat"
1646 ,go-github-com-templexxx-cpufeat)))
1647 (synopsis "Reed-Solomon Erasure Coding in Go")
1648 (description "This package provides and implemenation of Reed-Solomon
1649 Erasure Coding in Go.")
1650 (home-page "https://github.com/templexxx/reedsolomon")
1651 (license expat)))
1652
1653 (define-public go-github-com-templexxx-cpufeat
1654 (let ((commit "3794dfbfb04749f896b521032f69383f24c3687e")
1655 (revision "0"))
1656 (package
1657 (name "go-github-com-templexxx-cpufeat")
1658 (version (git-version "0.0.0" revision commit))
1659 (source (origin
1660 (method git-fetch)
1661 (uri (git-reference
1662 (url "https://github.com/templexxx/cpufeat.git")
1663 (commit commit)))
1664 (file-name (git-file-name name version))
1665 (sha256
1666 (base32
1667 "0b9f5p6nsiv907rz5d66qzgxnsz4k68r2f45vxi2hwdbnkjfxz8j"))))
1668 (build-system go-build-system)
1669 (arguments
1670 '(#:import-path "github.com/templexxx/cpufeat"))
1671 (synopsis "CPU feature identification for Go")
1672 (description "This package provides @code{cpu}, which implements
1673 processor feature detection used by the Go standard libary.")
1674 (home-page "https://github.com/templexxx/cpufeat")
1675 (license bsd-3))))