gnu: go-github-com-lib-pq: Update to 0.0.0-1.83612a5.
[jackhill/guix/guix.git] / gnu / packages / syncthing.scm
CommitLineData
56a37713
LF
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)
cca22eb3 22 #:use-module (guix build-system trivial)
56a37713 23 #:use-module (guix packages)
947453a8 24 #:use-module (guix download)
56a37713
LF
25 #:use-module (guix git-download)
26 #:use-module (guix licenses))
27
947453a8
LF
28(define-public syncthing
29 (package
30 (name "syncthing")
187cc2b4 31 (version "0.14.42")
947453a8
LF
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
187cc2b4 39 "0qqcn8j2hng4jl6ndbrjmbiwbl2f305qx5yw7swbvj7s3l7k756i"))))
947453a8 40 (build-system go-build-system)
c330c27f
LF
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"))
947453a8
LF
45 (arguments
46 `(#:import-path "github.com/syncthing/syncthing"
47 #:unpack-path "github.com/syncthing"
1899ef0b
LF
48 ;; We don't need to install the source code for end-user applications.
49 #:install-source? #f
947453a8
LF
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
947453a8
LF
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
c330c27f
LF
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)))
947453a8
LF
91
92 (add-after 'install 'install-docs
93 (lambda* (#:key outputs #:allow-other-keys)
94 (let* ((out (assoc-ref outputs "out"))
c330c27f
LF
95 (utils (assoc-ref outputs "utils"))
96 (man "/share/man")
97 (man-section (string-append man "/man"))
947453a8 98 (src "src/github.com/syncthing/syncthing/man/"))
c330c27f 99 ;; Install all the man pages to "out".
947453a8
LF
100 (for-each
101 (lambda (file)
102 (install-file file
c330c27f
LF
103 (string-append out man-section
104 (string-take-right file 1))))
947453a8 105 (find-files src "\\.[1-9]"))
c330c27f
LF
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"))
947453a8
LF
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)
27fbcae6
LF
121 ("go-github-com-xtaci-kcp-go"
122 ,go-github-com-xtaci-kcp-go)
947453a8
LF
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"
03b154f8
LF
161 ,go-github-com-d4l3k-messagediff)
162 ("go-github-com-zillode-notify" ,go-github-com-zillode-notify)))
947453a8
LF
163 (synopsis "Decentralized continuous filesystem synchronization")
164 (description "Syncthing is a peer-to-peer file synchronization tool that
165supports a wide variety of computing platforms. It uses the Block Exchange
166Protocol.")
167 (home-page "https://github.com/syncthing/syncthing")
168 (license mpl2.0)))
169
56a37713
LF
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
189protocol for port mapping and discovering the external IP address of a
190firewall.")
191 (home-page "https://github.com/AudriusButkevicius/go-nat-pmp")
192 (license asl2.0))))
67b46818
LF
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
214the LZ4 compression algorithm.")
215 (home-page "https://github.com/bkaradzic/go-lz4")
216 (license bsd-2))))
add56f34
LF
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
236information, such as how much storage space is available, free, and used.")
237 (home-page "https://github.com/calmh/du")
238 (license public-domain)))
1e28085e
LF
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)
260marshalling and unmarshalling library in Go. It uses code generation and not
261reflection.")
262 (home-page "https://github.com/calmh/xdr")
263 (license expat))))
ab3e1589
LF
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
285structs in the Go programming language.")
286 (home-page "https://github.com/d4l3k/messagediff")
287 (license expat))))
a3a5b012
LF
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))))
4d93ebb3
LF
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))))
07e88fc6 334
503802ab
LF
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
3a4d3838 360(define-public go-github-com-gogo-protobuf
c1753d6c
LF
361 (let ((commit "35b81a066e522fb86ece043a8ef1dbfa10b4fed1")
362 (revision "1"))
3a4d3838
LF
363 (package
364 (name "go-github-com-gogo-protobuf")
c1753d6c 365 (version (git-version "0.5" revision commit))
3a4d3838
LF
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
c1753d6c 374 "194k6cls2g654df54x5rzrn5nqrfk8yz1jymm667ajjvzcplidja"))))
3a4d3838
LF
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
384generation 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
07e88fc6
LF
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
417generation 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))))
ede4f50c
LF
428
429(define-public go-github-com-golang-groupcache-lru
e83994f2
LF
430 (let ((commit "84a468cf14b4376def5d68c722b139b881c450a4")
431 (revision "1"))
ede4f50c
LF
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
e83994f2 443 "1ky1r9qh54yi9zp2769qrjngzndgd8fn7mja2qfac285n06chmcn"))))
ede4f50c
LF
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
450as a replacement for memcached in many cases. It provides a data loading
451mechanism with caching and de-duplication that works across a set of peer
452processes.")
453 (home-page "https://github.com/golang/groupcache")
454 (license asl2.0))))
b32eab0b
LF
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
476compression format.")
477 (home-page "https://github.com/golang/snappy")
478 (license bsd-3))))
7b92093d
LF
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
500address of the default LAN gateway.")
501 (home-page "https://github.com/jackpal/gateway")
502 (license bsd-3))))
7577a1d5
LF
503
504(define-public go-github-com-kardianos-osext
ece4c5bc
LF
505 (let ((commit "ae77be60afb1dcacde03767a8c37337fad28ac14")
506 (revision "1"))
7577a1d5
LF
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
ece4c5bc 518 "056dkgxrqjj5r18bnc3knlpgdz5p3yvp12y4y978hnsfhwaqvbjz"))))
7577a1d5
LF
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
524file that is running. This can be used for upgrading the current executable or
525finding resources located relative to the executable file.")
526 (home-page "https://github.com/kardianos/osext")
527 (license bsd-3))))
340e1a9a
LF
528
529(define-public go-github-com-lib-pq
5e30d8c1
LF
530 (let ((commit "83612a56d3dd153a94a629cd64925371c9adad78")
531 (revision "1"))
340e1a9a
LF
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
5e30d8c1 543 "12334yigh284k5cdvb9pgxaq6n78205jcbp75ajz44vvfd4wi6qc"))))
340e1a9a
LF
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
552database/sql package.")
553 (home-page "https://github.com/lib/pq")
554 (license expat))))
4a9c4dbe
LF
555
556(define-public go-github-com-minio-sha256-simd
b12df4f5
LF
557 (let ((commit "ad98a36ba0da87206e3378c556abbfeaeaa98668")
558 (revision "1"))
4a9c4dbe
LF
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
b12df4f5 570 "0yfnqn3kqdnlfm54yvc4fr5vpdmwdi2kw571nlkbpmy8ldhsqqfi"))))
4a9c4dbe
LF
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
576using SIMD (Single instruction, multiple data) instructions for Intel and ARM
577architectures.")
578 (home-page "https://github.com/minio/sha256-simd")
579 (license asl2.0))))
bde48edc 580
0921b230
LF
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
606GeoLite2 and GeoIP2 databases in Go.")
607 (home-page "https://github.com/oschwald/geoip2-golang")
608 (license isc))))
609
a57778f5
LF
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
633this can be used to read GeoLite2 and GeoIP2 databases, @code{geoip2} provides a
634higher-level API for doing so.")
635 (home-page "https://github.com/oschwald/maxminddb-golang")
636 (license isc))))
637
6bc1eb11
LF
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
1a4795f9
LF
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
683Metrics library.")
684 (home-page "https://github.com/rcrowley/go-metrics")
685 (license bsd-2))))
686
8d7e9924
LF
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
709run-time in Go.")
710 (home-page "https://github.com/sasha-s/go-deadlock")
711 (license asl2.0))))
712
c864a4a7 713(define-public go-github-com-syndtr-goleveldb
128890f7
LF
714 (let ((commit "549b6d6b1c0419617182954dd77770f2e2685ed5")
715 (revision "1"))
c864a4a7
LF
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
128890f7 727 "1hs8bsxyjfq9d7000i1jk8bq7p2ab8snz23air13aw5ra2ri36bq"))))
c864a4a7
LF
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
737database in Go.")
738 (home-page "https://github.com/syndtr/goleveldb")
739 (license bsd-2))))
740
f7612f0f
LF
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
762when it's trying to die.
763
764It is intended to deal gracefully with the real failure cases that can occur
765with supervision trees (such as burning all your CPU time endlessly restarting
766dead services), while also making no unnecessary demands on the \"service\"
767code, and providing hooks to perform adequate logging with in a production
768environment")
769 (home-page "https://github.com/thejerf/suture")
770 (license expat))))
771
3c466da1
LF
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
292a6b0d
LF
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
820human-meaningful graphics in QR codes. However, instead of scribbling on
821redundant 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
823inherent errors. This @code{qart} component, @code{coding}, implements
824low-level QR coding details.")
825 (home-page "https://github.com/vitrun/qart/")
826 (license bsd-3))))
827
6934827a
LF
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},
850implements arithmetic over the Galois Field GF(256).")
851 (home-page "https://github.com/vitrun/qart")
892ced6d
LF
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
878human-meaningful graphics in QR codes. However, instead of scribbling on
879redundant 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
881inherent errors. This @code{qart} component, @code{qr}, provides QR code
882generation.")
883 (home-page "https://github.com/vitrun/qart")
6934827a
LF
884 (license bsd-3))))
885
cca22eb3
LF
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
918union is required because `go build` assumes that all of the headers and
919libraries 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
8da09afc
LF
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
956password hashing function.")
957 (home-page "https://go.googlesource.com/crypto/")
3cf3cdc9
LF
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
993symmetric-key block cipher.")
994 (home-page "https://go.googlesource.com/crypto/")
b65620b6
LF
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
1030derivation function.")
1031 (home-page "https://go.googlesource.com/crypto/")
63950f9b
LF
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
1067Algorithm (TEA) block cipher.")
1068 (home-page "https://go.googlesource.com/crypto/")
7e7df095
LF
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
1104stream cipher.")
1105 (home-page "https://go.googlesource.com/crypto/")
95b493f2
LF
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
932fb477
LF
1141symmetric-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
95b493f2
LF
1178symmetric-key block cipher.")
1179 (home-page "https://go.googlesource.com/crypto/")
edcc061c
LF
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
1215Tiny Encryption Algorithm (XTEA) block cipher.")
1216 (home-page "https://go.googlesource.com/crypto/")
8da09afc
LF
1217 (license bsd-3))))
1218
4c3cc949
LF
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
b5ad117b
LF
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
1269socket options for the Internet Protocol version 4.")
1270 (home-page "https://go.googlesource.com/net")
1271 (license bsd-3))))
1272
3544d525
LF
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
1295Packet Filter (BPF) virtual machine.")
1296 (home-page "https://go.googlesource.com/net/")
303dfd5c
LF
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
1321Context type, which carries deadlines, cancelation signals, and other
1322request-scoped values across API boundaries and between processes.")
1323 (home-page "https://go.googlesource.com/net/")
f20d1300
LF
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
1348number resources managed by the Internet Assigned Numbers Authority (IANA).")
1349 (home-page "https://go.googlesource.com/net/")
3544d525
LF
1350 (license bsd-3))))
1351
8c73bb2c
LF
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
1374IP-level socket options for the Internet Protocol version 6.")
1375 (home-page "https://go.googlesource.com/net")
04e2d470
LF
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
1400for a variety of protocols to proxy network data.")
1401 (home-page "https://go.googlesource.com/net")
8c73bb2c
LF
1402 (license bsd-3))))
1403
bde48edc 1404(define-public go-golang-org-x-sys-unix
2b458860
LF
1405 (let ((commit "83801418e1b59fb1880e363299581ee543af32ca")
1406 (revision "1"))
bde48edc
LF
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
2b458860 1418 "0ilykaanvnzb27d42kmbr4i37hcn7hgqbx98z945gy63aa8dskji"))))
bde48edc
LF
1419 (build-system go-build-system)
1420 (arguments
1421 `(#:import-path "golang.org/x/sys/unix"
2b458860
LF
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)))))
bde48edc
LF
1431 (synopsis "Go support for low-level system interaction")
1432 (description "This package provides @code{unix}, which offers Go support
1433for low-level interaction with the operating system.")
1434 (home-page "https://go.googlesource.com/sys")
1435 (license bsd-3))))
73a2f841 1436
ae8c7774
LF
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
e4ef4772
LF
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
1484reader and writer wrappers that transform the bytes passing through. Example
1485transformations provided by other packages include normalization and conversion
1486between character sets.")
1487 (home-page "https://go.googlesource.com/text")
ea969c6b
LF
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
1512functions for normalizing Unicode strings.")
1513 (home-page "https://go.googlesource.com/text")
e4ef4772
LF
1514 (license bsd-3))))
1515
6deb73c4 1516(define-public go-github-com-audriusbutkevicius-pfilter
23e2c09c
LF
1517 (let ((commit "9dca34a5b530bfc9843fa8aa2ff08ff9821032cb")
1518 (revision "2"))
6deb73c4
LF
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
23e2c09c 1531 "0i4qbnwba49db27fb1y792gcvhb0m744i9q4zgwjbypqmy3bj2a5"))))
6deb73c4
LF
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
1537virtual connections from a single physical connection.")
1538 (home-page "https://github.com/AudriusButkevicius/pfilter")
1539 (license expat))))
1540
db64cb40 1541(define-public go-github-com-ccding-go-stun
3b58b7f2
LF
1542 (let ((commit "d9bbe8f8fa7bf7ed03e6cfc6a2796bb36139e1f4")
1543 (revision "1"))
db64cb40
LF
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
3b58b7f2 1556 "04a4q69cmw6snlx54wikyj1y6gk94qzm9xv9als17inmj8z60xv7"))))
db64cb40
LF
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
1562and RFC 5389).")
1563 (home-page "https://github.com/ccding/go-stun")
1564 (license asl2.0))))
1565
2785690a 1566(define-public go-github-com-chmduquesne-rollinghash-adler32
e1c81535
LF
1567 (let ((commit "3dc7875a1f890f9bcf0619adb5571fc6f7d516bb")
1568 (revision "1"))
2785690a
LF
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
e1c81535 1581 "0frl021qdqcdyk9fccw6x1v2byvh0hls4rsrdjih5jgqpc18kx6y"))))
2785690a
LF
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
1588rolling hash.")
1589 (home-page "https://github.com/chmduquesne/rollinghash")
1590 (license expat))))
1591
27fbcae6
LF
1592(define-public go-github-com-xtaci-kcp-go
1593 (let ((commit "86eebd5cadb519b7c9306082c7eb3bcee2c49a7b")
1594 (revision "0"))
3d86b557 1595 (package
27fbcae6 1596 (name "go-github-com-xtaci-kcp-go")
3d86b557
LF
1597 (version (git-version "0.0.0" revision commit))
1598 (source
1599 (origin
1600 (method git-fetch)
1601 (uri (git-reference
27fbcae6 1602 (url "https://github.com/xtaci/kcp-go")
3d86b557
LF
1603 (commit commit)))
1604 (file-name (git-file-name name version))
1605 (sha256
1606 (base32
27fbcae6 1607 "1mdfsya4y04nycfgsk9ghm67zpim5pw78si3f1566xgrv4ghl0ni"))))
3d86b557
LF
1608 (build-system go-build-system)
1609 (propagated-inputs
1610 `(("go-golang-org-x-net-ipv4" ,go-golang-org-x-net-ipv4)
27fbcae6
LF
1611 ("go-github-com-klauspost-reedsolomon"
1612 ,go-github-com-klauspost-reedsolomon)
4cf6827d 1613 ("go-github-com-tjfoc-gmsm-sm4" ,go-github-com-tjfoc-gmsm-sm4)
3d86b557
LF
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
27fbcae6
LF
1618 '(#:import-path "github.com/xtaci/kcp-go"
1619 ;; XXX update comment
3d86b557
LF
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
1626written in Go. It offers fast, ordered and error-checked delivery of streams
1627over UDP packets.")
1628 (home-page "https://github.com/xtaci/kcp-go")
1629 (license expat))))
1630
66500b27
LF
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
3ce46390
LF
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
1678Golang. It relies on an underlying connection to provide reliability and
1679ordering, such as TCP or KCP, and provides stream-oriented multiplexing.")
1680 (home-page "https://github.com/xtaci/smux")
1681 (license expat))))
1682
936e02b4
LF
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
1703error handling primitives in Go.")
1704 (home-page "https://github.com/pkg/errors")
1705 (license bsd-2))))
1706
cb42a2a8 1707(define-public go-golang-org-x-time-rate
3aecf5bd
LF
1708 (let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7")
1709 (revision "1"))
cb42a2a8
LF
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
3aecf5bd 1721 "1fx4cf5fpdz00g3c7vxzy92hdcg0vh4yqw00qp5s52j72qixynbk"))))
cb42a2a8
LF
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
1730limiting in Go.")
1731 (home-page "https://godoc.org/golang.org/x/time/rate")
1732 (license bsd-3))))
1733
73a2f841
LF
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
1755the current goroutine's ID.")
1756 (home-page "https://github.com/petermattis/goid")
1757 (license asl2.0))))
71415e23
LF
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
1779interfaces in Go.")
1780 (home-page "https://github.com/AudriusButkevicius/cli")
1781 (license expat))))
89d91ee2
LF
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
1803using sh's word-splitting rules.")
1804 (home-page "https://github.com/kballard/go-shellquote")
1805 (license expat))))
a3d98dd8 1806
478ebb31
LF
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
1827Erasure Coding in Go.")
1828 (home-page "https://github.com/templexxx/reedsolomon")
1829 (license expat)))
1830
a3d98dd8
LF
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
1851processor feature detection used by the Go standard libary.")
1852 (home-page "https://github.com/templexxx/cpufeat")
1853 (license bsd-3))))
f44169c2
LF
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
1876cipher used in the Chinese National Standard for Wireless LAN WAPI (Wired
1877Authentication and Privacy Infrastructure).")
1878 (home-page "https://github.com/tjfoc/gmsm")
1879 (license asl2.0))))
52ff28e4
LF
1880
1881(define-public go-github-com-zillode-notify
38ea2802
LF
1882 (let ((commit "8fff849a2026ce7a59f67ed9747dd9c7adc8bd0b")
1883 (revision "1"))
52ff28e4
LF
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
38ea2802 1895 "1aazci21y85k1c02dlvdfx926vxb3j4i96fn27s7zxmqjlk7l3ga"))))
52ff28e4
LF
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
1903notification library in Go.")
1904 (home-page "https://github.com/zillode/notify")
1905 (license expat))))
63aade45
LF
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))))
e62d0575
LF
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
1953Erasure Coding in Go.")
1954 (home-page "https://github.com/klauspost/reedsolomon")
1955 (license expat))))