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