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