gnu: Add go-github-com-gogo-protobuf-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-public go-github-com-vitrun-qart-coding
630 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
631 (revision "0"))
632 (package
633 (name "go-github-com-vitrun-qart-coding")
634 (version (git-version "0.0.0" revision commit))
635 (source (origin
636 (method git-fetch)
637 (uri (git-reference
638 (url "https://github.com/vitrun/qart")
639 (commit commit)))
640 (file-name (string-append "go-github-com-vitrun-qart-"
641 version "-checkout"))
642 (sha256
643 (base32
644 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
645 (build-system go-build-system)
646 (arguments
647 `(#:import-path "github.com/vitrun/qart/coding"
648 #:unpack-path "github.com/vitrun/qart"))
649 (synopsis "Low-level QR coding library")
650 (description "This package provides a library for embedding
651 human-meaningful graphics in QR codes. However, instead of scribbling on
652 redundant pieces and relying on error correction to preserve the meaning,
653 @code{qart} engineers the encoded values to create the picture in a code with no
654 inherent errors. This @code{qart} component, @code{coding}, implements
655 low-level QR coding details.")
656 (home-page "https://github.com/vitrun/qart/")
657 (license bsd-3))))
658
659 (define-public go-github-com-vitrun-qart-gf256
660 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
661 (revision "0"))
662 (package
663 (name "go-github-com-vitrun-qart-gf256")
664 (version (git-version "0.0.0" revision commit))
665 (source (origin
666 (method git-fetch)
667 (uri (git-reference
668 (url "https://github.com/vitrun/qart")
669 (commit commit)))
670 (file-name (string-append "go-github-com-vitrun-qart-"
671 version "-checkout"))
672 (sha256
673 (base32
674 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
675 (build-system go-build-system)
676 (arguments
677 `(#:import-path "github.com/vitrun/qart/gf256"
678 #:unpack-path "github.com/vitrun/qart"))
679 (synopsis "Qart library for Galois Field GF(256) math")
680 (description "This package, a component of @code{qart}, provides @code{gf256},
681 implements arithmetic over the Galois Field GF(256).")
682 (home-page "https://github.com/vitrun/qart")
683 (license bsd-3))))
684
685 (define-public go-github-com-vitrun-qart-qr
686 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
687 (revision "0"))
688 (package
689 (name "go-github-com-vitrun-qart-qr")
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/qr"
704 #:unpack-path "github.com/vitrun/qart"))
705 (synopsis "Qart component for generating QR codes")
706 (description "This package, a component of @code{qart}, provides
707 @code{qr}, for QR code generation.")
708 (description "This package provides a library for embedding
709 human-meaningful graphics in QR codes. However, instead of scribbling on
710 redundant pieces and relying on error correction to preserve the meaning,
711 @code{qart} engineers the encoded values to create the picture in a code with no
712 inherent errors. This @code{qart} component, @code{qr}, provides QR code
713 generation.")
714 (home-page "https://github.com/vitrun/qart")
715 (license bsd-3))))
716
717 ;; Go searches for library modules by looking in the GOPATH environment
718 ;; variable. This variable is a list of paths. However, Go does not
719 ;; keep searching on GOPATH if it tries and fails to import a module.
720 ;; So, we use a union for packages sharing a namespace.
721 (define* (go-golang-org-x-crypto-union #:optional
722 (packages (list go-golang-org-x-crypto-blowfish
723 go-golang-org-x-crypto-bcrypt
724 go-golang-org-x-crypto-tea
725 go-golang-org-x-crypto-xtea
726 go-golang-org-x-crypto-pbkdf2
727 go-golang-org-x-crypto-twofish
728 go-golang-org-x-crypto-cast5
729 go-golang-org-x-crypto-salsa20)))
730 (package
731 (name "go-golang-org-x-crypto")
732 (version (package-version go-golang-org-x-crypto-bcrypt))
733 (source #f)
734 (build-system trivial-build-system)
735 (arguments
736 '(#:modules ((guix build union))
737 #:builder (begin
738 (use-modules (ice-9 match)
739 (guix build union))
740 (match %build-inputs
741 (((names . directories) ...)
742 (union-build (assoc-ref %outputs "out")
743 directories))))))
744 (inputs (map (lambda (package)
745 (list (package-name package) package))
746 packages))
747 (synopsis "Union of the Go x crypto libraries")
748 (description "A union of the Golang cryptographic libraries. A
749 union is required because `go build` assumes that all of the headers and
750 libraries are in the same directory.")
751 (home-page (package-home-page go-golang-org-x-crypto-bcrypt))
752 (license (package-license go-golang-org-x-crypto-bcrypt))))
753
754 (define-public go-golang-org-x-crypto-bcrypt
755 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
756 (revision "0"))
757 (package
758 (name "go-golang-org-x-crypto-bcrypt")
759 (version (git-version "0.0.0" revision commit))
760 (source (origin
761 (method git-fetch)
762 (uri (git-reference
763 (url "https://go.googlesource.com/crypto")
764 (commit commit)))
765 (file-name (string-append "go.googlesource.com-crypto-"
766 version "-checkout"))
767 (sha256
768 (base32
769 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
770 (build-system go-build-system)
771 (arguments
772 `(#:import-path "golang.org/x/crypto/bcrypt"
773 #:unpack-path "golang.org/x/crypto"
774 #:phases
775 (modify-phases %standard-phases
776 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
777 (lambda* (#:key outputs #:allow-other-keys)
778 (map (lambda (file)
779 (make-file-writable file))
780 (find-files
781 (string-append (assoc-ref outputs "out")
782 "/src/golang.org/x/crypto/ed25519/testdata")
783 ".*\\.gz$"))
784 #t)))))
785 (synopsis "Bcrypt in Go")
786 (description "This package provides a Go implementation of the bcrypt
787 password hashing function.")
788 (home-page "https://go.googlesource.com/crypto/")
789 (license bsd-3))))
790
791 (define-public go-golang-org-x-crypto-blowfish
792 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
793 (revision "0"))
794 (package
795 (name "go-golang-org-x-crypto-blowfish")
796 (version (git-version "0.0.0" revision commit))
797 (source (origin
798 (method git-fetch)
799 (uri (git-reference
800 (url "https://go.googlesource.com/crypto")
801 (commit commit)))
802 (file-name (string-append "go.googlesource.com-crypto-"
803 version "-checkout"))
804 (sha256
805 (base32
806 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
807 (build-system go-build-system)
808 (arguments
809 `(#:import-path "golang.org/x/crypto/blowfish"
810 #:unpack-path "golang.org/x/crypto"
811 #:phases
812 (modify-phases %standard-phases
813 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
814 (lambda* (#:key outputs #:allow-other-keys)
815 (map (lambda (file)
816 (make-file-writable file))
817 (find-files
818 (string-append (assoc-ref outputs "out")
819 "/src/golang.org/x/crypto/ed25519/testdata")
820 ".*\\.gz$"))
821 #t)))))
822 (synopsis "Blowfish in Go")
823 (description "This package provides a Go implementation of the Blowfish
824 symmetric-key block cipher.")
825 (home-page "https://go.googlesource.com/crypto/")
826 (license bsd-3))))
827
828 (define-public go-golang-org-x-crypto-pbkdf2
829 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
830 (revision "0"))
831 (package
832 (name "go-golang-org-x-crypto-pbkdf2")
833 (version (git-version "0.0.0" revision commit))
834 (source (origin
835 (method git-fetch)
836 (uri (git-reference
837 (url "https://go.googlesource.com/crypto")
838 (commit commit)))
839 (file-name (string-append "go.googlesource.com-crypto-"
840 version "-checkout"))
841 (sha256
842 (base32
843 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
844 (build-system go-build-system)
845 (arguments
846 `(#:import-path "golang.org/x/crypto/pbkdf2"
847 #:unpack-path "golang.org/x/crypto"
848 #:phases
849 (modify-phases %standard-phases
850 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
851 (lambda* (#:key outputs #:allow-other-keys)
852 (map (lambda (file)
853 (make-file-writable file))
854 (find-files
855 (string-append (assoc-ref outputs "out")
856 "/src/golang.org/x/crypto/ed25519/testdata")
857 ".*\\.gz$"))
858 #t)))))
859 (synopsis "PBKDF2 in Go")
860 (description "This package provides a Go implementation of the PBKDF2 key
861 derivation function.")
862 (home-page "https://go.googlesource.com/crypto/")
863 (license bsd-3))))
864
865 (define-public go-golang-org-x-crypto-tea
866 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
867 (revision "0"))
868 (package
869 (name "go-golang-org-x-crypto-tea")
870 (version (git-version "0.0.0" revision commit))
871 (source (origin
872 (method git-fetch)
873 (uri (git-reference
874 (url "https://go.googlesource.com/crypto")
875 (commit commit)))
876 (file-name (string-append "go.googlesource.com-crypto-"
877 version "-checkout"))
878 (sha256
879 (base32
880 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
881 (build-system go-build-system)
882 (arguments
883 `(#:import-path "golang.org/x/crypto/tea"
884 #:unpack-path "golang.org/x/crypto"
885 #:phases
886 (modify-phases %standard-phases
887 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
888 (lambda* (#:key outputs #:allow-other-keys)
889 (map (lambda (file)
890 (make-file-writable file))
891 (find-files
892 (string-append (assoc-ref outputs "out")
893 "/src/golang.org/x/crypto/ed25519/testdata")
894 ".*\\.gz$"))
895 #t)))))
896 (synopsis "Tiny Encryption Algorithm (TEA) in Go")
897 (description "This packages a Go implementation of the Tiny Encryption
898 Algorithm (TEA) block cipher.")
899 (home-page "https://go.googlesource.com/crypto/")
900 (license bsd-3))))
901
902 (define-public go-golang-org-x-crypto-salsa20
903 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
904 (revision "0"))
905 (package
906 (name "go-golang-org-x-crypto-salsa20")
907 (version (git-version "0.0.0" revision commit))
908 (source (origin
909 (method git-fetch)
910 (uri (git-reference
911 (url "https://go.googlesource.com/crypto")
912 (commit commit)))
913 (file-name (string-append "go.googlesource.com-crypto-"
914 version "-checkout"))
915 (sha256
916 (base32
917 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
918 (build-system go-build-system)
919 (arguments
920 `(#:import-path "golang.org/x/crypto/salsa20"
921 #:unpack-path "golang.org/x/crypto"
922 #:phases
923 (modify-phases %standard-phases
924 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
925 (lambda* (#:key outputs #:allow-other-keys)
926 (map (lambda (file)
927 (make-file-writable file))
928 (find-files
929 (string-append (assoc-ref outputs "out")
930 "/src/golang.org/x/crypto/ed25519/testdata")
931 ".*\\.gz$"))
932 #t)))))
933 (synopsis "Salsa20 in Go")
934 (description "This packages provides a Go implementation of the Salsa20
935 stream cipher.")
936 (home-page "https://go.googlesource.com/crypto/")
937 (license bsd-3))))
938
939 (define-public go-golang-org-x-crypto-cast5
940 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
941 (revision "0"))
942 (package
943 (name "go-golang-org-x-crypto-cast5")
944 (version (git-version "0.0.0" revision commit))
945 (source (origin
946 (method git-fetch)
947 (uri (git-reference
948 (url "https://go.googlesource.com/crypto")
949 (commit commit)))
950 (file-name (string-append "go.googlesource.com-crypto-"
951 version "-checkout"))
952 (sha256
953 (base32
954 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
955 (build-system go-build-system)
956 (arguments
957 `(#:import-path "golang.org/x/crypto/cast5"
958 #:unpack-path "golang.org/x/crypto"
959 #:phases
960 (modify-phases %standard-phases
961 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
962 (lambda* (#:key outputs #:allow-other-keys)
963 (map (lambda (file)
964 (make-file-writable file))
965 (find-files
966 (string-append (assoc-ref outputs "out")
967 "/src/golang.org/x/crypto/ed25519/testdata")
968 ".*\\.gz$"))
969 #t)))))
970 (synopsis "Cast5 in Go")
971 (description "This packages provides a Go implementation of the Cast5
972 symmetric-key block cipher.")
973 (home-page "https://go.googlesource.com/crypto/")
974 (license bsd-3))))
975
976 (define-public go-golang-org-x-crypto-twofish
977 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
978 (revision "0"))
979 (package
980 (name "go-golang-org-x-crypto-twofish")
981 (version (git-version "0.0.0" revision commit))
982 (source (origin
983 (method git-fetch)
984 (uri (git-reference
985 (url "https://go.googlesource.com/crypto")
986 (commit commit)))
987 (file-name (string-append "go.googlesource.com-crypto-"
988 version "-checkout"))
989 (sha256
990 (base32
991 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
992 (build-system go-build-system)
993 (arguments
994 `(#:import-path "golang.org/x/crypto/twofish"
995 #:unpack-path "golang.org/x/crypto"
996 #:phases
997 (modify-phases %standard-phases
998 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
999 (lambda* (#:key outputs #:allow-other-keys)
1000 (map (lambda (file)
1001 (make-file-writable file))
1002 (find-files
1003 (string-append (assoc-ref outputs "out")
1004 "/src/golang.org/x/crypto/ed25519/testdata")
1005 ".*\\.gz$"))
1006 #t)))))
1007 (synopsis "Twofish in Go")
1008 (description "This packages provides a Go implementation of the Twofish
1009 symmetric-key block cipher.")
1010 (home-page "https://go.googlesource.com/crypto/")
1011 (license bsd-3))))
1012
1013 (define-public go-golang-org-x-crypto-xtea
1014 (let ((commit "c78caca803c95773f48a844d3dcab04b9bc4d6dd")
1015 (revision "0"))
1016 (package
1017 (name "go-golang-org-x-crypto-xtea")
1018 (version (git-version "0.0.0" revision commit))
1019 (source (origin
1020 (method git-fetch)
1021 (uri (git-reference
1022 (url "https://go.googlesource.com/crypto")
1023 (commit commit)))
1024 (file-name (string-append "go.googlesource.com-crypto-"
1025 version "-checkout"))
1026 (sha256
1027 (base32
1028 "0vxlfxr9y681yn2cfh6dbqmq35vvq4f45ay0mm31ffkny9cms0y4"))))
1029 (build-system go-build-system)
1030 (arguments
1031 `(#:import-path "golang.org/x/crypto/xtea"
1032 #:unpack-path "golang.org/x/crypto"
1033 #:phases
1034 (modify-phases %standard-phases
1035 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1036 (lambda* (#:key outputs #:allow-other-keys)
1037 (map (lambda (file)
1038 (make-file-writable file))
1039 (find-files
1040 (string-append (assoc-ref outputs "out")
1041 "/src/golang.org/x/crypto/ed25519/testdata")
1042 ".*\\.gz$"))
1043 #t)))))
1044 (synopsis "eXtended Tiny Encryption Algorithm (XTEA) in Go")
1045 (description "This package provides a Go implementation of the eXtended
1046 Tiny Encryption Algorithm (XTEA) block cipher.")
1047 (home-page "https://go.googlesource.com/crypto/")
1048 (license bsd-3))))
1049
1050 (define-public go-golang-org-x-net-ipv4
1051 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1052 (revision "0"))
1053 (package
1054 (name "go-golang-org-x-net-ipv4")
1055 (version (git-version "0.0.0" revision commit))
1056 (source (origin
1057 (method git-fetch)
1058 (uri (git-reference
1059 (url "https://go.googlesource.com/net")
1060 (commit commit)))
1061 (file-name (git-file-name name version))
1062 (sha256
1063 (base32
1064 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1065 (build-system go-build-system)
1066 (arguments
1067 `(#:import-path "golang.org/x/net/ipv4"
1068 #:unpack-path "golang.org/x/net"))
1069 (synopsis "Go IPv4 support")
1070 (description "This package provides @code{ipv4}, which implements IP-level
1071 socket options for the Internet Protocol version 4.")
1072 (home-page "https://go.googlesource.com/net")
1073 (license bsd-3))))
1074
1075 (define-public go-golang-org-x-net-bpf
1076 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1077 (revision "0"))
1078 (package
1079 (name "go-golang-org-x-net-bpf")
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 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1091 (build-system go-build-system)
1092 (arguments
1093 `(#:import-path "golang.org/x/net/bpf"
1094 #:unpack-path "golang.org/x/net"))
1095 (synopsis "Berkeley Packet Filters (BPF) in Go")
1096 (description "This packages provides a Go implementation of the Berkeley
1097 Packet Filter (BPF) virtual machine.")
1098 (home-page "https://go.googlesource.com/net/")
1099 (license bsd-3))))
1100
1101 (define-public go-golang-org-x-net-context
1102 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1103 (revision "0"))
1104 (package
1105 (name "go-golang-org-x-net-context")
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 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1117 (build-system go-build-system)
1118 (arguments
1119 `(#:import-path "golang.org/x/net/context"
1120 #:unpack-path "golang.org/x/net"))
1121 (synopsis "Golang Context type")
1122 (description "This packages provides @code{context}, which defines the
1123 Context type, which carries deadlines, cancelation signals, and other
1124 request-scoped values across API boundaries and between processes.")
1125 (home-page "https://go.googlesource.com/net/")
1126 (license bsd-3))))
1127
1128 (define-public go-golang-org-x-net-internal-iana
1129 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1130 (revision "0"))
1131 (package
1132 (name "go-golang-org-x-net-internal-iana")
1133 (version (git-version "0.0.0" revision commit))
1134 (source (origin
1135 (method git-fetch)
1136 (uri (git-reference
1137 (url "https://go.googlesource.com/net")
1138 (commit commit)))
1139 (file-name (string-append "go.googlesource.com-net-"
1140 version "-checkout"))
1141 (sha256
1142 (base32
1143 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1144 (build-system go-build-system)
1145 (arguments
1146 `(#:import-path "golang.org/x/net/internal/iana"
1147 #:unpack-path "golang.org/x/net"))
1148 (synopsis "Go support for assigned numbers (IANA)")
1149 (description "This packages provides @code{iana}, which provides protocol
1150 number resources managed by the Internet Assigned Numbers Authority (IANA).")
1151 (home-page "https://go.googlesource.com/net/")
1152 (license bsd-3))))
1153
1154 (define-public go-golang-org-x-net-ipv6
1155 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1156 (revision "0"))
1157 (package
1158 (name "go-golang-org-x-net-ipv6")
1159 (version (git-version "0.0.0" revision commit))
1160 (source (origin
1161 (method git-fetch)
1162 (uri (git-reference
1163 (url "https://go.googlesource.com/net")
1164 (commit commit)))
1165 (file-name (string-append "go.googlesource.com-net-"
1166 version "-checkout"))
1167 (sha256
1168 (base32
1169 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1170 (build-system go-build-system)
1171 (arguments
1172 `(#:import-path "golang.org/x/net/ipv6"
1173 #:unpack-path "golang.org/x/net"))
1174 (synopsis "Go IPv6 support")
1175 (description "This packages provides @code{ipv6}, which implements
1176 IP-level socket options for the Internet Protocol version 6.")
1177 (home-page "https://go.googlesource.com/net")
1178 (license bsd-3))))
1179
1180 (define-public go-golang-org-x-net-proxy
1181 (let ((commit "ffcf1bedda3b04ebb15a168a59800a73d6dc0f4d")
1182 (revision "0"))
1183 (package
1184 (name "go-golang-org-x-net-proxy")
1185 (version (git-version "0.0.0" revision commit))
1186 (source (origin
1187 (method git-fetch)
1188 (uri (git-reference
1189 (url "https://go.googlesource.com/net")
1190 (commit commit)))
1191 (file-name (string-append "go.googlesource.com-net-"
1192 version "-checkout"))
1193 (sha256
1194 (base32
1195 "1ifqw09pj9q23mza1d0im99yy3jp72dvq9dcx2bs1n1m11cjdjzp"))))
1196 (build-system go-build-system)
1197 (arguments
1198 `(#:import-path "golang.org/x/net/proxy"
1199 #:unpack-path "golang.org/x/net/"))
1200 (synopsis "Go support for network proxies")
1201 (description "This packages provides @code{proxy}, which provides support
1202 for a variety of protocols to proxy network data.")
1203 (home-page "https://go.googlesource.com/net")
1204 (license bsd-3))))
1205
1206 (define-public go-golang-org-x-sys-unix
1207 (let ((commit "f3918c30c5c2cb527c0b071a27c35120a6c0719a")
1208 (revision "0"))
1209 (package
1210 (name "go-golang-org-x-sys-unix")
1211 (version (git-version "0.0.0" revision commit))
1212 (source (origin
1213 (method git-fetch)
1214 (uri (git-reference
1215 (url "https://go.googlesource.com/sys")
1216 (commit commit)))
1217 (file-name (git-file-name name version))
1218 (sha256
1219 (base32
1220 "02967mw0nq7hp39bcf8rdbid4jgz2fn6hd1x03mmavvca03scxbh"))))
1221 (build-system go-build-system)
1222 (arguments
1223 `(#:import-path "golang.org/x/sys/unix"
1224 #:unpack-path "golang.org/x/sys"))
1225 (synopsis "Go support for low-level system interaction")
1226 (description "This package provides @code{unix}, which offers Go support
1227 for low-level interaction with the operating system.")
1228 (home-page "https://go.googlesource.com/sys")
1229 (license bsd-3))))
1230
1231 (define-public go-golang-org-x-text-transform
1232 (let ((commit "f4b4367115ec2de254587813edaa901bc1c723a8")
1233 (revision "0"))
1234 (package
1235 (name "go-golang-org-x-text-transform")
1236 (version (git-version "0.0.0" revision commit))
1237 (source (origin
1238 (method git-fetch)
1239 (uri (git-reference
1240 (url "https://go.googlesource.com/text")
1241 (commit commit)))
1242 (file-name (string-append "go.googlesource.com-text-"
1243 version "-checkout"))
1244 (sha256
1245 (base32
1246 "1a5m97y7sdxks02p4swg8ffp8bgr95aaf5fhfw511p7h3xg1dm0d"))))
1247 (build-system go-build-system)
1248 (arguments
1249 `(#:import-path "golang.org/x/text/transform"
1250 #:unpack-path "golang.org/x/text"))
1251 (synopsis "Go text transformation")
1252 (description "This package provides @code{transform}, which provides
1253 reader and writer wrappers that transform the bytes passing through. Example
1254 transformations provided by other packages include normalization and conversion
1255 between character sets.")
1256 (home-page "https://go.googlesource.com/text")
1257 (license bsd-3))))
1258
1259 (define-public go-golang-org-x-text-unicode-norm
1260 (let ((commit "f4b4367115ec2de254587813edaa901bc1c723a8")
1261 (revision "0"))
1262 (package
1263 (name "go-golang-org-x-text-unicode-norm")
1264 (version (git-version "0.0.0" revision commit))
1265 (source (origin
1266 (method git-fetch)
1267 (uri (git-reference
1268 (url "https://go.googlesource.com/text")
1269 (commit commit)))
1270 (file-name (string-append "go.googlesource.com-text-"
1271 version "-checkout"))
1272 (sha256
1273 (base32
1274 "1a5m97y7sdxks02p4swg8ffp8bgr95aaf5fhfw511p7h3xg1dm0d"))))
1275 (build-system go-build-system)
1276 (arguments
1277 `(#:import-path "golang.org/x/text/unicode/norm"
1278 #:unpack-path "golang.org/x/text"))
1279 (synopsis "Unicode normalization in Go")
1280 (description "This package provides @code{norm}, which contains types and
1281 functions for normalizing Unicode strings.")
1282 (home-page "https://go.googlesource.com/text")
1283 (license bsd-3))))
1284
1285 (define-public go-github-com-audriusbutkevicius-pfilter
1286 (let ((commit "09b3cfdd04de89f0196caecb0b335d7149a6593a")
1287 (revision "0"))
1288 (package
1289 (name "go-github-com-audriusbutkevicius-pfilter")
1290 (version (git-version "0.0.0" revision commit))
1291 (source
1292 (origin
1293 (method git-fetch)
1294 (uri (git-reference
1295 (url "https://github.com/AudriusButkevicius/pfilter.git")
1296 (commit commit)))
1297 (file-name (git-file-name name version))
1298 (sha256
1299 (base32
1300 "176g8dmi2i94bxpnpgvj3dv5y9hripi45kbrfvy2bk884hwbp1zq"))))
1301 (build-system go-build-system)
1302 (arguments
1303 '(#:import-path "github.com/AudriusButkevicius/pfilter"))
1304 (synopsis "Filter packets into mulitple virtual connections")
1305 (description "Pfilter is a Go package for filtering packets into multiple
1306 virtual connections from a single physical connection.")
1307 (home-page "https://github.com/AudriusButkevicius/pfilter")
1308 (license expat))))
1309
1310 (define-public go-github-com-ccding-go-stun
1311 (let ((commit "04a4eed61c57ecc9903f8983d1d2c17b88d2e9e1")
1312 (revision "0"))
1313 (package
1314 (name "go-github-com-ccding-go-stun")
1315 (version (git-version "0.0.0" revision commit))
1316 (source
1317 (origin
1318 (method git-fetch)
1319 (uri (git-reference
1320 (url "https://github.com/ccding/go-stun.git")
1321 (commit commit)))
1322 (file-name (git-file-name name version))
1323 (sha256
1324 (base32
1325 "09fgmkvm0vzinl3ifrixyyxk2c9hbahrja7i0ir400harzq3my10"))))
1326 (build-system go-build-system)
1327 (arguments
1328 '(#:import-path "github.com/ccding/go-stun"))
1329 (synopsis "STUN client implementation")
1330 (description "Go-stun is a go implementation of the STUN client (RFC 3489
1331 and RFC 5389).")
1332 (home-page "https://github.com/ccding/go-stun")
1333 (license asl2.0))))
1334
1335 (define-public go-github-com-chmduquesne-rollinghash-adler32
1336 (let ((commit "043b8fdecc9816f0011a056f6d92f9a091ab63dd")
1337 (revision "0"))
1338 (package
1339 (name "go-github-com-chmduquesne-rollinghash-adler32")
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/chmduquesne/rollinghash.git")
1346 (commit commit)))
1347 (file-name (git-file-name name version))
1348 (sha256
1349 (base32
1350 "0pc87laxgydqv03bdirfv32y9k0bdk2cwjxn28yh42nvay9p6y0k"))))
1351 (build-system go-build-system)
1352 (arguments
1353 '(#:import-path "github.com/chmduquesne/rollinghash/adler32"
1354 #:unpack-path "github.com/chmduquesne/rollinghash"))
1355 (synopsis "Adler-32 rolling hash in Go")
1356 (description "This package provides a Go implementation of the Adler-32
1357 rolling hash.")
1358 (home-page "https://github.com/chmduquesne/rollinghash")
1359 (license expat))))
1360
1361 (define-public go-github-com-audriusbutkevicius-kcp-go
1362 (let ((commit "02298ef4d96d48912e016f5fb36dcc0cd93c257f")
1363 (revision "0"))
1364 (package
1365 (name "go-github-com-audriusbutkevicius-kcp-go")
1366 (version (git-version "0.0.0" revision commit))
1367 (source
1368 (origin
1369 (method git-fetch)
1370 (uri (git-reference
1371 (url "https://github.com/AudriusButkevicius/kcp-go")
1372 (commit commit)))
1373 (file-name (git-file-name name version))
1374 (sha256
1375 (base32
1376 "1xanidjz8rhk28ybxnfk55nsd3h0a707dsq7mmxpjmycdacbm0j0"))))
1377 (build-system go-build-system)
1378 (propagated-inputs
1379 `(("go-golang-org-x-net-ipv4" ,go-golang-org-x-net-ipv4)
1380 ("go-github-com-templexxx-reedsolomon"
1381 ,go-github-com-templexxx-reedsolomon)
1382 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
1383 ("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union))
1384 ("go-github-com-templexxx-xor" ,go-github-com-templexxx-xor)))
1385 (arguments
1386 '(#:import-path "github.com/AudriusButkevicius/kcp-go"
1387 ;; 'TestListenerClose' is known to fail. It seems that the test suite
1388 ;; is not being used upstream:
1389 ;; https://github.com/AudriusButkevicius/kcp-go/pull/1
1390 #:tests? #f))
1391 (synopsis "Reliable UDP connections in Go")
1392 (description "This package provides @code{kcp-go}, a reliable UDP library
1393 written in Go. It offers fast, ordered and error-checked delivery of streams
1394 over UDP packets.")
1395 (home-page "https://github.com/xtaci/kcp-go")
1396 (license expat))))
1397
1398 (define-public go-github-com-templexxx-xor
1399 (let ((commit "42f9c041c330b560afb991153bf183c25444bcdc")
1400 (revision "0"))
1401 (package
1402 (name "go-github-com-templexxx-xor")
1403 (version (git-version "0.0.0" revision commit))
1404 (source
1405 (origin
1406 (method git-fetch)
1407 (uri (git-reference
1408 (url "https://github.com/templexxx/xor.git")
1409 (commit commit)))
1410 (file-name (git-file-name name version))
1411 (sha256
1412 (base32
1413 "0ixzk64nyyzas4lyqxdih824xg5f5vph18vyiibmnflwd61m0i78"))))
1414 (build-system go-build-system)
1415 (arguments
1416 '(#:import-path "github.com/templexxx/xor"))
1417 (synopsis "XOR in Go")
1418 (description "This packages provides a Go implementation of XOR.")
1419 (home-page "https://github.com/templexxx/xor")
1420 (license expat))))
1421
1422 (define-public go-github-com-xtaci-smux
1423 (let ((commit "0f6b9aaecaaf354357adc7def9239011ad276776")
1424 (revision "0"))
1425 (package
1426 (name "go-github-com-xtaci-smux")
1427 (version (git-version "0.0.0" revision commit))
1428 (source
1429 (origin
1430 (method git-fetch)
1431 (uri (git-reference
1432 (url "https://github.com/xtaci/smux.git")
1433 (commit commit)))
1434 (file-name (git-file-name name version))
1435 (sha256
1436 (base32
1437 "0wx9j0id2f5iqvyalhm4i80fr9k25klr7qqj8sd9acwp5vfl5fas"))))
1438 (build-system go-build-system)
1439 (propagated-inputs
1440 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)))
1441 (arguments
1442 '(#:import-path "github.com/xtaci/smux"))
1443 (synopsis "Network multiplexing in Go")
1444 (description "Smux ( Simple MUltipleXing) is a multiplexing library for
1445 Golang. It relies on an underlying connection to provide reliability and
1446 ordering, such as TCP or KCP, and provides stream-oriented multiplexing.")
1447 (home-page "https://github.com/xtaci/smux")
1448 (license expat))))
1449
1450 (define-public go-github-com-pkg-errors
1451 (let ((commit "ff09b135c25aae272398c51a07235b90a75aa4f0")
1452 (revision "0"))
1453 (package
1454 (name "go-github-com-pkg-errors")
1455 (version (git-version "0.0.0" revision commit))
1456 (source (origin
1457 (method git-fetch)
1458 (uri (git-reference
1459 (url "https://github.com/pkg/errors.git")
1460 (commit commit)))
1461 (file-name (git-file-name name version))
1462 (sha256
1463 (base32
1464 "0pwl6v3hmc22zp32gkyqykl4kg69xk1mlp0vmhgd1f44difd5fvz"))))
1465 (build-system go-build-system)
1466 (arguments
1467 `(#:import-path "github.com/pkg/errors"))
1468 (synopsis "Go error handling primitives")
1469 (description "This packages provides @code{error}, which offers simple
1470 error handling primitives in Go.")
1471 (home-page "https://github.com/pkg/errors")
1472 (license bsd-2))))
1473
1474 (define-public go-golang-org-x-time-rate
1475 (let ((commit "f51c12702a4d776e4c1fa9b0fabab841babae631")
1476 (revision "0"))
1477 (package
1478 (name "go-golang-org-x-time-rate")
1479 (version (git-version "0.0.0" revision commit))
1480 (source (origin
1481 (method git-fetch)
1482 (uri (git-reference
1483 (url "https://go.googlesource.com/time")
1484 (commit commit)))
1485 (file-name (git-file-name name version))
1486 (sha256
1487 (base32
1488 "07wc6g2fvafkr6djsscm0jpbpl4135khhb6kpyx1953hi5d1jvyy"))))
1489 (build-system go-build-system)
1490 (arguments
1491 `(#:import-path "golang.org/x/time/rate"
1492 #:unpack-path "golang.org/x/time"))
1493 (propagated-inputs
1494 `(("go-golang-org-x-net-context" ,go-golang-org-x-net-context)))
1495 (synopsis "Rate limiting in Go")
1496 (description "This package provides @{rate}, which implements rate
1497 limiting in Go.")
1498 (home-page "https://godoc.org/golang.org/x/time/rate")
1499 (license bsd-3))))
1500
1501 (define-public go-github-com-petermattis-goid
1502 (let ((commit "3db12ebb2a599ba4a96bea1c17b61c2f78a40e02")
1503 (revision "0"))
1504 (package
1505 (name "go-github-com-petermattis-goid")
1506 (version (git-version "0.0.0" revision commit))
1507 (source (origin
1508 (method git-fetch)
1509 (uri (git-reference
1510 (url "https://github.com/petermattis/goid.git")
1511 (commit commit)))
1512 (file-name (git-file-name name version))
1513 (sha256
1514
1515 (base32
1516 "0z18a3mr72c52g7g94n08gxw0ksnaafbfwdl5p5jav2sffirb0kd"))))
1517 (build-system go-build-system)
1518 (arguments
1519 '(#:import-path "github.com/petermattis/goid"))
1520 (synopsis "Identify the running goroutine")
1521 (description "This package offers a method of programatically retrieving
1522 the current goroutine's ID.")
1523 (home-page "https://github.com/petermattis/goid")
1524 (license asl2.0))))
1525
1526 (define-public go-github-com-audriusbutkevicius-cli
1527 (let ((commit "7f561c78b5a4aad858d9fd550c92b5da6d55efbb")
1528 (revision "0"))
1529 (package
1530 (name "go-github-com-audriusbutkevicius-cli")
1531 (version (git-version "0.0.0" revision commit))
1532 (source (origin
1533 (method git-fetch)
1534 (uri (git-reference
1535 (url "https://github.com/AudriusButkevicius/cli.git")
1536 (commit commit)))
1537 (file-name (git-file-name name version))
1538 (sha256
1539 (base32
1540 "0bg26pfg25vr16jmczig2m493mja2nxjxyswz3hha7avxw20rpi5"))))
1541 (build-system go-build-system)
1542 (arguments
1543 '(#:import-path "github.com/AudriusButkevicius/cli"))
1544 (synopsis "Library for building command-line interfaces in Go")
1545 (description "This package provides a library for building command-line
1546 interfaces in Go.")
1547 (home-page "https://github.com/AudriusButkevicius/cli")
1548 (license expat))))
1549
1550 (define-public go-github-com-kballard-go-shellquote
1551 (let ((commit "cd60e84ee657ff3dc51de0b4f55dd299a3e136f2")
1552 (revision "0"))
1553 (package
1554 (name "go-github-com-kballard-go-shellquote")
1555 (version (git-version "0.0.0" revision commit))
1556 (source (origin
1557 (method git-fetch)
1558 (uri (git-reference
1559 (url "https://github.com/kballard/go-shellquote.git")
1560 (commit commit)))
1561 (file-name (git-file-name name version))
1562 (sha256
1563 (base32
1564 "1xjpin4jq1zl84dcn96xhjmn9bsfyszf6g9aqyj2dc0xfi6c88y0"))))
1565 (build-system go-build-system)
1566 (arguments
1567 '(#:import-path "github.com/kballard/go-shellquote"))
1568 (synopsis "Shell-style string joins and splits")
1569 (description "Shellquote provides utilities for joining/splitting strings
1570 using sh's word-splitting rules.")
1571 (home-page "https://github.com/kballard/go-shellquote")
1572 (license expat))))
1573
1574 (define-public go-github-com-templexxx-reedsolomon
1575 (package
1576 (name "go-github-com-templexxx-reedsolomon")
1577 (version "0.1.1")
1578 (source (origin
1579 (method git-fetch)
1580 (uri (git-reference
1581 (url "https://github.com/templexxx/reedsolomon.git")
1582 (commit version)))
1583 (sha256
1584 (base32
1585 "05yfi6dq2mwaw6jf9vq2qhpw8vb9y94b3zi6mpfcpma262rxdkg4"))))
1586 (build-system go-build-system)
1587 (arguments
1588 '(#:import-path "github.com/templexxx/reedsolomon"))
1589 (propagated-inputs
1590 `(("go-github-com-templexxx-cpufeat"
1591 ,go-github-com-templexxx-cpufeat)))
1592 (synopsis "Reed-Solomon Erasure Coding in Go")
1593 (description "This package provides and implemenation of Reed-Solomon
1594 Erasure Coding in Go.")
1595 (home-page "https://github.com/templexxx/reedsolomon")
1596 (license expat)))
1597
1598 (define-public go-github-com-templexxx-cpufeat
1599 (let ((commit "3794dfbfb04749f896b521032f69383f24c3687e")
1600 (revision "0"))
1601 (package
1602 (name "go-github-com-templexxx-cpufeat")
1603 (version (git-version "0.0.0" revision commit))
1604 (source (origin
1605 (method git-fetch)
1606 (uri (git-reference
1607 (url "https://github.com/templexxx/cpufeat.git")
1608 (commit commit)))
1609 (file-name (git-file-name name version))
1610 (sha256
1611 (base32
1612 "0b9f5p6nsiv907rz5d66qzgxnsz4k68r2f45vxi2hwdbnkjfxz8j"))))
1613 (build-system go-build-system)
1614 (arguments
1615 '(#:import-path "github.com/templexxx/cpufeat"))
1616 (synopsis "CPU feature identification for Go")
1617 (description "This package provides @code{cpu}, which implements
1618 processor feature detection used by the Go standard libary.")
1619 (home-page "https://github.com/templexxx/cpufeat")
1620 (license bsd-3))))