gnu: Add meson 0.55.1.
[jackhill/guix/guix.git] / gnu / packages / syncthing.scm
CommitLineData
56a37713
LF
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2016 Petter <petter@mykolab.ch>
9c2eb962 3;;; Copyright © 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
59357790 4;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
f3978093 5;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
29b659ea 6;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
56a37713
LF
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)
29b659ea 25 #:use-module (guix build-system python)
cca22eb3 26 #:use-module (guix build-system trivial)
56a37713 27 #:use-module (guix packages)
947453a8 28 #:use-module (guix download)
56a37713 29 #:use-module (guix git-download)
269d0858 30 #:use-module (guix licenses)
fd115bee 31 #:use-module (gnu packages)
29b659ea
GL
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))
56a37713 42
947453a8
LF
43(define-public syncthing
44 (package
45 (name "syncthing")
595f30c0 46 (version "1.5.0")
947453a8
LF
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
595f30c0 54 "1394b8y4nllihnjngc0kjpdy7pvyh6v1h09hkn8rdmwxpsdkqkjb"))
21d06acd
LF
55 (modules '((guix build utils)))
56 ;; Delete bundled ("vendored") free software source code.
57 (snippet '(begin
58 (delete-file-recursively "vendor")
59 #t))))
947453a8 60 (build-system go-build-system)
c330c27f
LF
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"))
21d06acd
LF
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
6ac3b835
LF
68 `(("go-github-com-jackpal-go-nat-pmp"
69 ,go-github-com-jackpal-go-nat-pmp)
21d06acd 70 ("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4)
21d06acd
LF
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)
561d391b 90 ("go-golang-org-x-time" ,go-golang-org-x-time)
595f30c0 91 ("go-github-com-go-ldap-ldap" ,go-github-com-go-ldap-ldap)
21d06acd 92 ("go-github-com-gogo-protobuf" ,go-github-com-gogo-protobuf)
d5508458 93 ("go-github-com-shirou-gopsutil" ,go-github-com-shirou-gopsutil)
491d07cc
LF
94 ("go-github-com-prometheus-client-golang"
95 ,go-github-com-prometheus-client-golang)
561d391b
LF
96 ("go-golang-org-x-net" ,go-golang-org-x-net)
97 ("go-golang-org-x-text" ,go-golang-org-x-text)
21d06acd
LF
98 ("go-github-com-audriusbutkevicius-recli"
99 ,go-github-com-audriusbutkevicius-recli)
100 ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
9a0c4b63 101 ("go-github-com-vitrun-qart" ,go-github-com-vitrun-qart)
21d06acd 102 ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
18c4b0a2 103 ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
21d06acd
LF
104 ("go-github-com-flynn-archive-go-shlex"
105 ,go-github-com-flynn-archive-go-shlex)
18c4b0a2
LF
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)
68386112 111 ("go-github-com-willf-bloom" ,go-github-com-willf-bloom)
21d06acd 112
59357790 113 ;; For tests.
21d06acd
LF
114 ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
115
947453a8 116 (arguments
3dbab682
LF
117 `(#:modules ((srfi srfi-26) ; for cut
118 (guix build utils)
119 (guix build go-build-system))
120 #:import-path "github.com/syncthing/syncthing"
1899ef0b
LF
121 ;; We don't need to install the source code for end-user applications.
122 #:install-source? #f
947453a8
LF
123 #:phases
124 (modify-phases %standard-phases
947453a8
LF
125 (add-before 'build 'increase-test-timeout
126 (lambda _
127 (substitute* "src/github.com/syncthing/syncthing/build.go"
7d15490c 128 (("120s") "999s"))
947453a8
LF
129 #t))
130
131 (replace 'build
c7c0b3a9 132 (lambda _
947453a8 133 (with-directory-excursion "src/github.com/syncthing/syncthing"
3dbab682
LF
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"))))
947453a8
LF
141
142 (replace 'check
143 (lambda _
144 (with-directory-excursion "src/github.com/syncthing/syncthing"
1feaca62 145 (invoke "go" "run" "build.go" "test"))))
947453a8
LF
146
147 (replace 'install
c330c27f
LF
148 (lambda* (#:key outputs #:allow-other-keys)
149 (let ((out (assoc-ref outputs "out"))
3dbab682
LF
150 (utils (assoc-ref outputs "utils")))
151 (with-directory-excursion "src/github.com/syncthing/syncthing"
152 (install-file "syncthing" (string-append out "/bin"))
8e1f5aab 153 (for-each (cut install-file <> (string-append utils "/bin/"))
3dbab682
LF
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))))
947453a8
LF
160
161 (add-after 'install 'install-docs
162 (lambda* (#:key outputs #:allow-other-keys)
163 (let* ((out (assoc-ref outputs "out"))
c330c27f
LF
164 (utils (assoc-ref outputs "utils"))
165 (man "/share/man")
166 (man-section (string-append man "/man"))
947453a8 167 (src "src/github.com/syncthing/syncthing/man/"))
c330c27f 168 ;; Install all the man pages to "out".
947453a8
LF
169 (for-each
170 (lambda (file)
171 (install-file file
c330c27f
LF
172 (string-append out man-section
173 (string-take-right file 1))))
947453a8 174 (find-files src "\\.[1-9]"))
c330c27f
LF
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"))
947453a8 183 #t))))))
162a1374 184 (synopsis "Decentralized continuous file system synchronization")
947453a8
LF
185 (description "Syncthing is a peer-to-peer file synchronization tool that
186supports a wide variety of computing platforms. It uses the Block Exchange
187Protocol.")
188 (home-page "https://github.com/syncthing/syncthing")
189 (license mpl2.0)))
190
29b659ea
GL
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)
09991683 231 ("librsvg" ,librsvg)
29b659ea
GL
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
244notification 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
6ac3b835
LF
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
56a37713
LF
273protocol for port mapping and discovering the external IP address of a
274firewall.")
6ac3b835
LF
275 (home-page "https://github.com/jackpal/go-nat-pmp")
276 (license asl2.0)))
67b46818 277
4e9e74be
LF
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.
300It is useful for generating command line clients for your application
301configuration that is stored in a Go struct.")
302 (home-page "https://github.com/AudriusButkevicius/recli")
303 (license mpl2.0)))
304
67b46818
LF
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")
db388401 310 (version (git-version "0.0.0" revision commit))
67b46818
LF
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
325the LZ4 compression algorithm.")
326 (home-page "https://github.com/bkaradzic/go-lz4")
327 (license bsd-2))))
add56f34
LF
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
347information, such as how much storage space is available, free, and used.")
348 (home-page "https://github.com/calmh/du")
349 (license public-domain)))
1e28085e
LF
350
351(define-public go-github-com-calmh-xdr
fef131b4
LF
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)
1e28085e
LF
369marshalling and unmarshalling library in Go. It uses code generation and not
370reflection.")
fef131b4
LF
371 (home-page "https://github.com/calmh/xdr")
372 (license expat)))
ab3e1589
LF
373
374(define-public go-github-com-d4l3k-messagediff
edda279f
LF
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
ab3e1589 392structs in the Go programming language.")
edda279f
LF
393 (home-page "https://github.com/d4l3k/messagediff")
394 (license expat)))
a3a5b012 395
4d93ebb3 396(define-public go-github-com-gobwas-glob
c32e70a8
LF
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)))
07e88fc6 416
ede4f50c
LF
417
418(define-public go-github-com-golang-groupcache-lru
87abee4e
LF
419 (let ((commit "869f871628b6baa9cfbc11732cdf6546b17c1298")
420 (revision "2"))
ede4f50c
LF
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
87abee4e 432 "0r4nk8129bvx50qb4xzjaay39b2h6k7cbdqqzdlanmc82ygczsbw"))))
ede4f50c
LF
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
439as a replacement for memcached in many cases. It provides a data loading
440mechanism with caching and de-duplication that works across a set of peer
441processes.")
442 (home-page "https://github.com/golang/groupcache")
443 (license asl2.0))))
b32eab0b
LF
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
465compression format.")
466 (home-page "https://github.com/golang/snappy")
467 (license bsd-3))))
7b92093d
LF
468
469(define-public go-github-com-jackpal-gateway
a427d735
LF
470 (package
471 (name "go-github-com-jackpal-gateway")
3a893509 472 (version "1.0.6")
a427d735
LF
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
3a893509 481 "1yms2dw4dnz4cvj9vhwh6193d50jhvn5awsp2g3a4lcc3sjrgd6m"))))
a427d735
LF
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
7b92093d 487address of the default LAN gateway.")
a427d735
LF
488 (home-page "https://github.com/jackpal/gateway")
489 (license bsd-3)))
7577a1d5 490
340e1a9a 491(define-public go-github-com-lib-pq
d73cbbda
LF
492 (package
493 (name "go-github-com-lib-pq")
db388401 494 (version "1.2.0")
d73cbbda
LF
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
db388401 503 "08j1smm6rassdssdks4yh9aspa1dv1g5nvwimmknspvhx8a7waqz"))))
d73cbbda
LF
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")
a2ca130a 511 (description "This package provides a pure Go Postgres driver for Go's
340e1a9a 512database/sql package.")
d73cbbda
LF
513 (home-page "https://github.com/lib/pq")
514 (license expat)))
4a9c4dbe 515
0921b230 516(define-public go-github-com-oschwald-geoip2-golang
d277b9bc
LF
517 (package
518 (name "go-github-com-oschwald-geoip2-golang")
19596073 519 (version "1.4.0")
d277b9bc
LF
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
19596073 528 "1jj4rbdpy87rbl79czg5hs5dyn6xlbnk0bnvyzi71dsxan57nixw"))))
d277b9bc
LF
529 (build-system go-build-system)
530 (propagated-inputs
531 `(("go-github-com-oschwald-maxminddb-golang"
532 ,go-github-com-oschwald-maxminddb-golang)
561d391b 533 ("go-golang-org-x-sys" ,go-golang-org-x-sys)))
d277b9bc
LF
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")
662ab81d 538 (description "This package provides a library for reading MaxMind
0921b230 539GeoLite2 and GeoIP2 databases in Go.")
d277b9bc
LF
540 (home-page "https://github.com/oschwald/geoip2-golang")
541 (license isc)))
0921b230 542
a57778f5 543(define-public go-github-com-oschwald-maxminddb-golang
8e7e2dbc
LF
544 (package
545 (name "go-github-com-oschwald-maxminddb-golang")
db388401 546 (version "1.4.0")
8e7e2dbc
LF
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
db388401 555 "100wd5qv00pkcm6cb8c4x5gavc9jnn7drh6xrqh85hzci4rils66"))))
8e7e2dbc
LF
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
a57778f5
LF
564this can be used to read GeoLite2 and GeoIP2 databases, @code{geoip2} provides a
565higher-level API for doing so.")
8e7e2dbc
LF
566 (home-page "https://github.com/oschwald/maxminddb-golang")
567 (license isc)))
a57778f5 568
6bc1eb11 569(define-public go-github-com-stathat-go
db388401
LF
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))))
6bc1eb11 591
1a4795f9 592(define-public go-github-com-rcrowley-go-metrics
3170d754
LF
593 (let ((commit "cac0b30c2563378d434b5af411844adff8e32960")
594 (revision "2"))
1a4795f9
LF
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
3170d754 606 "1hfxffnpaw49pr3wrkbzq3pnv3nyzsvk5dxndv0yz70xlrbg8a04"))))
1a4795f9
LF
607 (build-system go-build-system)
608 (arguments
87e1a197
EF
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"))
1a4795f9
LF
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
618Metrics library.")
619 (home-page "https://github.com/rcrowley/go-metrics")
620 (license bsd-2))))
621
8d7e9924 622(define-public go-github-com-sasha-s-go-deadlock
767579d1
LF
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
8d7e9924 642run-time in Go.")
767579d1
LF
643 (home-page "https://github.com/sasha-s/go-deadlock")
644 (license asl2.0)))
8d7e9924 645
c864a4a7 646(define-public go-github-com-syndtr-goleveldb
fe7e7ac1
LF
647 (let ((commit "758128399b1df3a87e92df6c26c1d2063da8fabe")
648 (revision "4"))
c864a4a7
LF
649 (package
650 (name "go-github-com-syndtr-goleveldb")
a93e2392 651 (version (git-version "1.0.1" revision commit))
c864a4a7
LF
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
fe7e7ac1 660 "0mnkzrz4di13g6ggd54my7bkb9nwk8f5k672dyasn467wsg7bf8f"))))
c864a4a7
LF
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
670database in Go.")
671 (home-page "https://github.com/syndtr/goleveldb")
672 (license bsd-2))))
673
f7612f0f 674(define-public go-github-com-thejerf-suture
ac51900d
LF
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.
f7612f0f
LF
692\"Supervisor trees\" -> \"sutree\" -> \"suture\" -> holds your code together
693when it's trying to die.
694
695It is intended to deal gracefully with the real failure cases that can occur
696with supervision trees (such as burning all your CPU time endlessly restarting
697dead services), while also making no unnecessary demands on the \"service\"
698code, and providing hooks to perform adequate logging with in a production
699environment")
ac51900d
LF
700 (home-page "https://github.com/thejerf/suture")
701 (license expat)))
f7612f0f 702
9a0c4b63 703(define-public go-github-com-vitrun-qart
292a6b0d
LF
704 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
705 (revision "0"))
706 (package
9a0c4b63 707 (name "go-github-com-vitrun-qart")
292a6b0d
LF
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
9a0c4b63
LF
721 `(#:import-path "github.com/vitrun/qart"))
722 (synopsis "Create QR codes with an embedded image")
292a6b0d
LF
723 (description "This package provides a library for embedding
724human-meaningful graphics in QR codes. However, instead of scribbling on
725redundant 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
9a0c4b63 727inherent errors.")
892ced6d 728 (home-page "https://github.com/vitrun/qart")
6934827a
LF
729 (license bsd-3))))
730
78d1b85a 731(define-public go-github-com-chmduquesne-rollinghash
2fcd1c84
LF
732 (let ((commit "a60f8e7142b536ea61bb5d84014171189eeaaa81")
733 (revision "0"))
2785690a 734 (package
78d1b85a 735 (name "go-github-com-chmduquesne-rollinghash")
2fcd1c84 736 (version (git-version "4.0.0" revision commit))
2785690a
LF
737 (source
738 (origin
739 (method git-fetch)
740 (uri (git-reference
b0e7b699 741 (url "https://github.com/chmduquesne/rollinghash")
2785690a
LF
742 (commit commit)))
743 (file-name (git-file-name name version))
744 (sha256
745 (base32
2fcd1c84 746 "0fpaqq4zb0wikgbhn7vwqqj1h865f5xy195vkhivsp922p7qwsjr"))))
2785690a
LF
747 (build-system go-build-system)
748 (arguments
78d1b85a
LF
749 '(#:import-path "github.com/chmduquesne/rollinghash/"))
750 (synopsis "Rolling hashes in Go")
751 (description "This package provides a Go implementation of several rolling
752hashes.")
2785690a
LF
753 (home-page "https://github.com/chmduquesne/rollinghash")
754 (license expat))))
3d86b557 755
73a2f841 756(define-public go-github-com-petermattis-goid
adc6ae9a
LF
757 (let ((commit "b0b1615b78e5ee59739545bb38426383b2cda4c9")
758 (revision "1"))
73a2f841
LF
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
b0e7b699 765 (url "https://github.com/petermattis/goid")
73a2f841
LF
766 (commit commit)))
767 (file-name (git-file-name name version))
768 (sha256
73a2f841 769 (base32
adc6ae9a 770 "0ghfxn045r0bbn2vszw897lxzmhnm4k59aypjvpxl0pbzsw9ab2c"))))
73a2f841
LF
771 (build-system go-build-system)
772 (arguments
773 '(#:import-path "github.com/petermattis/goid"))
774 (synopsis "Identify the running goroutine")
b55b96a7 775 (description "This package offers a method of programmatically retrieving
73a2f841
LF
776the current goroutine's ID.")
777 (home-page "https://github.com/petermattis/goid")
778 (license asl2.0))))
71415e23 779
89d91ee2 780(define-public go-github-com-kballard-go-shellquote
e268d0bb
LF
781 (let ((commit "95032a82bc518f77982ea72343cc1ade730072f0")
782 (revision "1"))
89d91ee2
LF
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
b0e7b699 789 (url "https://github.com/kballard/go-shellquote")
89d91ee2
LF
790 (commit commit)))
791 (file-name (git-file-name name version))
792 (sha256
793 (base32
e268d0bb 794 "1rspvmnsikdq95jmx3dykxd4k1rmgl98ryjrysvl0cf18hl1vq80"))))
89d91ee2
LF
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
800using sh's word-splitting rules.")
801 (home-page "https://github.com/kballard/go-shellquote")
802 (license expat))))
a3d98dd8 803
2849c665 804(define-public go-github-com-syncthing-notify
e9a0e475
LF
805 (let ((commit "69c7a957d3e261f9744f46b3dd4d608d8480ad90")
806 (revision "5"))
52ff28e4 807 (package
2849c665 808 (name "go-github-com-syncthing-notify")
52ff28e4
LF
809 (version (git-version "0.0.0" revision commit))
810 (source (origin
811 (method git-fetch)
812 (uri (git-reference
2849c665 813 (url "https://github.com/syncthing/notify")
52ff28e4
LF
814 (commit commit)))
815 (file-name (git-file-name name version))
816 (sha256
817 (base32
e9a0e475 818 "1mmdzyfnmjabyhbipl4bggw4w5nlxyyjp0d93qd824kj07kmsr1f"))))
52ff28e4
LF
819 (build-system go-build-system)
820 (arguments
2849c665 821 '(#:import-path "github.com/syncthing/notify"))
52ff28e4 822 (propagated-inputs
561d391b 823 `(("go-golang-org-x-sys" ,go-golang-org-x-sys)))
3bd840e4 824 (synopsis "File system event notification library")
162a1374 825 (description "This package provides @code{notify}, a file system event
52ff28e4 826notification library in Go.")
2849c665 827 (home-page "https://github.com/syncthing/notify")
52ff28e4 828 (license expat))))
63aade45 829
a04434f2 830(define-public go-github-com-beorn7-perks-quantile
db388401
LF
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
b0e7b699 839 (url "https://github.com/beorn7/perks")
db388401
LF
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
a04434f2
LF
851approximate quantiles over an unbounded data stream within low memory and CPU
852bounds.")
db388401
LF
853 (home-page "https://github.com/beorn7/perks")
854 (license expat))))
339e44da 855
491d07cc 856(define-public go-github-com-prometheus-client-model
0d793a59
LF
857 (let ((commit "14fe0d1b01d4d5fc031dd4bec1823bd3ebbe8016")
858 (revision "2"))
4b6b1a38 859 (package
491d07cc 860 (name "go-github-com-prometheus-client-model")
4b6b1a38
LF
861 (version (git-version "0.0.2" revision commit))
862 (source (origin
863 (method git-fetch)
864 (uri (git-reference
b0e7b699 865 (url "https://github.com/prometheus/client_model")
4b6b1a38
LF
866 (commit commit)))
867 (file-name (git-file-name name version))
868 (sha256
869 (base32
0d793a59 870 "0zdmk6rbbx39cvfz0r59v2jg5sg9yd02b4pds5n5llgvivi99550"))))
4b6b1a38
LF
871 (build-system go-build-system)
872 (arguments
491d07cc
LF
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))))
4b6b1a38
LF
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))))
1da227b0
LF
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
b0e7b699 898 (url "https://github.com/matttproud/golang_protobuf_extensions")
1da227b0
LF
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
913extensions for the Go language, namely support for record length-delimited
914message streaming.")
915 (home-page "https://github.com/matttproud/golang_protobuf_extensions")
916 (license asl2.0))))
270590bd 917
491d07cc 918(define-public go-github-com-prometheus-common
270590bd 919 (package
491d07cc 920 (name "go-github-com-prometheus-common")
20470893 921 (version "0.4.1")
270590bd
LF
922 (source (origin
923 (method git-fetch)
924 (uri (git-reference
b0e7b699 925 (url "https://github.com/prometheus/common")
20470893 926 (commit (string-append "v" version))))
270590bd
LF
927 (file-name (git-file-name name version))
928 (sha256
929 (base32
20470893 930 "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s"))))
270590bd
LF
931 (build-system go-build-system)
932 (arguments
491d07cc
LF
933 '(#:import-path "github.com/prometheus/common"
934 #:tests? #f
270590bd
LF
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$"))
46a37b59 945 #t))
491d07cc
LF
946 ;; Source-only package
947 (delete 'build))))
270590bd
LF
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)
491d07cc
LF
953 ("go-github-com-prometheus-client-model"
954 ,go-github-com-prometheus-client-model)))
270590bd
LF
955 (synopsis "Prometheus metrics")
956 (description "This package provides tools for reading and writing
957Prometheus metrics.")
958 (home-page "https://github.com/prometheus/common")
20470893 959 (license asl2.0)))
13dca4a5
LF
960
961(define-public go-github-com-prometheus-procfs
db388401
LF
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
b0e7b699 968 (url "https://github.com/prometheus/procfs")
db388401
LF
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
3bd840e4 982system, kernel, and process metrics from the @file{/proc} pseudo file system.")
db388401
LF
983 (home-page "https://github.com/prometheus/procfs")
984 (license asl2.0)))
bfbe868d 985
491d07cc 986(define-public go-github-com-prometheus-client-golang
bfbe868d 987 (package
491d07cc 988 (name "go-github-com-prometheus-client-golang")
d8b681fb 989 (version "1.2.1")
bfbe868d
LF
990 (source (origin
991 (method git-fetch)
992 (uri (git-reference
b0e7b699 993 (url "https://github.com/prometheus/client_golang")
94b1e5e0 994 (commit (string-append "v" version))))
bfbe868d
LF
995 (file-name (git-file-name name version))
996 (sha256
997 (base32
d8b681fb 998 "0zs49psk23n9z8wrl02d5vib5wclpym8kaxcy6n5pk696i419065"))))
bfbe868d
LF
999 (build-system go-build-system)
1000 (arguments
491d07cc
LF
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))))
bfbe868d
LF
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)
491d07cc
LF
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)
3dbab682
LF
1016 ("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)
1017 ("go-github-com-cespare-xxhash" ,go-github-com-cespare-xxhash)))
bfbe868d
LF
1018 (synopsis "HTTP server and client tools for Prometheus")
1019 (description "This package @code{promhttp} provides HTTP client and
1020server tools for Prometheus metrics.")
1021 (home-page "https://github.com/prometheus/client_golang")
94b1e5e0 1022 (license asl2.0)))
fa22168b 1023
0ffc1392 1024(define-public go-github-com-go-asn1-ber-asn1-ber
712d01bb 1025 (package
0ffc1392 1026 (name "go-github-com-go-asn1-ber-asn1-ber")
db388401 1027 (version "1.3.1")
712d01bb
LF
1028 (source (origin
1029 (method git-fetch)
1030 (uri (git-reference
0ffc1392 1031 (url "https://github.com/go-asn1-ber/asn1-ber")
712d01bb
LF
1032 (commit (string-append "v" version))))
1033 (file-name (git-file-name name version))
1034 (sha256
1035 (base32
db388401 1036 "0dxfmgk84fn0p6pz3i0cspynh6rly5pfk9wghm1q07mx99npln02"))))
712d01bb
LF
1037 (build-system go-build-system)
1038 (arguments
0ffc1392 1039 '(#:import-path "github.com/go-asn1-ber/asn1-ber"))
712d01bb
LF
1040 (synopsis "ASN.1 BER encoding and decoding in Go")
1041 (description "This package provides ASN.1 BER encoding and decoding in the
1042Go language.")
0ffc1392 1043 (home-page "https://github.com/go-asn1-ber/asn1-ber")
712d01bb 1044 (license expat)))
4cb2112d 1045
4185edf2 1046(define-public go-github-com-go-ldap-ldap
4cb2112d 1047 (package
4185edf2
LF
1048 (name "go-github-com-go-ldap-ldap")
1049 (version "3.1.7")
4cb2112d
LF
1050 (source (origin
1051 (method git-fetch)
1052 (uri (git-reference
4185edf2 1053 (url "https://github.com/go-ldap/ldap")
4cb2112d
LF
1054 (commit (string-append "v" version))))
1055 (file-name (git-file-name name version))
1056 (sha256
1057 (base32
4185edf2 1058 "1z6wxia7a1jkmasa9mm6g4n8f0qqbp5rw6vk0zyh4vzk7azklnj2"))))
4cb2112d
LF
1059 (build-system go-build-system)
1060 (arguments
4185edf2
LF
1061 '(#:import-path "github.com/go-ldap/ldap/v3"
1062 #:tests? #f)) ; test suite requires internet access
4cb2112d 1063 (propagated-inputs
4185edf2
LF
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")
4cb2112d
LF
1066 (synopsis "LDAP v3 functionality for Go")
1067 (description "This package provides basic LDAP v3 functionality in the Go
1068language.")
4cb2112d 1069 (license expat)))
7dc89dc6
LF
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
b0e7b699 1080 (url "https://github.com/flynn-archive/go-shlex")
7dc89dc6
LF
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
1091quoting, commenting, and escaping.")
1092 (home-page "https://github.com/flynn-archive/go-shlex")
1093 (license asl2.0))))
9d81bab8 1094
7cb9c4e2 1095(define-public go-github-com-audriusbutkevicius-pfilter
f3978093
EF
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
b0e7b699 1103 (url "https://github.com/AudriusButkevicius/pfilter")
f3978093
EF
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
7cb9c4e2 1114virtual connections from a single physical connection.")
f3978093
EF
1115 (home-page "https://github.com/AudriusButkevicius/pfilter")
1116 (license expat)))
48e1cbdf
LF
1117
1118(define-public go-github-com-ccding-go-stun
db388401
LF
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
b0e7b699 1128 (url "https://github.com/ccding/go-stun")
db388401
LF
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
48e1cbdf 1139and RFC 5389).")
db388401
LF
1140 (home-page "https://github.com/ccding/go-stun")
1141 (license asl2.0))))
9c2eb962
LF
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
1161xxHash algorithm (XXH64).")
1162 (home-page "https://github.com/cespare/xxhash/")
1163 (license expat)))