gnu: go-github-com-urfave-cli: Update to 1.22.2.
[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>
29519750 3;;; Copyright © 2016, 2017, 2018, 2019 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 25 #:use-module (guix git-download)
269d0858 26 #:use-module (guix licenses)
fd115bee 27 #:use-module (gnu packages)
269d0858 28 #:use-module (gnu packages golang))
56a37713 29
947453a8
LF
30(define-public syncthing
31 (package
32 (name "syncthing")
d5508458 33 (version "1.2.2")
947453a8
LF
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
d5508458 41 "1wdjh8xw09s1nfkpc95v04619gqa4dpbygp2y5l35ww4g916lv3s"))
21d06acd
LF
42 (modules '((guix build utils)))
43 ;; Delete bundled ("vendored") free software source code.
44 (snippet '(begin
45 (delete-file-recursively "vendor")
46 #t))))
947453a8 47 (build-system go-build-system)
c330c27f
LF
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"))
21d06acd
LF
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
6ac3b835
LF
55 `(("go-github-com-jackpal-go-nat-pmp"
56 ,go-github-com-jackpal-go-nat-pmp)
21d06acd 57 ("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4)
21d06acd
LF
58 ("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr)
59 ("go-github-com-chmduquesne-rollinghash"
60 ,go-github-com-chmduquesne-rollinghash)
61 ("go-github-com-gobwas-glob" ,go-github-com-gobwas-glob)
62 ("go-github-com-golang-groupcache-lru"
63 ,go-github-com-golang-groupcache-lru)
64 ("go-github-com-jackpal-gateway" ,go-github-com-jackpal-gateway)
65 ("go-github-com-kballard-go-shellquote"
66 ,go-github-com-kballard-go-shellquote)
67 ("go-github-com-lib-pq" ,go-github-com-lib-pq)
68 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
69 ("go-github-com-oschwald-geoip2-golang"
70 ,go-github-com-oschwald-geoip2-golang)
71 ("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
72 ("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
73 ("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
74 ("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
75 ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
76 ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
561d391b 77 ("go-golang-org-x-time" ,go-golang-org-x-time)
21d06acd
LF
78 ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
79 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
d5508458 80 ("go-github-com-shirou-gopsutil" ,go-github-com-shirou-gopsutil)
491d07cc
LF
81 ("go-github-com-prometheus-client-golang"
82 ,go-github-com-prometheus-client-golang)
561d391b
LF
83 ("go-golang-org-x-net" ,go-golang-org-x-net)
84 ("go-golang-org-x-text" ,go-golang-org-x-text)
21d06acd
LF
85 ("go-github-com-audriusbutkevicius-recli"
86 ,go-github-com-audriusbutkevicius-recli)
87 ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
9a0c4b63 88 ("go-github-com-vitrun-qart" ,go-github-com-vitrun-qart)
21d06acd 89 ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
18c4b0a2 90 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
21d06acd
LF
91 ("go-github-com-flynn-archive-go-shlex"
92 ,go-github-com-flynn-archive-go-shlex)
18c4b0a2
LF
93 ("go-github-com-getsentry-raven-go" ,go-github-com-getsentry-raven-go)
94 ("go-github-com-maruel-panicparse" ,go-github-com-maruel-panicparse)
95 ("go-github-com-ccding-go-stun" ,go-github-com-ccding-go-stun)
96 ("go-github-com-audriusbutkevicius-pfilter" ,go-github-com-audriusbutkevicius-pfilter)
97 ("go-github-com-lucas-clemente-quic-go" ,go-github-com-lucas-clemente-quic-go)
21d06acd
LF
98
99 ;; For tests
100 ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
101
947453a8
LF
102 (arguments
103 `(#:import-path "github.com/syncthing/syncthing"
1899ef0b
LF
104 ;; We don't need to install the source code for end-user applications.
105 #:install-source? #f
947453a8
LF
106 #:phases
107 (modify-phases %standard-phases
947453a8
LF
108 (add-before 'build 'increase-test-timeout
109 (lambda _
110 (substitute* "src/github.com/syncthing/syncthing/build.go"
7d15490c 111 (("120s") "999s"))
947453a8
LF
112 #t))
113
114 (replace 'build
c7c0b3a9 115 (lambda _
947453a8 116 (with-directory-excursion "src/github.com/syncthing/syncthing"
1feaca62 117 (invoke "go" "run" "build.go" "-no-upgrade"))))
947453a8
LF
118
119 (replace 'check
120 (lambda _
121 (with-directory-excursion "src/github.com/syncthing/syncthing"
1feaca62 122 (invoke "go" "run" "build.go" "test"))))
947453a8
LF
123
124 (replace 'install
c330c27f
LF
125 (lambda* (#:key outputs #:allow-other-keys)
126 (let ((out (assoc-ref outputs "out"))
127 (utils (assoc-ref outputs "utils"))
128 (src "src/github.com/syncthing/syncthing/bin/"))
129 (install-file (string-append src "/syncthing")
130 (string-append out "/bin"))
131 (delete-file (string-append src "/syncthing"))
132 (copy-recursively "src/github.com/syncthing/syncthing/bin/"
133 (string-append utils "/bin"))
134 #t)))
947453a8
LF
135
136 (add-after 'install 'install-docs
137 (lambda* (#:key outputs #:allow-other-keys)
138 (let* ((out (assoc-ref outputs "out"))
c330c27f
LF
139 (utils (assoc-ref outputs "utils"))
140 (man "/share/man")
141 (man-section (string-append man "/man"))
947453a8 142 (src "src/github.com/syncthing/syncthing/man/"))
c330c27f 143 ;; Install all the man pages to "out".
947453a8
LF
144 (for-each
145 (lambda (file)
146 (install-file file
c330c27f
LF
147 (string-append out man-section
148 (string-take-right file 1))))
947453a8 149 (find-files src "\\.[1-9]"))
c330c27f
LF
150 ;; Copy all the man pages to "utils"
151 (copy-recursively (string-append out man)
152 (string-append utils man))
153 ;; Delete extraneous man pages from "out" and "utils",
154 ;; respectively.
155 (delete-file (string-append out man "/man1/stdiscosrv.1"))
156 (delete-file (string-append out man "/man1/strelaysrv.1"))
157 (delete-file (string-append utils man "/man1/syncthing.1"))
947453a8 158 #t))))))
162a1374 159 (synopsis "Decentralized continuous file system synchronization")
947453a8
LF
160 (description "Syncthing is a peer-to-peer file synchronization tool that
161supports a wide variety of computing platforms. It uses the Block Exchange
162Protocol.")
163 (home-page "https://github.com/syncthing/syncthing")
164 (license mpl2.0)))
165
6ac3b835
LF
166(define-public go-github-com-jackpal-go-nat-pmp
167 (package
168 (name "go-github-com-jackpal-go-nat-pmp")
169 (version "1.0.2")
170 (source (origin
171 (method git-fetch)
172 (uri (git-reference
173 (url "https://github.com/jackpal/go-nat-pmp")
174 (commit (string-append "v" version))))
175 (file-name (git-file-name name version))
176 (sha256
177 (base32
178 "1p2yrzfbkazc9nisr2iqjwzhb6q16zj6finyxxn2ikk7iiighl1g"))))
179 (build-system go-build-system)
180 (arguments
181 `(#:import-path "github.com/jackpal/go-nat-pmp"))
182 (synopsis "Port mapping and discovery of external IP address")
183 (description "This package provides a Go client for the NAT-PMP internet
56a37713
LF
184protocol for port mapping and discovering the external IP address of a
185firewall.")
6ac3b835
LF
186 (home-page "https://github.com/jackpal/go-nat-pmp")
187 (license asl2.0)))
67b46818 188
4e9e74be
LF
189(define-public go-github-com-audriusbutkevicius-recli
190 (package
191 (name "go-github-com-audriusbutkevicius-recli")
192 (version "0.0.5")
193 (source (origin
194 (method git-fetch)
195 (uri (git-reference
196 (url "https://github.com/AudriusButkevicius/recli")
197 (commit (string-append "v" version))))
198 (file-name (git-file-name name version))
199 (sha256
200 (base32
201 "1m1xna1kb78pkmr1lfmvvnpk9j7c4x71j3a7c6vj7zpzc4srpsmf"))))
202 (build-system go-build-system)
203 (inputs
204 `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
205 ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)))
206 (arguments
207 `(#:import-path "github.com/AudriusButkevicius/recli"))
208 (synopsis "Reflection-based CLI generator")
209 (description "For a given struct, @code{recli} builds a set of
210@code{urfave/cli} commands which allows you to modify it from the command line.
211It is useful for generating command line clients for your application
212configuration that is stored in a Go struct.")
213 (home-page "https://github.com/AudriusButkevicius/recli")
214 (license mpl2.0)))
215
67b46818
LF
216(define-public go-github-com-bkaradzic-go-lz4
217 (let ((commit "7224d8d8f27ef618c0a95f1ae69dbb0488abc33a")
218 (revision "0"))
219 (package
220 (name "go-github-com-bkaradzic-go-lz4")
221 (version (git-version "0.0.0" revision commit))
222 (source (origin
223 (method git-fetch)
224 (uri (git-reference
225 (url "https://github.com/bkaradzic/go-lz4")
226 (commit commit)))
227 (file-name (git-file-name name version))
228 (sha256
229 (base32
230 "10lmya17vdqg2pvqni0p73iahni48s1v11ya9a0hcz4jh5vw4dkb"))))
231 (build-system go-build-system)
232 (arguments
233 `(#:import-path "github.com/bkaradzic/go-lz4"))
234 (synopsis "LZ4 compression algorithm")
235 (description "This package provides @code{go-lz4}, a Go implementation of
236the LZ4 compression algorithm.")
237 (home-page "https://github.com/bkaradzic/go-lz4")
238 (license bsd-2))))
add56f34
LF
239
240(define-public go-github-com-calmh-du
241 (package
242 (name "go-github-com-calmh-du")
243 (version "1.0.1")
244 (source (origin
245 (method git-fetch)
246 (uri (git-reference
247 (url "https://github.com/calmh/du")
248 (commit (string-append "v" version))))
249 (file-name (git-file-name name version))
250 (sha256
251 (base32
252 "0qb3a6y3p9nkyn3s66k6zcm16y8n8578qh23ddj14cxf2scrr2n2"))))
253 (build-system go-build-system)
254 (arguments
255 `(#:import-path "github.com/calmh/du"))
256 (synopsis "Get total and available disk space of a given volume")
257 (description "This is a Go implementation of `du`. It provides disk usage
258information, such as how much storage space is available, free, and used.")
259 (home-page "https://github.com/calmh/du")
260 (license public-domain)))
1e28085e
LF
261
262(define-public go-github-com-calmh-xdr
fef131b4
LF
263 (package
264 (name "go-github-com-calmh-xdr")
265 (version "1.1.0")
266 (source (origin
267 (method git-fetch)
268 (uri (git-reference
269 (url "https://github.com/calmh/xdr")
270 (commit (string-append "v" version))))
271 (file-name (git-file-name name version))
272 (sha256
273 (base32
274 "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh"))))
275 (build-system go-build-system)
276 (arguments
277 `(#:import-path "github.com/calmh/xdr"))
278 (synopsis "XDR marshalling and unmarshalling")
279 (description "XDR is an External Data Representation (XDR)
1e28085e
LF
280marshalling and unmarshalling library in Go. It uses code generation and not
281reflection.")
fef131b4
LF
282 (home-page "https://github.com/calmh/xdr")
283 (license expat)))
ab3e1589
LF
284
285(define-public go-github-com-d4l3k-messagediff
edda279f
LF
286 (package
287 (name "go-github-com-d4l3k-messagediff")
288 (version "1.2.1")
289 (source (origin
290 (method git-fetch)
291 (uri (git-reference
292 (url "https://github.com/d4l3k/messagediff")
293 (commit (string-append "v" version))))
294 (file-name (git-file-name name version))
295 (sha256
296 (base32
297 "104hl8x57ciaz7mzafg1vp9qggxcyfm8hsv9bmlihbz9ml3nyr8v"))))
298 (build-system go-build-system)
299 (arguments
300 `(#:import-path "github.com/d4l3k/messagediff"))
301 (synopsis "Diff arbitrary Go structs")
302 (description "Messagediff is a library for calculating diffs of arbitrary
ab3e1589 303structs in the Go programming language.")
edda279f
LF
304 (home-page "https://github.com/d4l3k/messagediff")
305 (license expat)))
a3a5b012 306
4d93ebb3 307(define-public go-github-com-gobwas-glob
c32e70a8
LF
308 (package
309 (name "go-github-com-gobwas-glob")
310 (version "0.2.3")
311 (source (origin
312 (method git-fetch)
313 (uri (git-reference
314 (url "https://github.com/gobwas/glob")
315 (commit (string-append "v" version))))
316 (file-name (git-file-name name version))
317 (sha256
318 (base32
319 "0jxk1x806zn5x86342s72dq2qy64ksb3zrvrlgir2avjhwb18n6z"))))
320 (build-system go-build-system)
321 (arguments
322 `(#:import-path "github.com/gobwas/glob"))
323 (synopsis "Go globbing library")
324 (description "This package provides a Go implementation of globs.")
325 (home-page "https://github.com/gobwas/glob")
326 (license expat)))
07e88fc6 327
ede4f50c
LF
328
329(define-public go-github-com-golang-groupcache-lru
87abee4e
LF
330 (let ((commit "869f871628b6baa9cfbc11732cdf6546b17c1298")
331 (revision "2"))
ede4f50c
LF
332 (package
333 (name "go-github-com-golang-groupcache-lru")
334 (version (git-version "0.0.0" revision commit))
335 (source (origin
336 (method git-fetch)
337 (uri (git-reference
338 (url "https://github.com/golang/groupcache")
339 (commit commit)))
340 (file-name (git-file-name name version))
341 (sha256
342 (base32
87abee4e 343 "0r4nk8129bvx50qb4xzjaay39b2h6k7cbdqqzdlanmc82ygczsbw"))))
ede4f50c
LF
344 (build-system go-build-system)
345 (arguments
346 `(#:import-path "github.com/golang/groupcache/lru"
347 #:unpack-path "github.com/golang/groupcache"))
348 (synopsis "Groupcache is a caching and cache-filling library")
349 (description "Groupcache is a caching and cache-filling library, intended
350as a replacement for memcached in many cases. It provides a data loading
351mechanism with caching and de-duplication that works across a set of peer
352processes.")
353 (home-page "https://github.com/golang/groupcache")
354 (license asl2.0))))
b32eab0b
LF
355
356(define-public go-github-com-golang-snappy
357 (let ((commit "553a641470496b2327abcac10b36396bd98e45c9")
358 (revision "0"))
359 (package
360 (name "go-github-com-golang-snappy")
361 (version (git-version "0.0.0" revision commit))
362 (source (origin
363 (method git-fetch)
364 (uri (git-reference
365 (url "https://github.com/golang/snappy")
366 (commit commit)))
367 (file-name (git-file-name name version))
368 (sha256
369 (base32
370 "0kssxnih1l722hx9219c7javganjqkqhvl3i0hp0hif6xm6chvqk"))))
371 (build-system go-build-system)
372 (arguments
373 `(#:import-path "github.com/golang/snappy"))
374 (synopsis "Snappy compression format in the Go programming language")
375 (description "This package provides a Go implementation of the Snappy
376compression format.")
377 (home-page "https://github.com/golang/snappy")
378 (license bsd-3))))
7b92093d
LF
379
380(define-public go-github-com-jackpal-gateway
a427d735
LF
381 (package
382 (name "go-github-com-jackpal-gateway")
383 (version "1.0.5")
384 (source (origin
385 (method git-fetch)
386 (uri (git-reference
387 (url "https://github.com/jackpal/gateway")
388 (commit (string-append "v" version))))
389 (file-name (git-file-name name version))
390 (sha256
391 (base32
392 "1ird5xmizj632l3dq24s2xgb8w1dn6v8xznlqz252gvngyr2gjl1"))))
393 (build-system go-build-system)
394 (arguments
395 `(#:import-path "github.com/jackpal/gateway"))
396 (synopsis "Discover the address of a LAN gateway")
397 (description "@code{gateway} is a Go library for discovering the IP
7b92093d 398address of the default LAN gateway.")
a427d735
LF
399 (home-page "https://github.com/jackpal/gateway")
400 (license bsd-3)))
7577a1d5 401
340e1a9a 402(define-public go-github-com-lib-pq
d73cbbda
LF
403 (package
404 (name "go-github-com-lib-pq")
158e8293 405 (version "1.2.0")
d73cbbda
LF
406 (source (origin
407 (method git-fetch)
408 (uri (git-reference
409 (url "https://github.com/lib/pq")
410 (commit (string-append "v" version))))
411 (file-name (git-file-name name version))
412 (sha256
413 (base32
158e8293 414 "08j1smm6rassdssdks4yh9aspa1dv1g5nvwimmknspvhx8a7waqz"))))
d73cbbda
LF
415 (build-system go-build-system)
416 (arguments
417 `(#:import-path "github.com/lib/pq"
418 ;; The tests seem to fail without access to the network or a running
419 ;; Postgres instance.
420 #:tests? #f))
421 (synopsis "Golang Postgres driver for Go's database/sql")
a2ca130a 422 (description "This package provides a pure Go Postgres driver for Go's
340e1a9a 423database/sql package.")
d73cbbda
LF
424 (home-page "https://github.com/lib/pq")
425 (license expat)))
4a9c4dbe 426
0921b230 427(define-public go-github-com-oschwald-geoip2-golang
d277b9bc
LF
428 (package
429 (name "go-github-com-oschwald-geoip2-golang")
19596073 430 (version "1.4.0")
d277b9bc
LF
431 (source (origin
432 (method git-fetch)
433 (uri (git-reference
434 (url "https://github.com/oschwald/geoip2-golang")
435 (commit (string-append "v" version))))
436 (file-name (git-file-name name version))
437 (sha256
438 (base32
19596073 439 "1jj4rbdpy87rbl79czg5hs5dyn6xlbnk0bnvyzi71dsxan57nixw"))))
d277b9bc
LF
440 (build-system go-build-system)
441 (propagated-inputs
442 `(("go-github-com-oschwald-maxminddb-golang"
443 ,go-github-com-oschwald-maxminddb-golang)
561d391b 444 ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
d277b9bc
LF
445 (arguments
446 `(#:import-path "github.com/oschwald/geoip2-golang"
447 #:tests? #f)) ; Requires some unpackaged software and test data
448 (synopsis "MaxMind GeoIP2 reader")
662ab81d 449 (description "This package provides a library for reading MaxMind
0921b230 450GeoLite2 and GeoIP2 databases in Go.")
d277b9bc
LF
451 (home-page "https://github.com/oschwald/geoip2-golang")
452 (license isc)))
0921b230 453
a57778f5 454(define-public go-github-com-oschwald-maxminddb-golang
8e7e2dbc
LF
455 (package
456 (name "go-github-com-oschwald-maxminddb-golang")
457 (version "1.4.0")
458 (source (origin
459 (method git-fetch)
460 (uri (git-reference
461 (url "https://github.com/oschwald/maxminddb-golang")
462 (commit (string-append "v" version))))
463 (file-name (git-file-name name version))
464 (sha256
465 (base32
466 "100wd5qv00pkcm6cb8c4x5gavc9jnn7drh6xrqh85hzci4rils66"))))
467 (build-system go-build-system)
468 (propagated-inputs
469 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
470 (arguments
471 `(#:import-path "github.com/oschwald/maxminddb-golang"
472 #:tests? #f)) ; Requires some unpackaged software and test data
473 (synopsis "MaxMind DB Reader for Go")
474 (description "This is a Go reader for the MaxMind DB format. Although
a57778f5
LF
475this can be used to read GeoLite2 and GeoIP2 databases, @code{geoip2} provides a
476higher-level API for doing so.")
8e7e2dbc
LF
477 (home-page "https://github.com/oschwald/maxminddb-golang")
478 (license isc)))
a57778f5 479
6bc1eb11
LF
480(define-public go-github-com-stathat-go
481 (let ((commit "74669b9f388d9d788c97399a0824adbfee78400e")
482 (revision "0"))
483 (package
484 (name "go-github-com-stathat-go")
485 (version (git-version "0.0.0" revision commit))
486 (source (origin
487 (method git-fetch)
488 (uri (git-reference
489 (url "https://github.com/stathat/go")
490 (commit commit)))
491 (file-name (git-file-name name version))
492 (sha256
493 (base32
494 "1zzlsl24dyr202qkr2pay22m6d0gb7ssms77wgdx0r0clgm7dihw"))))
495 (build-system go-build-system)
496 (arguments
497 `(#:import-path "github.com/stathat/go"))
498 (synopsis "Post statistics to StatHat")
499 (description "This is a Go package for posting to a StatHat account.")
500 (home-page "https://github.com/stathat/go")
501 (license expat))))
502
1a4795f9 503(define-public go-github-com-rcrowley-go-metrics
3170d754
LF
504 (let ((commit "cac0b30c2563378d434b5af411844adff8e32960")
505 (revision "2"))
1a4795f9
LF
506 (package
507 (name "go-github-com-rcrowley-go-metrics")
508 (version (git-version "0.0.0" revision commit))
509 (source (origin
510 (method git-fetch)
511 (uri (git-reference
512 (url "https://github.com/rcrowley/go-metrics")
513 (commit commit)))
514 (file-name (git-file-name name version))
515 (sha256
516 (base32
3170d754 517 "1hfxffnpaw49pr3wrkbzq3pnv3nyzsvk5dxndv0yz70xlrbg8a04"))))
1a4795f9
LF
518 (build-system go-build-system)
519 (arguments
520 `(#:import-path "github.com/rcrowley/go-metrics"))
521 (propagated-inputs
522 `(("go-github-com-stathat-go" ,go-github-com-stathat-go)))
523 (synopsis "Go port of Coda Hale's Metrics library")
524 (description "This package provides a Go implementation of Coda Hale's
525Metrics library.")
526 (home-page "https://github.com/rcrowley/go-metrics")
527 (license bsd-2))))
528
8d7e9924 529(define-public go-github-com-sasha-s-go-deadlock
767579d1
LF
530 (package
531 (name "go-github-com-sasha-s-go-deadlock")
532 (version "0.2.0")
533 (source (origin
534 (method git-fetch)
535 (uri (git-reference
536 (url "https://github.com/sasha-s/go-deadlock")
537 (commit (string-append "v" version))))
538 (file-name (git-file-name name version))
539 (sha256
540 (base32
541 "13p7b7pakd9k1c2k0fs1hfim3c8mivz679977ai6zb01s4aw7gyg"))))
542 (build-system go-build-system)
543 (arguments
544 `(#:import-path "github.com/sasha-s/go-deadlock"))
545 (propagated-inputs
546 `(("go-github-com-petermattis-goid" ,go-github-com-petermattis-goid)))
547 (synopsis "Deadlock detection in go")
548 (description "This package provides tools for detecting deadlocks at
8d7e9924 549run-time in Go.")
767579d1
LF
550 (home-page "https://github.com/sasha-s/go-deadlock")
551 (license asl2.0)))
8d7e9924 552
c864a4a7 553(define-public go-github-com-syndtr-goleveldb
a93e2392
LF
554 (let ((commit "c3a204f8e96543bb0cc090385c001078f184fc46")
555 (revision "3"))
c864a4a7
LF
556 (package
557 (name "go-github-com-syndtr-goleveldb")
a93e2392 558 (version (git-version "1.0.1" revision commit))
c864a4a7
LF
559 (source (origin
560 (method git-fetch)
561 (uri (git-reference
562 (url "https://github.com/syndtr/goleveldb")
563 (commit commit)))
564 (file-name (git-file-name name version))
565 (sha256
566 (base32
a93e2392 567 "18cac90dim2z5g28vazzibxa058q2ynihsmf0vbscwzba6l5s5ms"))))
c864a4a7
LF
568 (build-system go-build-system)
569 (propagated-inputs
570 `(("go-github-com-golang-snappy" ,go-github-com-golang-snappy)))
571 (arguments
572 `(#:import-path "github.com/syndtr/goleveldb/leveldb"
573 #:unpack-path "github.com/syndtr/goleveldb"
574 #:tests? #f)) ; XXX needs 'github.com/onsi/gomega' package
575 (synopsis "LevelDB key/value database")
576 (description "This is an implementation of the LevelDB key / value
577database in Go.")
578 (home-page "https://github.com/syndtr/goleveldb")
579 (license bsd-2))))
580
f7612f0f 581(define-public go-github-com-thejerf-suture
ac51900d
LF
582 (package
583 (name "go-github-com-thejerf-suture")
584 (version "3.0.2")
585 (source (origin
586 (method git-fetch)
587 (uri (git-reference
588 (url "https://github.com/thejerf/suture")
589 (commit (string-append "v" version))))
590 (file-name (git-file-name name version))
591 (sha256
592 (base32
593 "03bdrl78jfwk0kw40lj63ga9cxhgccgss8yi9lp5j0m0ml7921gh"))))
594 (build-system go-build-system)
595 (arguments
596 `(#:import-path "github.com/thejerf/suture"))
597 (synopsis "Supervisor trees for Go")
598 (description "Suture provides Erlang-ish supervisor trees for Go.
f7612f0f
LF
599\"Supervisor trees\" -> \"sutree\" -> \"suture\" -> holds your code together
600when it's trying to die.
601
602It is intended to deal gracefully with the real failure cases that can occur
603with supervision trees (such as burning all your CPU time endlessly restarting
604dead services), while also making no unnecessary demands on the \"service\"
605code, and providing hooks to perform adequate logging with in a production
606environment")
ac51900d
LF
607 (home-page "https://github.com/thejerf/suture")
608 (license expat)))
f7612f0f 609
9a0c4b63 610(define-public go-github-com-vitrun-qart
292a6b0d
LF
611 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
612 (revision "0"))
613 (package
9a0c4b63 614 (name "go-github-com-vitrun-qart")
292a6b0d
LF
615 (version (git-version "0.0.0" revision commit))
616 (source (origin
617 (method git-fetch)
618 (uri (git-reference
619 (url "https://github.com/vitrun/qart")
620 (commit commit)))
621 (file-name (string-append "go-github-com-vitrun-qart-"
622 version "-checkout"))
623 (sha256
624 (base32
625 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
626 (build-system go-build-system)
627 (arguments
9a0c4b63
LF
628 `(#:import-path "github.com/vitrun/qart"))
629 (synopsis "Create QR codes with an embedded image")
292a6b0d
LF
630 (description "This package provides a library for embedding
631human-meaningful graphics in QR codes. However, instead of scribbling on
632redundant pieces and relying on error correction to preserve the meaning,
633@code{qart} engineers the encoded values to create the picture in a code with no
9a0c4b63 634inherent errors.")
892ced6d 635 (home-page "https://github.com/vitrun/qart")
6934827a
LF
636 (license bsd-3))))
637
78d1b85a 638(define-public go-github-com-chmduquesne-rollinghash
2fcd1c84
LF
639 (let ((commit "a60f8e7142b536ea61bb5d84014171189eeaaa81")
640 (revision "0"))
2785690a 641 (package
78d1b85a 642 (name "go-github-com-chmduquesne-rollinghash")
2fcd1c84 643 (version (git-version "4.0.0" revision commit))
2785690a
LF
644 (source
645 (origin
646 (method git-fetch)
647 (uri (git-reference
648 (url "https://github.com/chmduquesne/rollinghash.git")
649 (commit commit)))
650 (file-name (git-file-name name version))
651 (sha256
652 (base32
2fcd1c84 653 "0fpaqq4zb0wikgbhn7vwqqj1h865f5xy195vkhivsp922p7qwsjr"))))
2785690a
LF
654 (build-system go-build-system)
655 (arguments
78d1b85a
LF
656 '(#:import-path "github.com/chmduquesne/rollinghash/"))
657 (synopsis "Rolling hashes in Go")
658 (description "This package provides a Go implementation of several rolling
659hashes.")
2785690a
LF
660 (home-page "https://github.com/chmduquesne/rollinghash")
661 (license expat))))
3d86b557 662
73a2f841 663(define-public go-github-com-petermattis-goid
adc6ae9a
LF
664 (let ((commit "b0b1615b78e5ee59739545bb38426383b2cda4c9")
665 (revision "1"))
73a2f841
LF
666 (package
667 (name "go-github-com-petermattis-goid")
668 (version (git-version "0.0.0" revision commit))
669 (source (origin
670 (method git-fetch)
671 (uri (git-reference
672 (url "https://github.com/petermattis/goid.git")
673 (commit commit)))
674 (file-name (git-file-name name version))
675 (sha256
73a2f841 676 (base32
adc6ae9a 677 "0ghfxn045r0bbn2vszw897lxzmhnm4k59aypjvpxl0pbzsw9ab2c"))))
73a2f841
LF
678 (build-system go-build-system)
679 (arguments
680 '(#:import-path "github.com/petermattis/goid"))
681 (synopsis "Identify the running goroutine")
b55b96a7 682 (description "This package offers a method of programmatically retrieving
73a2f841
LF
683the current goroutine's ID.")
684 (home-page "https://github.com/petermattis/goid")
685 (license asl2.0))))
71415e23 686
89d91ee2 687(define-public go-github-com-kballard-go-shellquote
e268d0bb
LF
688 (let ((commit "95032a82bc518f77982ea72343cc1ade730072f0")
689 (revision "1"))
89d91ee2
LF
690 (package
691 (name "go-github-com-kballard-go-shellquote")
692 (version (git-version "0.0.0" revision commit))
693 (source (origin
694 (method git-fetch)
695 (uri (git-reference
696 (url "https://github.com/kballard/go-shellquote.git")
697 (commit commit)))
698 (file-name (git-file-name name version))
699 (sha256
700 (base32
e268d0bb 701 "1rspvmnsikdq95jmx3dykxd4k1rmgl98ryjrysvl0cf18hl1vq80"))))
89d91ee2
LF
702 (build-system go-build-system)
703 (arguments
704 '(#:import-path "github.com/kballard/go-shellquote"))
705 (synopsis "Shell-style string joins and splits")
706 (description "Shellquote provides utilities for joining/splitting strings
707using sh's word-splitting rules.")
708 (home-page "https://github.com/kballard/go-shellquote")
709 (license expat))))
a3d98dd8 710
2849c665 711(define-public go-github-com-syncthing-notify
e9a0e475
LF
712 (let ((commit "69c7a957d3e261f9744f46b3dd4d608d8480ad90")
713 (revision "5"))
52ff28e4 714 (package
2849c665 715 (name "go-github-com-syncthing-notify")
52ff28e4
LF
716 (version (git-version "0.0.0" revision commit))
717 (source (origin
718 (method git-fetch)
719 (uri (git-reference
2849c665 720 (url "https://github.com/syncthing/notify")
52ff28e4
LF
721 (commit commit)))
722 (file-name (git-file-name name version))
723 (sha256
724 (base32
e9a0e475 725 "1mmdzyfnmjabyhbipl4bggw4w5nlxyyjp0d93qd824kj07kmsr1f"))))
52ff28e4
LF
726 (build-system go-build-system)
727 (arguments
2849c665 728 '(#:import-path "github.com/syncthing/notify"))
52ff28e4 729 (propagated-inputs
561d391b 730 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
3bd840e4 731 (synopsis "File system event notification library")
162a1374 732 (description "This package provides @code{notify}, a file system event
52ff28e4 733notification library in Go.")
2849c665 734 (home-page "https://github.com/syncthing/notify")
52ff28e4 735 (license expat))))
63aade45 736
a04434f2
LF
737(define-public go-github-com-beorn7-perks-quantile
738 (let ((commit "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9")
739 (revision "0"))
740 (package
741 (name "go-github-com-beorn7-perks-quantile")
742 (version (git-version "0.0.0" revision commit))
743 (source (origin
744 (method git-fetch)
745 (uri (git-reference
746 (url "https://github.com/beorn7/perks.git")
747 (commit commit)))
748 (file-name (git-file-name name version))
749 (sha256
750 (base32
751 "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y"))))
752 (build-system go-build-system)
753 (arguments
754 '(#:import-path "github.com/beorn7/perks/quantile"
755 #:unpack-path "github.com/beorn7/perks"))
756 (synopsis "Compute approximate quantiles over an unbounded data stream")
757 (description "Perks contains the Go package @code{quantile} that computes
758approximate quantiles over an unbounded data stream within low memory and CPU
759bounds.")
760 (home-page "https://github.com/beorn7/perks")
761 (license expat))))
339e44da 762
491d07cc 763(define-public go-github-com-prometheus-client-model
0d793a59
LF
764 (let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
765 (revision "2"))
4b6b1a38 766 (package
491d07cc 767 (name "go-github-com-prometheus-client-model")
4b6b1a38
LF
768 (version (git-version "0.0.2" revision commit))
769 (source (origin
770 (method git-fetch)
771 (uri (git-reference
772 (url "https://github.com/prometheus/client_model.git")
773 (commit commit)))
774 (file-name (git-file-name name version))
775 (sha256
776 (base32
0d793a59 777 "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550"))))
4b6b1a38
LF
778 (build-system go-build-system)
779 (arguments
491d07cc
LF
780 '(#:import-path "github.com/prometheus/client_model"
781 #:tests? #f
782 #:phases
783 (modify-phases %standard-phases
784 ;; Source-only package
785 (delete 'build))))
4b6b1a38
LF
786 (propagated-inputs
787 `(("go-github-com-golang-protobuf-proto"
788 ,go-github-com-golang-protobuf-proto)))
789 (synopsis "Data model artifacts for Prometheus")
790 (description "This package provides data model artifacts for Prometheus.")
791 (home-page "https://github.com/prometheus/client_model")
792 (license asl2.0))))
1da227b0
LF
793
794(define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
795 (let ((commit "c12348ce28de40eed0136aa2b644d0ee0650e56c")
796 (revision "0"))
797 (package
798 (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
799 (version (git-version "1.0.0" revision commit))
800 (source
801 (origin
802 (method git-fetch)
803 (uri
804 (git-reference
805 (url "https://github.com/matttproud/golang_protobuf_extensions.git")
806 (commit commit)))
807 (file-name (git-file-name name version))
808 (sha256
809 (base32
810 "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"))))
811 (build-system go-build-system)
812 (arguments
813 '(#:import-path "github.com/matttproud/golang_protobuf_extensions/pbutil"
814 #:unpack-path "github.com/matttproud/golang_protobuf_extensions"))
815 (propagated-inputs
816 `(("go-github-com-golang-protobuf-proto"
817 ,go-github-com-golang-protobuf-proto)))
818 (synopsis "Streaming Protocol Buffers in Go")
819 (description "This package provides various Protocol Buffer
820extensions for the Go language, namely support for record length-delimited
821message streaming.")
822 (home-page "https://github.com/matttproud/golang_protobuf_extensions")
823 (license asl2.0))))
270590bd 824
491d07cc 825(define-public go-github-com-prometheus-common
270590bd 826 (package
491d07cc 827 (name "go-github-com-prometheus-common")
20470893 828 (version "0.4.1")
270590bd
LF
829 (source (origin
830 (method git-fetch)
831 (uri (git-reference
832 (url "https://github.com/prometheus/common.git")
20470893 833 (commit (string-append "v" version))))
270590bd
LF
834 (file-name (git-file-name name version))
835 (sha256
836 (base32
20470893 837 "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
270590bd
LF
838 (build-system go-build-system)
839 (arguments
491d07cc
LF
840 '(#:import-path "github.com/prometheus/common"
841 #:tests? #f
270590bd
LF
842 #:phases
843 (modify-phases %standard-phases
844 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
845 (lambda* (#:key outputs #:allow-other-keys)
846 (map (lambda (file)
847 (make-file-writable file))
848 (find-files
849 (string-append (assoc-ref outputs "out")
850 "/src/github.com/prometheus/common/expfmt/testdata/")
851 ".*\\.gz$"))
46a37b59 852 #t))
491d07cc
LF
853 ;; Source-only package
854 (delete 'build))))
270590bd
LF
855 (propagated-inputs
856 `(("go-github-com-golang-protobuf-proto"
857 ,go-github-com-golang-protobuf-proto)
858 ("go-github-com-matttproud-golang-protobuf-extensions-pbutil"
859 ,go-github-com-matttproud-golang-protobuf-extensions-pbutil)
491d07cc
LF
860 ("go-github-com-prometheus-client-model"
861 ,go-github-com-prometheus-client-model)))
270590bd
LF
862 (synopsis "Prometheus metrics")
863 (description "This package provides tools for reading and writing
864Prometheus metrics.")
865 (home-page "https://github.com/prometheus/common")
20470893 866 (license asl2.0)))
13dca4a5
LF
867
868(define-public go-github-com-prometheus-procfs
13dca4a5
LF
869 (package
870 (name "go-github-com-prometheus-procfs")
75f36ad6 871 (version "0.0.4")
13dca4a5
LF
872 (source (origin
873 (method git-fetch)
874 (uri (git-reference
875 (url "https://github.com/prometheus/procfs.git")
2cdfaa02 876 (commit (string-append "v" version))))
13dca4a5
LF
877 (file-name (git-file-name name version))
878 (sha256
879 (base32
75f36ad6 880 "1z5jq5rjala0a0di4nwk1rai0z9f73qwqj6mgcbpjbg2qknlb544"))))
13dca4a5
LF
881 (build-system go-build-system)
882 (arguments
2cdfaa02
LF
883 '(#:import-path "github.com/prometheus/procfs"
884 ;; The tests require Go modules, which are not yet supported in Guix's
885 ;; Go build system.
886 #:tests? #f))
13dca4a5 887 (synopsis "Go library for reading @file{/proc}")
3bd840e4
TGR
888 (description "The @code{procfs} Go package provides functions to retrieve
889system, kernel, and process metrics from the @file{/proc} pseudo file system.")
13dca4a5 890 (home-page "https://github.com/prometheus/procfs")
2cdfaa02 891 (license asl2.0)))
bfbe868d 892
491d07cc 893(define-public go-github-com-prometheus-client-golang
bfbe868d 894 (package
491d07cc 895 (name "go-github-com-prometheus-client-golang")
191e4df0 896 (version "1.1.0")
bfbe868d
LF
897 (source (origin
898 (method git-fetch)
899 (uri (git-reference
900 (url "https://github.com/prometheus/client_golang.git")
94b1e5e0 901 (commit (string-append "v" version))))
bfbe868d
LF
902 (file-name (git-file-name name version))
903 (sha256
904 (base32
191e4df0 905 "1r0irxkmfnj6ininb06w6ybknini5lz02idawrbkk2i5lq1qcvvf"))))
bfbe868d
LF
906 (build-system go-build-system)
907 (arguments
491d07cc
LF
908 '(#:tests? #f
909 #:import-path "github.com/prometheus/client_golang"
910 #:phases
911 (modify-phases %standard-phases
912 ;; Source-only package
913 (delete 'build))))
bfbe868d
LF
914 (propagated-inputs
915 `(("go-github-com-beorn7-perks-quantile"
916 ,go-github-com-beorn7-perks-quantile)
917 ("go-github-com-golang-protobuf-proto"
918 ,go-github-com-golang-protobuf-proto)
491d07cc
LF
919 ("go-github-com-prometheus-client-model"
920 ,go-github-com-prometheus-client-model)
921 ("go-github-com-prometheus-common"
922 ,go-github-com-prometheus-common)
bfbe868d
LF
923 ("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)))
924 (synopsis "HTTP server and client tools for Prometheus")
925 (description "This package @code{promhttp} provides HTTP client and
926server tools for Prometheus metrics.")
927 (home-page "https://github.com/prometheus/client_golang")
94b1e5e0 928 (license asl2.0)))
fa22168b 929
712d01bb
LF
930(define-public go-gopkg.in-asn1-ber.v1
931 (package
932 (name "go-gopkg.in-asn1-ber.v1")
17436233 933 (version "1.3")
712d01bb
LF
934 (source (origin
935 (method git-fetch)
936 (uri (git-reference
937 (url "https://gopkg.in/asn1-ber.v1")
938 (commit (string-append "v" version))))
939 (file-name (git-file-name name version))
940 (sha256
941 (base32
17436233 942 "00ixms8x3lrhywbvq5v2sagcqsxa1pcnlk17dp5lnwckv3xg4psb"))))
712d01bb
LF
943 (build-system go-build-system)
944 (arguments
66fa8f0f 945 '(#:import-path "gopkg.in/asn1-ber.v1"
9642446c 946 ;; Tests don't pass "vet" on Go since 1.11. See
66fa8f0f
PN
947 ;; https://github.com/go-asn1-ber/asn1-ber/issues/20.
948 #:phases
949 (modify-phases %standard-phases
950 (replace 'check
951 (lambda* (#:key import-path #:allow-other-keys)
952 (invoke "go" "test"
953 "-vet=off"
954 import-path))))))
712d01bb
LF
955 (synopsis "ASN.1 BER encoding and decoding in Go")
956 (description "This package provides ASN.1 BER encoding and decoding in the
957Go language.")
958 (home-page "https://gopkg.in/asn1-ber.v1")
959 (license expat)))
4cb2112d
LF
960
961(define-public go-gopkg.in-ldap.v2
962 (package
963 (name "go-gopkg.in-ldap.v2")
964 (version "2.5.1")
965 (source (origin
966 (method git-fetch)
967 (uri (git-reference
968 (url "https://gopkg.in/ldap.v2")
969 (commit (string-append "v" version))))
970 (file-name (git-file-name name version))
971 (sha256
972 (base32
973 "1wf81wy04nhkqs0dg5zkivr4sh37r83bxrfwjz9vr4jq6vmljr3h"))))
974 (build-system go-build-system)
975 (arguments
976 '(#:import-path "gopkg.in/ldap.v2"
977 #:tests? #f)) ; the test suite requires network access
978 (propagated-inputs
979 `(("go-gopkg.in-asn1-ber.v1" ,go-gopkg.in-asn1-ber.v1)))
980 (synopsis "LDAP v3 functionality for Go")
981 (description "This package provides basic LDAP v3 functionality in the Go
982language.")
983 (home-page "https://gopkg.in/ldap.v2")
984 (license expat)))
7dc89dc6
LF
985
986(define-public go-github-com-flynn-archive-go-shlex
987 (let ((commit "3f9db97f856818214da2e1057f8ad84803971cff")
988 (revision "0"))
989 (package
990 (name "go-github-com-flynn-archive-go-shlex")
991 (version (git-version "0.0.0" revision commit))
992 (source (origin
993 (method git-fetch)
994 (uri (git-reference
995 (url "https://github.com/flynn-archive/go-shlex.git")
996 (commit commit)))
997 (file-name (git-file-name name version))
998 (sha256
999 (base32
1000 "1j743lysygkpa2s2gii2xr32j7bxgc15zv4113b0q9jhn676ysia"))))
1001 (build-system go-build-system)
1002 (arguments
1003 '(#:import-path "github.com/flynn-archive/go-shlex"))
1004 (synopsis "Go lexer")
1005 (description "Shlex is a simple lexer for go that supports shell-style
1006quoting, commenting, and escaping.")
1007 (home-page "https://github.com/flynn-archive/go-shlex")
1008 (license asl2.0))))
9d81bab8 1009
7cb9c4e2
LF
1010(define-public go-github-com-audriusbutkevicius-pfilter
1011 (let ((commit "c55ef6137fc6f075801eac099cc2687ede0f101d")
1012 (revision "3"))
1013 (package
1014 (name "go-github-com-audriusbutkevicius-pfilter")
1015 (version (git-version "0.0.0" revision commit))
1016 (source
1017 (origin
1018 (method git-fetch)
1019 (uri (git-reference
1020 (url "https://github.com/AudriusButkevicius/pfilter.git")
1021 (commit commit)))
1022 (file-name (git-file-name name version))
1023 (sha256
1024 (base32
1025 "0xzhwyd0w21bhvzl5pinn22hp0y6h44rh3s2ppql69rafc6zd3c6"))))
1026 (build-system go-build-system)
1027 (arguments
1028 '(#:import-path "github.com/AudriusButkevicius/pfilter"))
90c40ea2 1029 (synopsis "Filter packets into multiple virtual connections")
7cb9c4e2
LF
1030 (description "Pfilter is a Go package for filtering packets into multiple
1031virtual connections from a single physical connection.")
1032 (home-page "https://github.com/AudriusButkevicius/pfilter")
1033 (license expat))))
48e1cbdf
LF
1034
1035(define-public go-github-com-ccding-go-stun
1036 (let ((commit "be486d185f3dfcb2dbf8429332da50a0da7f95a6")
1037 (revision "2"))
1038 (package
1039 (name "go-github-com-ccding-go-stun")
1040 (version (git-version "0.0.0" revision commit))
1041 (source
1042 (origin
1043 (method git-fetch)
1044 (uri (git-reference
1045 (url "https://github.com/ccding/go-stun.git")
1046 (commit commit)))
1047 (file-name (git-file-name name version))
1048 (sha256
1049 (base32
1050 "1gr0rw1c1y7wh6913lyn5k4ig023by27i36bly6am8dwgrgp34ww"))))
1051 (build-system go-build-system)
1052 (arguments
1053 '(#:import-path "github.com/ccding/go-stun"))
1054 (synopsis "STUN client implementation")
1055 (description "Go-stun is a go implementation of the STUN client (RFC 3489
1056and RFC 5389).")
1057 (home-page "https://github.com/ccding/go-stun")
1058 (license asl2.0))))