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