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