gnu: Add go-github-com-rcrowley-go-metrics.
[jackhill/guix/guix.git] / gnu / packages / syncthing.scm
CommitLineData
56a37713
LF
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Petter <petter@mykolab.ch>
3;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
4;;;
5;;; This file is part of GNU Guix.
6;;;
7;;; GNU Guix is free software; you can redistribute it and/or modify it
8;;; under the terms of the GNU General Public License as published by
9;;; the Free Software Foundation; either version 3 of the License, or (at
10;;; your option) any later version.
11;;;
12;;; GNU Guix is distributed in the hope that it will be useful, but
13;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15;;; GNU General Public License for more details.
16;;;
17;;; You should have received a copy of the GNU General Public License
18;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20(define-module (gnu packages syncthing)
21 #:use-module (guix build-system go)
22 #:use-module (guix packages)
23 #:use-module (guix git-download)
24 #:use-module (guix licenses))
25
26(define-public go-github-com-audriusbutkevicius-go-nat-pmp
27 (let ((commit "452c97607362b2ab5a7839b8d1704f0396b640ca")
28 (revision "0"))
29 (package
30 (name "go-github-com-audriusbutkevicius-go-nat-pmp")
31 (version (git-version "0.0.0" revision commit))
32 (source (origin
33 (method git-fetch)
34 (uri (git-reference
35 (url "https://github.com/AudriusButkevicius/go-nat-pmp")
36 (commit commit)))
37 (file-name (git-file-name name version))
38 (sha256
39 (base32 "1accmpl1llk16a19nlyy991fqrgfay6l53gb64hgmdfmqljdvbk7"))))
40 (build-system go-build-system)
41 (arguments
42 `(#:import-path "github.com/AudriusButkevicius/go-nat-pmp"))
43 (synopsis "Port mapping and discovery of external IP address")
44 (description "This packages provides a Go client for the NAT-PMP internet
45protocol for port mapping and discovering the external IP address of a
46firewall.")
47 (home-page "https://github.com/AudriusButkevicius/go-nat-pmp")
48 (license asl2.0))))
67b46818
LF
49
50(define-public go-github-com-bkaradzic-go-lz4
51 (let ((commit "7224d8d8f27ef618c0a95f1ae69dbb0488abc33a")
52 (revision "0"))
53 (package
54 (name "go-github-com-bkaradzic-go-lz4")
55 (version (git-version "0.0.0" revision commit))
56 (source (origin
57 (method git-fetch)
58 (uri (git-reference
59 (url "https://github.com/bkaradzic/go-lz4")
60 (commit commit)))
61 (file-name (git-file-name name version))
62 (sha256
63 (base32
64 "10lmya17vdqg2pvqni0p73iahni48s1v11ya9a0hcz4jh5vw4dkb"))))
65 (build-system go-build-system)
66 (arguments
67 `(#:import-path "github.com/bkaradzic/go-lz4"))
68 (synopsis "LZ4 compression algorithm")
69 (description "This package provides @code{go-lz4}, a Go implementation of
70the LZ4 compression algorithm.")
71 (home-page "https://github.com/bkaradzic/go-lz4")
72 (license bsd-2))))
add56f34
LF
73
74(define-public go-github-com-calmh-du
75 (package
76 (name "go-github-com-calmh-du")
77 (version "1.0.1")
78 (source (origin
79 (method git-fetch)
80 (uri (git-reference
81 (url "https://github.com/calmh/du")
82 (commit (string-append "v" version))))
83 (file-name (git-file-name name version))
84 (sha256
85 (base32
86 "0qb3a6y3p9nkyn3s66k6zcm16y8n8578qh23ddj14cxf2scrr2n2"))))
87 (build-system go-build-system)
88 (arguments
89 `(#:import-path "github.com/calmh/du"))
90 (synopsis "Get total and available disk space of a given volume")
91 (description "This is a Go implementation of `du`. It provides disk usage
92information, such as how much storage space is available, free, and used.")
93 (home-page "https://github.com/calmh/du")
94 (license public-domain)))
1e28085e
LF
95
96(define-public go-github-com-calmh-xdr
97 (let ((commit "08e072f9cb164f943a92eb59f90f3abc64ac6e8f")
98 (revision "0"))
99 (package
100 (name "go-github-com-calmh-xdr")
101 (version (git-version "2.0.1" revision commit))
102 (source (origin
103 (method git-fetch)
104 (uri (git-reference
105 (url "https://github.com/calmh/xdr")
106 (commit commit)))
107 (file-name (git-file-name name version))
108 (sha256
109 (base32
110 "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh"))))
111 (build-system go-build-system)
112 (arguments
113 `(#:import-path "github.com/calmh/xdr"))
114 (synopsis "XDR marshalling and unmarshalling")
115 (description "XDR is an External Data Representation (XDR)
116marshalling and unmarshalling library in Go. It uses code generation and not
117reflection.")
118 (home-page "https://github.com/calmh/xdr")
119 (license expat))))
ab3e1589
LF
120
121(define-public go-github-com-d4l3k-messagediff
122 (let ((commit "29f32d820d112dbd66e58492a6ffb7cc3106312b")
123 (revision "0"))
124 (package
125 (name "go-github-com-d4l3k-messagediff")
126 (version (git-version "1.1.0" revision commit))
127 (source (origin
128 (method git-fetch)
129 (uri (git-reference
130 (url "https://github.com/d4l3k/messagediff")
131 (commit commit)))
132 (file-name (git-file-name name version))
133 (sha256
134 (base32
135 "104hl8x57ciaz7mzafg1vp9qggxcyfm8hsv9bmlihbz9ml3nyr8v"))))
136 (build-system go-build-system)
137 (arguments
138 `(#:import-path "github.com/d4l3k/messagediff"))
139 (synopsis "Diff arbitrary Go structs")
140 (description "Messagediff is a library for calculating diffs of arbitrary
141structs in the Go programming language.")
142 (home-page "https://github.com/d4l3k/messagediff")
143 (license expat))))
a3a5b012
LF
144
145(define-public go-github-com-edsrzf-mmap-go
146 (let ((commit "0bce6a6887123b67a60366d2c9fe2dfb74289d2e")
147 (revision "0"))
148 (package
149 (name "go-github-com-edsrzf-mmap-go")
150 (version (git-version "0.0.0" revision commit))
151 (source (origin
152 (method git-fetch)
153 (uri (git-reference
154 (url "https://github.com/edsrzf/mmap-go")
155 (commit commit)))
156 (file-name (git-file-name name version))
157 (sha256
158 (base32
159 "1am4m2k451bksnbiqj6lxknk4lsgmrhv0q3ajqac818vj0cpfgs9"))))
160 (build-system go-build-system)
161 (arguments
162 `(#:import-path "github.com/edsrzf/mmap-go"))
163 (synopsis "Go implementation of mmap")
164 (description "This packages provides a Go implementation of mmap.")
165 (home-page "https://github.com/edsrzf/mmap-go")
166 (license bsd-3))))
4d93ebb3
LF
167
168(define-public go-github-com-gobwas-glob
169 (let ((commit "51eb1ee00b6d931c66d229ceeb7c31b985563420")
170 (revision "0"))
171 (package
172 (name "go-github-com-gobwas-glob")
173 (version (git-version "0.0.0" revision commit))
174 (source (origin
175 (method git-fetch)
176 (uri (git-reference
177 (url "https://github.com/gobwas/glob")
178 (commit commit)))
179 (file-name (git-file-name name version))
180 (sha256
181 (base32
182 "090wzpwsjana1qas8ipwh1pj959gvc4b7vwybzi01f3bmd79jwlp"))))
183 (build-system go-build-system)
184 (arguments
185 `(#:import-path "github.com/gobwas/glob"))
186 (synopsis "Go globbing library")
187 (description "This packages provides a Go implementation of globs.")
188 (home-page "https://github.com/gobwas/glob")
189 (license expat))))
07e88fc6 190
3a4d3838
LF
191(define-public go-github-com-gogo-protobuf
192 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
193 (revision "0"))
194 (package
195 (name "go-github-com-gogo-protobuf")
196 (version (git-version "0.2" revision commit))
197 (source (origin
198 (method git-fetch)
199 (uri (git-reference
200 (url "https://github.com/gogo/protobuf")
201 (commit commit)))
202 (file-name (git-file-name name version))
203 (sha256
204 (base32
205 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
206 (build-system go-build-system)
207 (arguments
208 `(#:import-path "github.com/gogo/protobuf/proto"
209 #:unpack-path "github.com/gogo/protobuf"))
210 (propagated-inputs
211 `(("go-github-com-gogo-protobuf-protoc-gen-gogo"
212 ,go-github-com-gogo-protobuf-protoc-gen-gogo)))
213 (synopsis "Protocol Buffers for Go with Gadgets")
214 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
215generation features. This code generation is used to achieve:
216@itemize
217@item fast marshalling and unmarshalling
218@item more canonical Go structures
219@item goprotobuf compatibility
220@item less typing by optionally generating extra helper code
221@item peace of mind by optionally generating test and benchmark code
222@item other serialization formats
223@end itemize")
224 (home-page "https://github.com/gogo/protobuf")
225 (license bsd-3))))
226
07e88fc6
LF
227(define-public go-github-com-gogo-protobuf-protoc-gen-gogo
228 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
229 (revision "0"))
230 (package
231 (name "go-github-com-gogo-protobuf-protoc-gen-gogo")
232 (version (git-version "0.2" revision commit))
233 (source (origin
234 (method git-fetch)
235 (uri (git-reference
236 (url "https://github.com/gogo/protobuf")
237 (commit commit)))
238 (file-name (git-file-name name version))
239 (sha256
240 (base32
241 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
242 (build-system go-build-system)
243 (arguments
244 `(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo"
245 #:unpack-path "github.com/gogo/protobuf"))
246 (synopsis "Protocol Buffers for Go with Gadgets")
247 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
248generation features. This code generation is used to achieve:
249@itemize
250@item fast marshalling and unmarshalling
251@item more canonical Go structures
252@item goprotobuf compatibility
253@item less typing by optionally generating extra helper code
254@item peace of mind by optionally generating test and benchmark code
255@item other serialization formats
256@end itemize")
257 (home-page "https://github.com/gogo/protobuf")
258 (license bsd-3))))
ede4f50c
LF
259
260(define-public go-github-com-golang-groupcache-lru
261 (let ((commit "72d04f9fcdec7d3821820cc4a6f150eae553639a")
262 (revision "0"))
263 (package
264 (name "go-github-com-golang-groupcache-lru")
265 (version (git-version "0.0.0" revision commit))
266 (source (origin
267 (method git-fetch)
268 (uri (git-reference
269 (url "https://github.com/golang/groupcache")
270 (commit commit)))
271 (file-name (git-file-name name version))
272 (sha256
273 (base32
274 "1l3ryh7bq1f2mhr3sd3x1wav99pd27r8l3ydgqh375wn4x7v5qd6"))))
275 (build-system go-build-system)
276 (arguments
277 `(#:import-path "github.com/golang/groupcache/lru"
278 #:unpack-path "github.com/golang/groupcache"))
279 (synopsis "Groupcache is a caching and cache-filling library")
280 (description "Groupcache is a caching and cache-filling library, intended
281as a replacement for memcached in many cases. It provides a data loading
282mechanism with caching and de-duplication that works across a set of peer
283processes.")
284 (home-page "https://github.com/golang/groupcache")
285 (license asl2.0))))
b32eab0b
LF
286
287(define-public go-github-com-golang-snappy
288 (let ((commit "553a641470496b2327abcac10b36396bd98e45c9")
289 (revision "0"))
290 (package
291 (name "go-github-com-golang-snappy")
292 (version (git-version "0.0.0" revision commit))
293 (source (origin
294 (method git-fetch)
295 (uri (git-reference
296 (url "https://github.com/golang/snappy")
297 (commit commit)))
298 (file-name (git-file-name name version))
299 (sha256
300 (base32
301 "0kssxnih1l722hx9219c7javganjqkqhvl3i0hp0hif6xm6chvqk"))))
302 (build-system go-build-system)
303 (arguments
304 `(#:import-path "github.com/golang/snappy"))
305 (synopsis "Snappy compression format in the Go programming language")
306 (description "This package provides a Go implementation of the Snappy
307compression format.")
308 (home-page "https://github.com/golang/snappy")
309 (license bsd-3))))
7b92093d
LF
310
311(define-public go-github-com-jackpal-gateway
312 (let ((commit "5795ac81146e01d3fab7bcf21c043c3d6a32b006")
313 (revision "0"))
314 (package
315 (name "go-github-com-jackpal-gateway")
316 (version (git-version "0.0.0" revision commit))
317 (source (origin
318 (method git-fetch)
319 (uri (git-reference
320 (url "https://github.com/jackpal/gateway")
321 (commit commit)))
322 (file-name (git-file-name name version))
323 (sha256
324 (base32
325 "0fkwkwmhfadwk3cha8616bhqxfkr9gjjnynhhxyldlphixgs3f25"))))
326 (build-system go-build-system)
327 (arguments
328 `(#:import-path "github.com/jackpal/gateway"))
329 (synopsis "Discover the address of a LAN gateway")
330 (description "@code{gateway} is a Go library for discovering the IP
331address of the default LAN gateway.")
332 (home-page "https://github.com/jackpal/gateway")
333 (license bsd-3))))
7577a1d5
LF
334
335(define-public go-github-com-kardianos-osext
336 (let ((commit "9d302b58e975387d0b4d9be876622c86cefe64be")
337 (revision "0"))
338 (package
339 (name "go-github-com-kardianos-osext")
340 (version (git-version "0.0.0" revision commit))
341 (source (origin
342 (method git-fetch)
343 (uri (git-reference
344 (url "https://github.com/kardianos/osext")
345 (commit commit)))
346 (file-name (git-file-name name version))
347 (sha256
348 (base32
349 "0r6f727s16g4f66k8c2z1xh8ga1p53hg9g2v95pmhd1i60fhy47a"))))
350 (build-system go-build-system)
351 (arguments
352 `(#:import-path "github.com/kardianos/osext"))
353 (synopsis "Find the running executable")
354 (description "Osext provides a method for finding the current executable
355file that is running. This can be used for upgrading the current executable or
356finding resources located relative to the executable file.")
357 (home-page "https://github.com/kardianos/osext")
358 (license bsd-3))))
340e1a9a
LF
359
360(define-public go-github-com-lib-pq
361 (let ((commit "2704adc878c21e1329f46f6e56a1c387d788ff94")
362 (revision "0"))
363 (package
364 (name "go-github-com-lib-pq")
365 (version (git-version "0.0.0" revision commit))
366 (source (origin
367 (method git-fetch)
368 (uri (git-reference
369 (url "https://github.com/lib/pq")
370 (commit commit)))
371 (file-name (git-file-name name version))
372 (sha256
373 (base32
374 "160fmvi7bczxw3i3h5s821hv029ph5ld8x3c36b4cz2sr30wp110"))))
375 (build-system go-build-system)
376 (arguments
377 `(#:import-path "github.com/lib/pq"
378 ;; The tests seem to fail without access to the network or a running
379 ;; Postgres instance.
380 #:tests? #f))
381 (synopsis "Golang Postgres driver for Go's database/sql")
382 (description "This packages provides a pure Go Postgres driver for Go's
383database/sql package.")
384 (home-page "https://github.com/lib/pq")
385 (license expat))))
4a9c4dbe
LF
386
387(define-public go-github-com-minio-sha256-simd
388 (let ((commit "6124d070eb4e7001c244b6ccc282620a5dce44a0")
389 (revision "0"))
390 (package
391 (name "go-github-com-minio-sha256-simd")
392 (version (git-version "0.0.0" revision commit))
393 (source (origin
394 (method git-fetch)
395 (uri (git-reference
396 (url "https://github.com/minio/sha256-simd")
397 (commit commit)))
398 (file-name (git-file-name name version))
399 (sha256
400 (base32
401 "1azrdp7x7vl9ngkxs890blspz0345xhadvssdlb0435hdqa0gkll"))))
402 (build-system go-build-system)
403 (arguments
404 `(#:import-path "github.com/minio/sha256-simd"))
405 (synopsis "Hardware-accelerated SHA256 in Go using SIMD")
406 (description "This packages provides a pure Go implementation of SHA256
407using SIMD (Single instruction, multiple data) instructions for Intel and ARM
408architectures.")
409 (home-page "https://github.com/minio/sha256-simd")
410 (license asl2.0))))
bde48edc 411
0921b230
LF
412(define-public go-github-com-oschwald-geoip2-golang
413 (let ((commit "0fd242da7906550802871efe101abfdb1cc550a8")
414 (revision "0"))
415 (package
416 (name "go-github-com-oschwald-geoip2-golang")
417 (version (git-version "0.1.0" revision commit))
418 (source (origin
419 (method git-fetch)
420 (uri (git-reference
421 (url "https://github.com/oschwald/geoip2-golang")
422 (commit commit)))
423 (file-name (git-file-name name version))
424 (sha256
425 (base32
426 "0kglnix0r5sjkk346ip30l7dwq1gv2g4wjy2cjmgjvb8x778hnww"))))
427 (build-system go-build-system)
428 (propagated-inputs
429 `(("go-github-com-oschwald-maxminddb-golang"
430 ,go-github-com-oschwald-maxminddb-golang)
431 ("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
432 (arguments
433 `(#:import-path "github.com/oschwald/geoip2-golang"
434 #:tests? #f)) ; Requires some unpackaged software and test data
435 (synopsis "MaxMind GeoIP2 reader")
436 (description "This packages provides a library for reading MaxMind
437GeoLite2 and GeoIP2 databases in Go.")
438 (home-page "https://github.com/oschwald/geoip2-golang")
439 (license isc))))
440
a57778f5
LF
441(define-public go-github-com-oschwald-maxminddb-golang
442 (let ((commit "697da8075d2061aa8ed639346443f5d3e8c80b30")
443 (revision "0"))
444 (package
445 (name "go-github-com-oschwald-maxminddb-golang")
446 (version (git-version "0.2.0" revision commit))
447 (source (origin
448 (method git-fetch)
449 (uri (git-reference
450 (url "https://github.com/oschwald/maxminddb-golang")
451 (commit commit)))
452 (file-name (git-file-name name version))
453 (sha256
454 (base32
455 "00kkxzlvra0kcbkl56wp0dp1yw3cmfjqqlwbqy7bq5r34s7iavq0"))))
456 (build-system go-build-system)
457 (propagated-inputs
458 `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
459 (arguments
460 `(#:import-path "github.com/oschwald/maxminddb-golang"
461 #:tests? #f)) ; Requires some unpackaged software and test data
462 (synopsis "MaxMind DB Reader for Go")
463 (description "This is a Go reader for the MaxMind DB format. Although
464this can be used to read GeoLite2 and GeoIP2 databases, @code{geoip2} provides a
465higher-level API for doing so.")
466 (home-page "https://github.com/oschwald/maxminddb-golang")
467 (license isc))))
468
6bc1eb11
LF
469(define-public go-github-com-stathat-go
470 (let ((commit "74669b9f388d9d788c97399a0824adbfee78400e")
471 (revision "0"))
472 (package
473 (name "go-github-com-stathat-go")
474 (version (git-version "0.0.0" revision commit))
475 (source (origin
476 (method git-fetch)
477 (uri (git-reference
478 (url "https://github.com/stathat/go")
479 (commit commit)))
480 (file-name (git-file-name name version))
481 (sha256
482 (base32
483 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw"))))
484 (build-system go-build-system)
485 (arguments
486 `(#:import-path "github.com/stathat/go"))
487 (synopsis "Post statistics to StatHat")
488 (description "This is a Go package for posting to a StatHat account.")
489 (home-page "https://github.com/stathat/go")
490 (license expat))))
491
1a4795f9
LF
492(define-public go-github-com-rcrowley-go-metrics
493 (let ((commit "1f30fe9094a513ce4c700b9a54458bbb0c96996c")
494 (revision "0"))
495 (package
496 (name "go-github-com-rcrowley-go-metrics")
497 (version (git-version "0.0.0" revision commit))
498 (source (origin
499 (method git-fetch)
500 (uri (git-reference
501 (url "https://github.com/rcrowley/go-metrics")
502 (commit commit)))
503 (file-name (git-file-name name version))
504 (sha256
505 (base32
506 "1hvbiaq4b6dqgjz6jkkxglfh9gf71zin6qsg508sh0r0ixfavrzj"))))
507 (build-system go-build-system)
508 (arguments
509 `(#:import-path "github.com/rcrowley/go-metrics"))
510 (propagated-inputs
511 `(("go-github-com-stathat-go" ,go-github-com-stathat-go)))
512 (synopsis "Go port of Coda Hale's Metrics library")
513 (description "This package provides a Go implementation of Coda Hale's
514Metrics library.")
515 (home-page "https://github.com/rcrowley/go-metrics")
516 (license bsd-2))))
517
bde48edc
LF
518(define-public go-golang-org-x-sys-unix
519 (let ((commit "f3918c30c5c2cb527c0b071a27c35120a6c0719a")
520 (revision "0"))
521 (package
522 (name "go-golang-org-x-sys-unix")
523 (version (git-version "0.0.0" revision commit))
524 (source (origin
525 (method git-fetch)
526 (uri (git-reference
527 (url "https://go.googlesource.com/sys")
528 (commit commit)))
529 (file-name (git-file-name name version))
530 (sha256
531 (base32
532 "02967mw0nq7hp39bcf8rdbid4jgz2fn6hd1x03mmavvca03scxbh"))))
533 (build-system go-build-system)
534 (arguments
535 `(#:import-path "golang.org/x/sys/unix"
536 #:unpack-path "golang.org/x/sys"))
537 (synopsis "Go support for low-level system interaction")
538 (description "This package provides @code{unix}, which offers Go support
539for low-level interaction with the operating system.")
540 (home-page "https://go.googlesource.com/sys")
541 (license bsd-3))))