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