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