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