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