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