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