Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / syncthing.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
3 ;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
4 ;;;
5 ;;; This file is part of GNU Guix.
6 ;;;
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
11 ;;;
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 (define-module (gnu packages syncthing)
21 #:use-module (guix build-system go)
22 #:use-module (guix build-system trivial)
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix git-download)
26 #:use-module (guix licenses)
27 #:use-module (gnu packages)
28 #:use-module (gnu packages golang))
29
30 (define-public syncthing
31 (package
32 (name "syncthing")
33 (version "1.2.1")
34 (source (origin
35 (method url-fetch)
36 (uri (string-append "https://github.com/syncthing/syncthing"
37 "/releases/download/v" version
38 "/syncthing-source-v" version ".tar.gz"))
39 (sha256
40 (base32
41 "1b6fidpkwfa2bm6hlv4p0bzxa1ha6s88vajczhryhqi5vjfxafri"))
42 (modules '((guix build utils)))
43 ;; Delete bundled ("vendored") free software source code.
44 (snippet '(begin
45 (delete-file-recursively "vendor")
46 #t))))
47 (build-system go-build-system)
48 ;; The primary Syncthing executable goes to "out", while the auxiliary
49 ;; server programs and utility tools go to "utils". This reduces the size
50 ;; of "out" by ~80 MiB.
51 (outputs '("out" "utils"))
52 ;; When updating Syncthing, check 'go.mod' in the source distribution to
53 ;; ensure we are using the correct versions of these dependencies.
54 (inputs
55 `(("go-github-com-audriusbutkevicius-go-nat-pmp"
56 ,go-github-com-audriusbutkevicius-go-nat-pmp)
57 ("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4)
58 ("go-github-com-calmh-du" ,go-github-com-calmh-du)
59 ("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr)
60 ("go-github-com-chmduquesne-rollinghash"
61 ,go-github-com-chmduquesne-rollinghash)
62 ("go-github-com-gobwas-glob" ,go-github-com-gobwas-glob)
63 ("go-github-com-golang-groupcache-lru"
64 ,go-github-com-golang-groupcache-lru)
65 ("go-github-com-jackpal-gateway" ,go-github-com-jackpal-gateway)
66 ("go-github-com-kballard-go-shellquote"
67 ,go-github-com-kballard-go-shellquote)
68 ("go-github-com-lib-pq" ,go-github-com-lib-pq)
69 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
70 ("go-github-com-oschwald-geoip2-golang"
71 ,go-github-com-oschwald-geoip2-golang)
72 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
73 ("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
74 ("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
75 ("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
76 ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
77 ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
78 ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)
79 ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
80 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
81 ("go-github-com-gogo-protobuf-gogoproto"
82 ,go-github-com-gogo-protobuf-gogoproto)
83 ("go-github-com-gogo-protobuf-protoc-gen-gogo"
84 ,go-github-com-gogo-protobuf-protoc-gen-gogo)
85 ("go-github-com-prometheus-client-golang-prometheus"
86 ,go-github-com-prometheus-client-golang-prometheus)
87 ("go-golang-org-x-net-bpf" ,go-golang-org-x-net-bpf)
88 ("go-golang-org-x-net-internal-iana" ,go-golang-org-x-net-internal-iana)
89 ("go-golang-org-x-net-internal-socket"
90 ,go-golang-org-x-net-internal-socket)
91 ("go-golang-org-x-net-internal-socks"
92 ,go-golang-org-x-net-internal-socks)
93 ("go-golang-org-x-net-ipv4" ,go-golang-org-x-net-ipv4)
94 ("go-golang-org-x-net-ipv6" ,go-golang-org-x-net-ipv6)
95 ("go-golang-org-x-net-proxy" ,go-golang-org-x-net-proxy)
96 ("go-golang-org-x-text-unicode-norm" ,go-golang-org-x-text-unicode-norm)
97 ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform)
98 ("go-github-com-audriusbutkevicius-recli"
99 ,go-github-com-audriusbutkevicius-recli)
100 ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
101 ("go-github-com-vitrun-qart-qr" ,go-github-com-vitrun-qart-qr)
102 ("go-github-com-vitrun-qart-coding" ,go-github-com-vitrun-qart-coding)
103 ("go-github-com-vitrun-qart-gf256" ,go-github-com-vitrun-qart-gf256)
104 ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
105 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
106 ("go-github-com-flynn-archive-go-shlex"
107 ,go-github-com-flynn-archive-go-shlex)
108 ("go-github-com-getsentry-raven-go" ,go-github-com-getsentry-raven-go)
109 ("go-github-com-maruel-panicparse" ,go-github-com-maruel-panicparse)
110 ("go-github-com-ccding-go-stun" ,go-github-com-ccding-go-stun)
111 ("go-github-com-audriusbutkevicius-pfilter" ,go-github-com-audriusbutkevicius-pfilter)
112 ("go-github-com-lucas-clemente-quic-go" ,go-github-com-lucas-clemente-quic-go)
113
114 ;; For tests
115 ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
116
117 (arguments
118 `(#:import-path "github.com/syncthing/syncthing"
119 ;; We don't need to install the source code for end-user applications.
120 #:install-source? #f
121 #:phases
122 (modify-phases %standard-phases
123 (add-before 'build 'increase-test-timeout
124 (lambda _
125 (substitute* "src/github.com/syncthing/syncthing/build.go"
126 (("120s") "999s"))
127 #t))
128
129 (replace 'build
130 (lambda _
131 (with-directory-excursion "src/github.com/syncthing/syncthing"
132 (invoke "go" "run" "build.go" "-no-upgrade"))))
133
134 (replace 'check
135 (lambda _
136 (with-directory-excursion "src/github.com/syncthing/syncthing"
137 (invoke "go" "run" "build.go" "test"))))
138
139 (replace 'install
140 (lambda* (#:key outputs #:allow-other-keys)
141 (let ((out (assoc-ref outputs "out"))
142 (utils (assoc-ref outputs "utils"))
143 (src "src/github.com/syncthing/syncthing/bin/"))
144 (install-file (string-append src "/syncthing")
145 (string-append out "/bin"))
146 (delete-file (string-append src "/syncthing"))
147 (copy-recursively "src/github.com/syncthing/syncthing/bin/"
148 (string-append utils "/bin"))
149 #t)))
150
151 (add-after 'install 'install-docs
152 (lambda* (#:key outputs #:allow-other-keys)
153 (let* ((out (assoc-ref outputs "out"))
154 (utils (assoc-ref outputs "utils"))
155 (man "/share/man")
156 (man-section (string-append man "/man"))
157 (src "src/github.com/syncthing/syncthing/man/"))
158 ;; Install all the man pages to "out".
159 (for-each
160 (lambda (file)
161 (install-file file
162 (string-append out man-section
163 (string-take-right file 1))))
164 (find-files src "\\.[1-9]"))
165 ;; Copy all the man pages to "utils"
166 (copy-recursively (string-append out man)
167 (string-append utils man))
168 ;; Delete extraneous man pages from "out" and "utils",
169 ;; respectively.
170 (delete-file (string-append out man "/man1/stdiscosrv.1"))
171 (delete-file (string-append out man "/man1/strelaysrv.1"))
172 (delete-file (string-append utils man "/man1/syncthing.1"))
173 #t))))))
174 (synopsis "Decentralized continuous file system synchronization")
175 (description "Syncthing is a peer-to-peer file synchronization tool that
176 supports a wide variety of computing platforms. It uses the Block Exchange
177 Protocol.")
178 (home-page "https://github.com/syncthing/syncthing")
179 (license mpl2.0)))
180
181 (define-public go-github-com-audriusbutkevicius-go-nat-pmp
182 (let ((commit "452c97607362b2ab5a7839b8d1704f0396b640ca")
183 (revision "0"))
184 (package
185 (name "go-github-com-audriusbutkevicius-go-nat-pmp")
186 (version (git-version "0.0.0" revision commit))
187 (source (origin
188 (method git-fetch)
189 (uri (git-reference
190 (url "https://github.com/AudriusButkevicius/go-nat-pmp")
191 (commit commit)))
192 (file-name (git-file-name name version))
193 (sha256
194 (base32 "1accmpl1llk16a19nlyy991fqrgfay6l53gb64hgmdfmqljdvbk7"))))
195 (build-system go-build-system)
196 (arguments
197 `(#:import-path "github.com/AudriusButkevicius/go-nat-pmp"))
198 (synopsis "Port mapping and discovery of external IP address")
199 (description "This package provides a Go client for the NAT-PMP internet
200 protocol for port mapping and discovering the external IP address of a
201 firewall.")
202 (home-page "https://github.com/AudriusButkevicius/go-nat-pmp")
203 (license asl2.0))))
204
205 (define-public go-github-com-audriusbutkevicius-recli
206 (package
207 (name "go-github-com-audriusbutkevicius-recli")
208 (version "0.0.5")
209 (source (origin
210 (method git-fetch)
211 (uri (git-reference
212 (url "https://github.com/AudriusButkevicius/recli")
213 (commit (string-append "v" version))))
214 (file-name (git-file-name name version))
215 (sha256
216 (base32
217 "1m1xna1kb78pkmr1lfmvvnpk9j7c4x71j3a7c6vj7zpzc4srpsmf"))))
218 (build-system go-build-system)
219 (inputs
220 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
221 ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)))
222 (arguments
223 `(#:import-path "github.com/AudriusButkevicius/recli"))
224 (synopsis "Reflection-based CLI generator")
225 (description "For a given struct, @code{recli} builds a set of
226 @code{urfave/cli} commands which allows you to modify it from the command line.
227 It is useful for generating command line clients for your application
228 configuration that is stored in a Go struct.")
229 (home-page "https://github.com/AudriusButkevicius/recli")
230 (license mpl2.0)))
231
232 (define-public go-github-com-bkaradzic-go-lz4
233 (let ((commit "7224d8d8f27ef618c0a95f1ae69dbb0488abc33a")
234 (revision "0"))
235 (package
236 (name "go-github-com-bkaradzic-go-lz4")
237 (version (git-version "0.0.0" revision commit))
238 (source (origin
239 (method git-fetch)
240 (uri (git-reference
241 (url "https://github.com/bkaradzic/go-lz4")
242 (commit commit)))
243 (file-name (git-file-name name version))
244 (sha256
245 (base32
246 "10lmya17vdqg2pvqni0p73iahni48s1v11ya9a0hcz4jh5vw4dkb"))))
247 (build-system go-build-system)
248 (arguments
249 `(#:import-path "github.com/bkaradzic/go-lz4"))
250 (synopsis "LZ4 compression algorithm")
251 (description "This package provides @code{go-lz4}, a Go implementation of
252 the LZ4 compression algorithm.")
253 (home-page "https://github.com/bkaradzic/go-lz4")
254 (license bsd-2))))
255
256 (define-public go-github-com-calmh-du
257 (package
258 (name "go-github-com-calmh-du")
259 (version "1.0.1")
260 (source (origin
261 (method git-fetch)
262 (uri (git-reference
263 (url "https://github.com/calmh/du")
264 (commit (string-append "v" version))))
265 (file-name (git-file-name name version))
266 (sha256
267 (base32
268 "0qb3a6y3p9nkyn3s66k6zcm16y8n8578qh23ddj14cxf2scrr2n2"))))
269 (build-system go-build-system)
270 (arguments
271 `(#:import-path "github.com/calmh/du"))
272 (synopsis "Get total and available disk space of a given volume")
273 (description "This is a Go implementation of `du`. It provides disk usage
274 information, such as how much storage space is available, free, and used.")
275 (home-page "https://github.com/calmh/du")
276 (license public-domain)))
277
278 (define-public go-github-com-calmh-xdr
279 (package
280 (name "go-github-com-calmh-xdr")
281 (version "1.1.0")
282 (source (origin
283 (method git-fetch)
284 (uri (git-reference
285 (url "https://github.com/calmh/xdr")
286 (commit (string-append "v" version))))
287 (file-name (git-file-name name version))
288 (sha256
289 (base32
290 "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh"))))
291 (build-system go-build-system)
292 (arguments
293 `(#:import-path "github.com/calmh/xdr"))
294 (synopsis "XDR marshalling and unmarshalling")
295 (description "XDR is an External Data Representation (XDR)
296 marshalling and unmarshalling library in Go. It uses code generation and not
297 reflection.")
298 (home-page "https://github.com/calmh/xdr")
299 (license expat)))
300
301 (define-public go-github-com-d4l3k-messagediff
302 (package
303 (name "go-github-com-d4l3k-messagediff")
304 (version "1.2.1")
305 (source (origin
306 (method git-fetch)
307 (uri (git-reference
308 (url "https://github.com/d4l3k/messagediff")
309 (commit (string-append "v" version))))
310 (file-name (git-file-name name version))
311 (sha256
312 (base32
313 "104hl8x57ciaz7mzafg1vp9qggxcyfm8hsv9bmlihbz9ml3nyr8v"))))
314 (build-system go-build-system)
315 (arguments
316 `(#:import-path "github.com/d4l3k/messagediff"))
317 (synopsis "Diff arbitrary Go structs")
318 (description "Messagediff is a library for calculating diffs of arbitrary
319 structs in the Go programming language.")
320 (home-page "https://github.com/d4l3k/messagediff")
321 (license expat)))
322
323 (define-public go-github-com-gobwas-glob
324 (let ((commit "51eb1ee00b6d931c66d229ceeb7c31b985563420")
325 (revision "0"))
326 (package
327 (name "go-github-com-gobwas-glob")
328 (version (git-version "0.0.0" revision commit))
329 (source (origin
330 (method git-fetch)
331 (uri (git-reference
332 (url "https://github.com/gobwas/glob")
333 (commit commit)))
334 (file-name (git-file-name name version))
335 (sha256
336 (base32
337 "090wzpwsjana1qas8ipwh1pj959gvc4b7vwybzi01f3bmd79jwlp"))))
338 (build-system go-build-system)
339 (arguments
340 `(#:import-path "github.com/gobwas/glob"))
341 (synopsis "Go globbing library")
342 (description "This package provides a Go implementation of globs.")
343 (home-page "https://github.com/gobwas/glob")
344 (license expat))))
345
346
347 (define-public go-github-com-golang-groupcache-lru
348 (let ((commit "84a468cf14b4376def5d68c722b139b881c450a4")
349 (revision "1"))
350 (package
351 (name "go-github-com-golang-groupcache-lru")
352 (version (git-version "0.0.0" revision commit))
353 (source (origin
354 (method git-fetch)
355 (uri (git-reference
356 (url "https://github.com/golang/groupcache")
357 (commit commit)))
358 (file-name (git-file-name name version))
359 (sha256
360 (base32
361 "1ky1r9qh54yi9zp2769qrjngzndgd8fn7mja2qfac285n06chmcn"))))
362 (build-system go-build-system)
363 (arguments
364 `(#:import-path "github.com/golang/groupcache/lru"
365 #:unpack-path "github.com/golang/groupcache"))
366 (synopsis "Groupcache is a caching and cache-filling library")
367 (description "Groupcache is a caching and cache-filling library, intended
368 as a replacement for memcached in many cases. It provides a data loading
369 mechanism with caching and de-duplication that works across a set of peer
370 processes.")
371 (home-page "https://github.com/golang/groupcache")
372 (license asl2.0))))
373
374 (define-public go-github-com-golang-snappy
375 (let ((commit "553a641470496b2327abcac10b36396bd98e45c9")
376 (revision "0"))
377 (package
378 (name "go-github-com-golang-snappy")
379 (version (git-version "0.0.0" revision commit))
380 (source (origin
381 (method git-fetch)
382 (uri (git-reference
383 (url "https://github.com/golang/snappy")
384 (commit commit)))
385 (file-name (git-file-name name version))
386 (sha256
387 (base32
388 "0kssxnih1l722hx9219c7javganjqkqhvl3i0hp0hif6xm6chvqk"))))
389 (build-system go-build-system)
390 (arguments
391 `(#:import-path "github.com/golang/snappy"))
392 (synopsis "Snappy compression format in the Go programming language")
393 (description "This package provides a Go implementation of the Snappy
394 compression format.")
395 (home-page "https://github.com/golang/snappy")
396 (license bsd-3))))
397
398 (define-public go-github-com-jackpal-gateway
399 (let ((commit "5795ac81146e01d3fab7bcf21c043c3d6a32b006")
400 (revision "0"))
401 (package
402 (name "go-github-com-jackpal-gateway")
403 (version (git-version "0.0.0" revision commit))
404 (source (origin
405 (method git-fetch)
406 (uri (git-reference
407 (url "https://github.com/jackpal/gateway")
408 (commit commit)))
409 (file-name (git-file-name name version))
410 (sha256
411 (base32
412 "0fkwkwmhfadwk3cha8616bhqxfkr9gjjnynhhxyldlphixgs3f25"))))
413 (build-system go-build-system)
414 (arguments
415 `(#:import-path "github.com/jackpal/gateway"))
416 (synopsis "Discover the address of a LAN gateway")
417 (description "@code{gateway} is a Go library for discovering the IP
418 address of the default LAN gateway.")
419 (home-page "https://github.com/jackpal/gateway")
420 (license bsd-3))))
421
422 (define-public go-github-com-lib-pq
423 (package
424 (name "go-github-com-lib-pq")
425 (version "1.2.0")
426 (source (origin
427 (method git-fetch)
428 (uri (git-reference
429 (url "https://github.com/lib/pq")
430 (commit (string-append "v" version))))
431 (file-name (git-file-name name version))
432 (sha256
433 (base32
434 "08j1smm6rassdssdks4yh9aspa1dv1g5nvwimmknspvhx8a7waqz"))))
435 (build-system go-build-system)
436 (arguments
437 `(#:import-path "github.com/lib/pq"
438 ;; The tests seem to fail without access to the network or a running
439 ;; Postgres instance.
440 #:tests? #f))
441 (synopsis "Golang Postgres driver for Go's database/sql")
442 (description "This package provides a pure Go Postgres driver for Go's
443 database/sql package.")
444 (home-page "https://github.com/lib/pq")
445 (license expat)))
446
447 (define-public go-github-com-oschwald-geoip2-golang
448 (package
449 (name "go-github-com-oschwald-geoip2-golang")
450 (version "1.3.0")
451 (source (origin
452 (method git-fetch)
453 (uri (git-reference
454 (url "https://github.com/oschwald/geoip2-golang")
455 (commit (string-append "v" version))))
456 (file-name (git-file-name name version))
457 (sha256
458 (base32
459 "0jivzl15jb8n16rm1b2w97kf7vna5dd3kcz865wfi233qay075j2"))))
460 (build-system go-build-system)
461 (propagated-inputs
462 `(("go-github-com-oschwald-maxminddb-golang"
463 ,go-github-com-oschwald-maxminddb-golang)
464 ("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
465 (arguments
466 `(#:import-path "github.com/oschwald/geoip2-golang"
467 #:tests? #f)) ; Requires some unpackaged software and test data
468 (synopsis "MaxMind GeoIP2 reader")
469 (description "This package provides a library for reading MaxMind
470 GeoLite2 and GeoIP2 databases in Go.")
471 (home-page "https://github.com/oschwald/geoip2-golang")
472 (license isc)))
473
474 (define-public go-github-com-oschwald-maxminddb-golang
475 (let ((commit "26fe5ace1c706491c2936119e1dc69c1a9c04d7f")
476 (revision "0"))
477 (package
478 (name "go-github-com-oschwald-maxminddb-golang")
479 (version (git-version "1.2.0" revision commit))
480 (source (origin
481 (method git-fetch)
482 (uri (git-reference
483 (url "https://github.com/oschwald/maxminddb-golang")
484 (commit commit)))
485 (file-name (git-file-name name version))
486 (sha256
487 (base32
488 "1i6d935f3cv9djpjvc2ibh8aps8jqvg454b9pkwg2h98al759ggk"))))
489 (build-system go-build-system)
490 (propagated-inputs
491 `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
492 (arguments
493 `(#:import-path "github.com/oschwald/maxminddb-golang"
494 #:tests? #f)) ; Requires some unpackaged software and test data
495 (synopsis "MaxMind DB Reader for Go")
496 (description "This is a Go reader for the MaxMind DB format. Although
497 this can be used to read GeoLite2 and GeoIP2 databases, @code{geoip2} provides a
498 higher-level API for doing so.")
499 (home-page "https://github.com/oschwald/maxminddb-golang")
500 (license isc))))
501
502 (define-public go-github-com-stathat-go
503 (let ((commit "74669b9f388d9d788c97399a0824adbfee78400e")
504 (revision "0"))
505 (package
506 (name "go-github-com-stathat-go")
507 (version (git-version "0.0.0" revision commit))
508 (source (origin
509 (method git-fetch)
510 (uri (git-reference
511 (url "https://github.com/stathat/go")
512 (commit commit)))
513 (file-name (git-file-name name version))
514 (sha256
515 (base32
516 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw"))))
517 (build-system go-build-system)
518 (arguments
519 `(#:import-path "github.com/stathat/go"))
520 (synopsis "Post statistics to StatHat")
521 (description "This is a Go package for posting to a StatHat account.")
522 (home-page "https://github.com/stathat/go")
523 (license expat))))
524
525 (define-public go-github-com-rcrowley-go-metrics
526 (let ((commit "e181e095bae94582363434144c61a9653aff6e50")
527 (revision "1"))
528 (package
529 (name "go-github-com-rcrowley-go-metrics")
530 (version (git-version "0.0.0" revision commit))
531 (source (origin
532 (method git-fetch)
533 (uri (git-reference
534 (url "https://github.com/rcrowley/go-metrics")
535 (commit commit)))
536 (file-name (git-file-name name version))
537 (sha256
538 (base32
539 "1pwkyw801hy7n94skzk6h177zqcil6ayrmb5gs3jdpsfayh8ia5w"))))
540 (build-system go-build-system)
541 (arguments
542 `(#:import-path "github.com/rcrowley/go-metrics"))
543 (propagated-inputs
544 `(("go-github-com-stathat-go" ,go-github-com-stathat-go)))
545 (synopsis "Go port of Coda Hale's Metrics library")
546 (description "This package provides a Go implementation of Coda Hale's
547 Metrics library.")
548 (home-page "https://github.com/rcrowley/go-metrics")
549 (license bsd-2))))
550
551 (define-public go-github-com-sasha-s-go-deadlock
552 (package
553 (name "go-github-com-sasha-s-go-deadlock")
554 (version "0.2.0")
555 (source (origin
556 (method git-fetch)
557 (uri (git-reference
558 (url "https://github.com/sasha-s/go-deadlock")
559 (commit (string-append "v" version))))
560 (file-name (git-file-name name version))
561 (sha256
562 (base32
563 "13p7b7pakd9k1c2k0fs1hfim3c8mivz679977ai6zb01s4aw7gyg"))))
564 (build-system go-build-system)
565 (arguments
566 `(#:import-path "github.com/sasha-s/go-deadlock"))
567 (propagated-inputs
568 `(("go-github-com-petermattis-goid" ,go-github-com-petermattis-goid)))
569 (synopsis "Deadlock detection in go")
570 (description "This package provides tools for detecting deadlocks at
571 run-time in Go.")
572 (home-page "https://github.com/sasha-s/go-deadlock")
573 (license asl2.0)))
574
575 (define-public go-github-com-syndtr-goleveldb
576 (let ((commit "c3a204f8e96543bb0cc090385c001078f184fc46")
577 (revision "3"))
578 (package
579 (name "go-github-com-syndtr-goleveldb")
580 (version (git-version "1.0.1" revision commit))
581 (source (origin
582 (method git-fetch)
583 (uri (git-reference
584 (url "https://github.com/syndtr/goleveldb")
585 (commit commit)))
586 (file-name (git-file-name name version))
587 (sha256
588 (base32
589 "18cac90dim2z5g28vazzibxa058q2ynihsmf0vbscwzba6l5s5ms"))))
590 (build-system go-build-system)
591 (propagated-inputs
592 `(("go-github-com-golang-snappy" ,go-github-com-golang-snappy)))
593 (arguments
594 `(#:import-path "github.com/syndtr/goleveldb/leveldb"
595 #:unpack-path "github.com/syndtr/goleveldb"
596 #:tests? #f)) ; XXX needs 'github.com/onsi/gomega' package
597 (synopsis "LevelDB key/value database")
598 (description "This is an implementation of the LevelDB key / value
599 database in Go.")
600 (home-page "https://github.com/syndtr/goleveldb")
601 (license bsd-2))))
602
603 (define-public go-github-com-thejerf-suture
604 (package
605 (name "go-github-com-thejerf-suture")
606 (version "3.0.2")
607 (source (origin
608 (method git-fetch)
609 (uri (git-reference
610 (url "https://github.com/thejerf/suture")
611 (commit (string-append "v" version))))
612 (file-name (git-file-name name version))
613 (sha256
614 (base32
615 "03bdrl78jfwk0kw40lj63ga9cxhgccgss8yi9lp5j0m0ml7921gh"))))
616 (build-system go-build-system)
617 (arguments
618 `(#:import-path "github.com/thejerf/suture"))
619 (synopsis "Supervisor trees for Go")
620 (description "Suture provides Erlang-ish supervisor trees for Go.
621 \"Supervisor trees\" -> \"sutree\" -> \"suture\" -> holds your code together
622 when it's trying to die.
623
624 It is intended to deal gracefully with the real failure cases that can occur
625 with supervision trees (such as burning all your CPU time endlessly restarting
626 dead services), while also making no unnecessary demands on the \"service\"
627 code, and providing hooks to perform adequate logging with in a production
628 environment")
629 (home-page "https://github.com/thejerf/suture")
630 (license expat)))
631
632 (define-public go-github-com-vitrun-qart-coding
633 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
634 (revision "0"))
635 (package
636 (name "go-github-com-vitrun-qart-coding")
637 (version (git-version "0.0.0" revision commit))
638 (source (origin
639 (method git-fetch)
640 (uri (git-reference
641 (url "https://github.com/vitrun/qart")
642 (commit commit)))
643 (file-name (string-append "go-github-com-vitrun-qart-"
644 version "-checkout"))
645 (sha256
646 (base32
647 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
648 (build-system go-build-system)
649 (arguments
650 `(#:import-path "github.com/vitrun/qart/coding"
651 #:unpack-path "github.com/vitrun/qart"))
652 (synopsis "Low-level QR coding library")
653 (description "This package provides a library for embedding
654 human-meaningful graphics in QR codes. However, instead of scribbling on
655 redundant pieces and relying on error correction to preserve the meaning,
656 @code{qart} engineers the encoded values to create the picture in a code with no
657 inherent errors. This @code{qart} component, @code{coding}, implements
658 low-level QR coding details.")
659 (home-page "https://github.com/vitrun/qart/")
660 (license bsd-3))))
661
662 (define-public go-github-com-vitrun-qart-gf256
663 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
664 (revision "0"))
665 (package
666 (name "go-github-com-vitrun-qart-gf256")
667 (version (git-version "0.0.0" revision commit))
668 (source (origin
669 (method git-fetch)
670 (uri (git-reference
671 (url "https://github.com/vitrun/qart")
672 (commit commit)))
673 (file-name (string-append "go-github-com-vitrun-qart-"
674 version "-checkout"))
675 (sha256
676 (base32
677 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
678 (build-system go-build-system)
679 (arguments
680 `(#:import-path "github.com/vitrun/qart/gf256"
681 #:unpack-path "github.com/vitrun/qart"))
682 (synopsis "Qart library for Galois Field GF(256) math")
683 (description "This package, a component of @code{qart}, provides @code{gf256},
684 implements arithmetic over the Galois Field GF(256).")
685 (home-page "https://github.com/vitrun/qart")
686 (license bsd-3))))
687
688 (define-public go-github-com-vitrun-qart-qr
689 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
690 (revision "0"))
691 (package
692 (name "go-github-com-vitrun-qart-qr")
693 (version (git-version "0.0.0" revision commit))
694 (source (origin
695 (method git-fetch)
696 (uri (git-reference
697 (url "https://github.com/vitrun/qart")
698 (commit commit)))
699 (file-name (string-append "go-github-com-vitrun-qart-"
700 version "-checkout"))
701 (sha256
702 (base32
703 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
704 (build-system go-build-system)
705 (arguments
706 `(#:import-path "github.com/vitrun/qart/qr"
707 #:unpack-path "github.com/vitrun/qart"))
708 (synopsis "Qart component for generating QR codes")
709 (description "This package provides a library for embedding
710 human-meaningful graphics in QR codes. However, instead of scribbling on
711 redundant pieces and relying on error correction to preserve the meaning,
712 @code{qart} engineers the encoded values to create the picture in a code with no
713 inherent errors. This @code{qart} component, @code{qr}, provides QR code
714 generation.")
715 (home-page "https://github.com/vitrun/qart")
716 (license bsd-3))))
717
718 ;; XXX Syncthing actually imports 'github.com/chmduquesne/rollinghash/adler32'.
719 ;; Normally we'd package this module indpendenctly but the adler32 module itself
720 ;; imports 'github.com/chmduquesne/rollinghash/', so this is the easy way out.
721 (define-public go-github-com-chmduquesne-rollinghash
722 (let ((commit "a60f8e7142b536ea61bb5d84014171189eeaaa81")
723 (revision "0"))
724 (package
725 (name "go-github-com-chmduquesne-rollinghash")
726 (version (git-version "4.0.0" revision commit))
727 (source
728 (origin
729 (method git-fetch)
730 (uri (git-reference
731 (url "https://github.com/chmduquesne/rollinghash.git")
732 (commit commit)))
733 (file-name (git-file-name name version))
734 (sha256
735 (base32
736 "0fpaqq4zb0wikgbhn7vwqqj1h865f5xy195vkhivsp922p7qwsjr"))))
737 (build-system go-build-system)
738 (arguments
739 '(#:import-path "github.com/chmduquesne/rollinghash/"))
740 (synopsis "Rolling hashes in Go")
741 (description "This package provides a Go implementation of several rolling
742 hashes.")
743 (home-page "https://github.com/chmduquesne/rollinghash")
744 (license expat))))
745
746 (define-public go-github-com-petermattis-goid
747 (let ((commit "3db12ebb2a599ba4a96bea1c17b61c2f78a40e02")
748 (revision "0"))
749 (package
750 (name "go-github-com-petermattis-goid")
751 (version (git-version "0.0.0" revision commit))
752 (source (origin
753 (method git-fetch)
754 (uri (git-reference
755 (url "https://github.com/petermattis/goid.git")
756 (commit commit)))
757 (file-name (git-file-name name version))
758 (sha256
759
760 (base32
761 "0z18a3mr72c52g7g94n08gxw0ksnaafbfwdl5p5jav2sffirb0kd"))))
762 (build-system go-build-system)
763 (arguments
764 '(#:import-path "github.com/petermattis/goid"))
765 (synopsis "Identify the running goroutine")
766 (description "This package offers a method of programmatically retrieving
767 the current goroutine's ID.")
768 (home-page "https://github.com/petermattis/goid")
769 (license asl2.0))))
770
771 (define-public go-github-com-kballard-go-shellquote
772 (let ((commit "cd60e84ee657ff3dc51de0b4f55dd299a3e136f2")
773 (revision "0"))
774 (package
775 (name "go-github-com-kballard-go-shellquote")
776 (version (git-version "0.0.0" revision commit))
777 (source (origin
778 (method git-fetch)
779 (uri (git-reference
780 (url "https://github.com/kballard/go-shellquote.git")
781 (commit commit)))
782 (file-name (git-file-name name version))
783 (sha256
784 (base32
785 "1xjpin4jq1zl84dcn96xhjmn9bsfyszf6g9aqyj2dc0xfi6c88y0"))))
786 (build-system go-build-system)
787 (arguments
788 '(#:import-path "github.com/kballard/go-shellquote"))
789 (synopsis "Shell-style string joins and splits")
790 (description "Shellquote provides utilities for joining/splitting strings
791 using sh's word-splitting rules.")
792 (home-page "https://github.com/kballard/go-shellquote")
793 (license expat))))
794
795 (define-public go-github-com-syncthing-notify
796 (let ((commit "69c7a957d3e261f9744f46b3dd4d608d8480ad90")
797 (revision "5"))
798 (package
799 (name "go-github-com-syncthing-notify")
800 (version (git-version "0.0.0" revision commit))
801 (source (origin
802 (method git-fetch)
803 (uri (git-reference
804 (url "https://github.com/syncthing/notify")
805 (commit commit)))
806 (file-name (git-file-name name version))
807 (sha256
808 (base32
809 "1mmdzyfnmjabyhbipl4bggw4w5nlxyyjp0d93qd824kj07kmsr1f"))))
810 (build-system go-build-system)
811 (arguments
812 '(#:import-path "github.com/syncthing/notify"))
813 (propagated-inputs
814 `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
815 (synopsis "File system event notification library")
816 (description "This package provides @code{notify}, a file system event
817 notification library in Go.")
818 (home-page "https://github.com/syncthing/notify")
819 (license expat))))
820
821 (define-public go-github-com-beorn7-perks-quantile
822 (let ((commit "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9")
823 (revision "0"))
824 (package
825 (name "go-github-com-beorn7-perks-quantile")
826 (version (git-version "0.0.0" revision commit))
827 (source (origin
828 (method git-fetch)
829 (uri (git-reference
830 (url "https://github.com/beorn7/perks.git")
831 (commit commit)))
832 (file-name (git-file-name name version))
833 (sha256
834 (base32
835 "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y"))))
836 (build-system go-build-system)
837 (arguments
838 '(#:import-path "github.com/beorn7/perks/quantile"
839 #:unpack-path "github.com/beorn7/perks"))
840 (synopsis "Compute approximate quantiles over an unbounded data stream")
841 (description "Perks contains the Go package @code{quantile} that computes
842 approximate quantiles over an unbounded data stream within low memory and CPU
843 bounds.")
844 (home-page "https://github.com/beorn7/perks")
845 (license expat))))
846
847 (define-public go-github-com-golang-protobuf-proto
848 (package
849 (name "go-github-com-golang-protobuf-proto")
850 (version "1.3.1")
851 (source (origin
852 (method git-fetch)
853 (uri (git-reference
854 (url "https://github.com/golang/protobuf.git")
855 (commit (string-append "v" version))))
856 (file-name (git-file-name name version))
857 (sha256
858 (base32
859 "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl"))))
860 (build-system go-build-system)
861 (arguments
862 '(#:import-path "github.com/golang/protobuf/proto"
863 #:unpack-path "github.com/golang/protobuf"
864 #:tests? #f ; requires unpackaged golang.org/x/sync/errgroup
865 ))
866 (synopsis "Go support for Protocol Buffers")
867 (description "This package provides Go support for the Protocol Buffers
868 data serialization format.")
869 (home-page "https://github.com/golang/protobuf")
870 (license bsd-3)))
871
872 (define-public go-github-com-prometheus-client-model-go
873 (let ((commit "fd36f4220a901265f90734c3183c5f0c91daa0b8")
874 (revision "1"))
875 (package
876 (name "go-github-com-prometheus-client-model-go")
877 (version (git-version "0.0.2" revision commit))
878 (source (origin
879 (method git-fetch)
880 (uri (git-reference
881 (url "https://github.com/prometheus/client_model.git")
882 (commit commit)))
883 (file-name (git-file-name name version))
884 (sha256
885 (base32
886 "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5"))))
887 (build-system go-build-system)
888 (arguments
889 '(#:import-path "github.com/prometheus/client_model/go"
890 #:unpack-path "github.com/prometheus/client_model"))
891 (propagated-inputs
892 `(("go-github-com-golang-protobuf-proto"
893 ,go-github-com-golang-protobuf-proto)))
894 (synopsis "Data model artifacts for Prometheus")
895 (description "This package provides data model artifacts for Prometheus.")
896 (home-page "https://github.com/prometheus/client_model")
897 (license asl2.0))))
898
899 (define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
900 (let ((commit "c12348ce28de40eed0136aa2b644d0ee0650e56c")
901 (revision "0"))
902 (package
903 (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
904 (version (git-version "1.0.0" revision commit))
905 (source
906 (origin
907 (method git-fetch)
908 (uri
909 (git-reference
910 (url "https://github.com/matttproud/golang_protobuf_extensions.git")
911 (commit commit)))
912 (file-name (git-file-name name version))
913 (sha256
914 (base32
915 "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"))))
916 (build-system go-build-system)
917 (arguments
918 '(#:import-path "github.com/matttproud/golang_protobuf_extensions/pbutil"
919 #:unpack-path "github.com/matttproud/golang_protobuf_extensions"))
920 (propagated-inputs
921 `(("go-github-com-golang-protobuf-proto"
922 ,go-github-com-golang-protobuf-proto)))
923 (synopsis "Streaming Protocol Buffers in Go")
924 (description "This package provides various Protocol Buffer
925 extensions for the Go language, namely support for record length-delimited
926 message streaming.")
927 (home-page "https://github.com/matttproud/golang_protobuf_extensions")
928 (license asl2.0))))
929
930 (define-public go-github-com-prometheus-common-expfmt
931 (package
932 (name "go-github-com-prometheus-common-expfmt")
933 (version "0.4.1")
934 (source (origin
935 (method git-fetch)
936 (uri (git-reference
937 (url "https://github.com/prometheus/common.git")
938 (commit (string-append "v" version))))
939 (file-name (git-file-name name version))
940 (sha256
941 (base32
942 "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
943 (build-system go-build-system)
944 (arguments
945 '(#:import-path "github.com/prometheus/common/expfmt"
946 #:unpack-path "github.com/prometheus/common"
947 #:phases
948 (modify-phases %standard-phases
949 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
950 (lambda* (#:key outputs #:allow-other-keys)
951 (map (lambda (file)
952 (make-file-writable file))
953 (find-files
954 (string-append (assoc-ref outputs "out")
955 "/src/github.com/prometheus/common/expfmt/testdata/")
956 ".*\\.gz$"))
957 #t))
958 (replace 'check
959 ;; Tests don't pass "vet" on go-1.11. See
960 ;; https://github.com/syncthing/syncthing/issues/5311.
961 (lambda* (#:key import-path #:allow-other-keys)
962 (invoke "go" "test"
963 "-vet=off"
964 import-path))))))
965 (propagated-inputs
966 `(("go-github-com-golang-protobuf-proto"
967 ,go-github-com-golang-protobuf-proto)
968 ("go-github-com-matttproud-golang-protobuf-extensions-pbutil"
969 ,go-github-com-matttproud-golang-protobuf-extensions-pbutil)
970 ("go-github-com-prometheus-client-model-go"
971 ,go-github-com-prometheus-client-model-go)))
972 (synopsis "Prometheus metrics")
973 (description "This package provides tools for reading and writing
974 Prometheus metrics.")
975 (home-page "https://github.com/prometheus/common")
976 (license asl2.0)))
977
978 (define-public go-github-com-prometheus-common-model
979 (package
980 (name "go-github-com-prometheus-common-model")
981 (version "0.4.1")
982 (source (origin
983 (method git-fetch)
984 (uri (git-reference
985 (url "https://github.com/prometheus/common.git")
986 (commit (string-append "v" version))))
987 (file-name (git-file-name name version))
988 (sha256
989 (base32
990 "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
991 (build-system go-build-system)
992 (arguments
993 '(#:import-path "github.com/prometheus/common/model"
994 #:unpack-path "github.com/prometheus/common"))
995 (synopsis "Prometheus component")
996 (description "This package provides a component of the Go Prometheus
997 implementation.")
998 (home-page "https://github.com/prometheus/common")
999 (license asl2.0)))
1000
1001 (define-public go-github-com-prometheus-procfs
1002 (package
1003 (name "go-github-com-prometheus-procfs")
1004 (version "0.0.3")
1005 (source (origin
1006 (method git-fetch)
1007 (uri (git-reference
1008 (url "https://github.com/prometheus/procfs.git")
1009 (commit (string-append "v" version))))
1010 (file-name (git-file-name name version))
1011 (sha256
1012 (base32
1013 "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y"))))
1014 (build-system go-build-system)
1015 (arguments
1016 '(#:import-path "github.com/prometheus/procfs"
1017 ;; The tests require Go modules, which are not yet supported in Guix's
1018 ;; Go build system.
1019 #:tests? #f))
1020 (synopsis "Go library for reading @file{/proc}")
1021 (description "The @code{procfs} Go package provides functions to retrieve
1022 system, kernel, and process metrics from the @file{/proc} pseudo file system.")
1023 (home-page "https://github.com/prometheus/procfs")
1024 (license asl2.0)))
1025
1026 (define-public go-github-com-client-golang-prometheus-promhttp
1027 (package
1028 (name "go-github-com-client-golang-prometheus-promhttp")
1029 (version "0.9.4")
1030 (source (origin
1031 (method git-fetch)
1032 (uri (git-reference
1033 (url "https://github.com/prometheus/client_golang.git")
1034 (commit (string-append "v" version))))
1035 (file-name (git-file-name name version))
1036 (sha256
1037 (base32
1038 "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p"))))
1039 (build-system go-build-system)
1040 (arguments
1041 '(#:tests? #f ; The tests require internet access
1042 #:import-path "github.com/prometheus/client_golang/prometheus/promhttp"
1043 #:unpack-path "github.com/prometheus/client_golang"))
1044 (propagated-inputs
1045 `(("go-github-com-beorn7-perks-quantile"
1046 ,go-github-com-beorn7-perks-quantile)
1047 ("go-github-com-golang-protobuf-proto"
1048 ,go-github-com-golang-protobuf-proto)
1049 ("go-github-com-prometheus-common-model"
1050 ,go-github-com-prometheus-common-model)
1051 ("go-github-com-prometheus-client-model-go"
1052 ,go-github-com-prometheus-client-model-go)
1053 ("go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg"
1054 ,go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg)
1055 ("go-github-com-prometheus-common-expfmt"
1056 ,go-github-com-prometheus-common-expfmt)
1057 ("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)))
1058 (synopsis "HTTP server and client tools for Prometheus")
1059 (description "This package @code{promhttp} provides HTTP client and
1060 server tools for Prometheus metrics.")
1061 (home-page "https://github.com/prometheus/client_golang")
1062 (license asl2.0)))
1063
1064 (define-public go-github-com-prometheus-client-golang-prometheus
1065 (package
1066 (name "go-github-com-prometheus-client-golang-prometheus")
1067 (version "0.9.4")
1068 (source (origin
1069 (method git-fetch)
1070 (uri (git-reference
1071 (url "https://github.com/prometheus/client_golang.git")
1072 (commit (string-append "v" version))))
1073 (file-name (git-file-name name version))
1074 (sha256
1075 (base32
1076 "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p"))))
1077 (build-system go-build-system)
1078 (arguments
1079 '(#:import-path "github.com/prometheus/client_golang/prometheus"
1080 #:unpack-path "github.com/prometheus/client_golang"
1081 #:tests? #f)) ; 'TestHandler' test fails in this non-critical dependency
1082 (propagated-inputs
1083 `(("go-github-com-beorn7-perks-quantile"
1084 ,go-github-com-beorn7-perks-quantile)
1085 ("go-github-com-prometheus-common-model" ,go-github-com-prometheus-common-model)
1086 ("go-github-com-prometheus-client-model-go"
1087 ,go-github-com-prometheus-client-model-go)
1088 ("go-github-com-prometheus-common-expfmt"
1089 ,go-github-com-prometheus-common-expfmt)
1090 ("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)
1091 ("go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg"
1092 ,go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg)))
1093 (synopsis "Prometheus instrumentation library for Go applications")
1094 (description "This package provides the Go client library for the
1095 Prometheus monitoring and alerting system. It has two separate parts, one for
1096 instrumenting application code, and one for creating clients that talk to the
1097 Prometheus HTTP API.")
1098 (home-page "https://github.com/prometheus/client_golang")
1099 (license asl2.0)))
1100
1101 (define-public go-gopkg.in-asn1-ber.v1
1102 (package
1103 (name "go-gopkg.in-asn1-ber.v1")
1104 (version "1.2")
1105 (source (origin
1106 (method git-fetch)
1107 (uri (git-reference
1108 (url "https://gopkg.in/asn1-ber.v1")
1109 (commit (string-append "v" version))))
1110 (file-name (git-file-name name version))
1111 (sha256
1112 (base32
1113 "1y8bvzbxpw0lfnn7pbcdwzqj4l90qj6xf88dvv9pxd9yl5g6cskx"))))
1114 (build-system go-build-system)
1115 (arguments
1116 '(#:import-path "gopkg.in/asn1-ber.v1"
1117 ;; Tests don't pass "vet" on go-1.11. See
1118 ;; https://github.com/go-asn1-ber/asn1-ber/issues/20.
1119 #:phases
1120 (modify-phases %standard-phases
1121 (replace 'check
1122 (lambda* (#:key import-path #:allow-other-keys)
1123 (invoke "go" "test"
1124 "-vet=off"
1125 import-path))))))
1126 (synopsis "ASN.1 BER encoding and decoding in Go")
1127 (description "This package provides ASN.1 BER encoding and decoding in the
1128 Go language.")
1129 (home-page "https://gopkg.in/asn1-ber.v1")
1130 (license expat)))
1131
1132 (define-public go-gopkg.in-ldap.v2
1133 (package
1134 (name "go-gopkg.in-ldap.v2")
1135 (version "2.5.1")
1136 (source (origin
1137 (method git-fetch)
1138 (uri (git-reference
1139 (url "https://gopkg.in/ldap.v2")
1140 (commit (string-append "v" version))))
1141 (file-name (git-file-name name version))
1142 (sha256
1143 (base32
1144 "1wf81wy04nhkqs0dg5zkivr4sh37r83bxrfwjz9vr4jq6vmljr3h"))))
1145 (build-system go-build-system)
1146 (arguments
1147 '(#:import-path "gopkg.in/ldap.v2"
1148 #:tests? #f)) ; the test suite requires network access
1149 (propagated-inputs
1150 `(("go-gopkg.in-asn1-ber.v1" ,go-gopkg.in-asn1-ber.v1)))
1151 (synopsis "LDAP v3 functionality for Go")
1152 (description "This package provides basic LDAP v3 functionality in the Go
1153 language.")
1154 (home-page "https://gopkg.in/ldap.v2")
1155 (license expat)))
1156
1157 (define-public go-github-com-flynn-archive-go-shlex
1158 (let ((commit "3f9db97f856818214da2e1057f8ad84803971cff")
1159 (revision "0"))
1160 (package
1161 (name "go-github-com-flynn-archive-go-shlex")
1162 (version (git-version "0.0.0" revision commit))
1163 (source (origin
1164 (method git-fetch)
1165 (uri (git-reference
1166 (url "https://github.com/flynn-archive/go-shlex.git")
1167 (commit commit)))
1168 (file-name (git-file-name name version))
1169 (sha256
1170 (base32
1171 "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia"))))
1172 (build-system go-build-system)
1173 (arguments
1174 '(#:import-path "github.com/flynn-archive/go-shlex"))
1175 (synopsis "Go lexer")
1176 (description "Shlex is a simple lexer for go that supports shell-style
1177 quoting, commenting, and escaping.")
1178 (home-page "https://github.com/flynn-archive/go-shlex")
1179 (license asl2.0))))
1180
1181 (define-public go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg
1182 (package
1183 (name "go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg")
1184 (version "0.4.1")
1185 (source (origin
1186 (method git-fetch)
1187 (uri (git-reference
1188 (url "https://github.com/prometheus/common.git")
1189 (commit (string-append "v" version))))
1190 (file-name (git-file-name name version))
1191 (sha256
1192 (base32
1193 "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
1194 (build-system go-build-system)
1195 (arguments
1196 '(#:import-path "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg"
1197 #:unpack-path "github.com/prometheus/common"))
1198 (synopsis "Internal Prometheus component")
1199 (description "This package is an internal component of Prometheus.")
1200 (home-page "https://github.com/prometheus/common")
1201 (license asl2.0)))
1202
1203 (define-public go-github-com-audriusbutkevicius-pfilter
1204 (let ((commit "c55ef6137fc6f075801eac099cc2687ede0f101d")
1205 (revision "3"))
1206 (package
1207 (name "go-github-com-audriusbutkevicius-pfilter")
1208 (version (git-version "0.0.0" revision commit))
1209 (source
1210 (origin
1211 (method git-fetch)
1212 (uri (git-reference
1213 (url "https://github.com/AudriusButkevicius/pfilter.git")
1214 (commit commit)))
1215 (file-name (git-file-name name version))
1216 (sha256
1217 (base32
1218 "0xzhwyd0w21bhvzl5pinn22hp0y6h44rh3s2ppql69rafc6zd3c6"))))
1219 (build-system go-build-system)
1220 (arguments
1221 '(#:import-path "github.com/AudriusButkevicius/pfilter"))
1222 (synopsis "Filter packets into mulitple virtual connections")
1223 (description "Pfilter is a Go package for filtering packets into multiple
1224 virtual connections from a single physical connection.")
1225 (home-page "https://github.com/AudriusButkevicius/pfilter")
1226 (license expat))))
1227
1228 (define-public go-github-com-ccding-go-stun
1229 (let ((commit "be486d185f3dfcb2dbf8429332da50a0da7f95a6")
1230 (revision "2"))
1231 (package
1232 (name "go-github-com-ccding-go-stun")
1233 (version (git-version "0.0.0" revision commit))
1234 (source
1235 (origin
1236 (method git-fetch)
1237 (uri (git-reference
1238 (url "https://github.com/ccding/go-stun.git")
1239 (commit commit)))
1240 (file-name (git-file-name name version))
1241 (sha256
1242 (base32
1243 "1gr0rw1c1y7wh6913lyn5k4ig023by27i36bly6am8dwgrgp34ww"))))
1244 (build-system go-build-system)
1245 (arguments
1246 '(#:import-path "github.com/ccding/go-stun"))
1247 (synopsis "STUN client implementation")
1248 (description "Go-stun is a go implementation of the STUN client (RFC 3489
1249 and RFC 5389).")
1250 (home-page "https://github.com/ccding/go-stun")
1251 (license asl2.0))))