gnu: libdrm: Switch to meson-build-system.
[jackhill/guix/guix.git] / gnu / packages / syncthing.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
3 ;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
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)
22 #:use-module (guix build-system trivial)
23 #:use-module (guix packages)
24 #:use-module (guix download)
25 #:use-module (guix git-download)
26 #:use-module (guix licenses)
27 #:use-module (gnu packages)
28 #:use-module (gnu packages golang))
29
30 (define-public syncthing
31 (package
32 (name "syncthing")
33 (version "1.1.0")
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
41 "1iks1a3149gj89yqmqa5iry2ik2sj9sjhlhc6nfh7xq4swqgsrb5"))
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 ))
54 (build-system go-build-system)
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"))
59 (arguments
60 `(#:import-path "github.com/syncthing/syncthing"
61 #:unpack-path "github.com/syncthing"
62 ;; We don't need to install the source code for end-user applications.
63 #:install-source? #f
64 #:phases
65 (modify-phases %standard-phases
66 (add-before 'build 'increase-test-timeout
67 (lambda _
68 (substitute* "src/github.com/syncthing/syncthing/build.go"
69 (("120s") "999s"))
70 #t))
71
72 (replace 'build
73 (lambda _
74 (with-directory-excursion "src/github.com/syncthing/syncthing"
75 (invoke "go" "run" "build.go" "-no-upgrade"))))
76
77 (replace 'check
78 (lambda _
79 (with-directory-excursion "src/github.com/syncthing/syncthing"
80 (invoke "go" "run" "build.go" "test"))))
81
82 (replace 'install
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)))
93
94 (add-after 'install 'install-docs
95 (lambda* (#:key outputs #:allow-other-keys)
96 (let* ((out (assoc-ref outputs "out"))
97 (utils (assoc-ref outputs "utils"))
98 (man "/share/man")
99 (man-section (string-append man "/man"))
100 (src "src/github.com/syncthing/syncthing/man/"))
101 ;; Install all the man pages to "out".
102 (for-each
103 (lambda (file)
104 (install-file file
105 (string-append out man-section
106 (string-take-right file 1))))
107 (find-files src "\\.[1-9]"))
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"))
116 #t))))))
117 (synopsis "Decentralized continuous file system synchronization")
118 (description "Syncthing is a peer-to-peer file synchronization tool that
119 supports a wide variety of computing platforms. It uses the Block Exchange
120 Protocol.")
121 (home-page "https://github.com/syncthing/syncthing")
122 (license mpl2.0)))
123
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
143 protocol for port mapping and discovering the external IP address of a
144 firewall.")
145 (home-page "https://github.com/AudriusButkevicius/go-nat-pmp")
146 (license asl2.0))))
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
168 the LZ4 compression algorithm.")
169 (home-page "https://github.com/bkaradzic/go-lz4")
170 (license bsd-2))))
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
190 information, such as how much storage space is available, free, and used.")
191 (home-page "https://github.com/calmh/du")
192 (license public-domain)))
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)
214 marshalling and unmarshalling library in Go. It uses code generation and not
215 reflection.")
216 (home-page "https://github.com/calmh/xdr")
217 (license expat))))
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
239 structs in the Go programming language.")
240 (home-page "https://github.com/d4l3k/messagediff")
241 (license expat))))
242
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))))
265
266
267 (define-public go-github-com-golang-groupcache-lru
268 (let ((commit "84a468cf14b4376def5d68c722b139b881c450a4")
269 (revision "1"))
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
281 "1ky1r9qh54yi9zp2769qrjngzndgd8fn7mja2qfac285n06chmcn"))))
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
288 as a replacement for memcached in many cases. It provides a data loading
289 mechanism with caching and de-duplication that works across a set of peer
290 processes.")
291 (home-page "https://github.com/golang/groupcache")
292 (license asl2.0))))
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
314 compression format.")
315 (home-page "https://github.com/golang/snappy")
316 (license bsd-3))))
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
338 address of the default LAN gateway.")
339 (home-page "https://github.com/jackpal/gateway")
340 (license bsd-3))))
341
342 (define-public go-github-com-lib-pq
343 (let ((commit "83612a56d3dd153a94a629cd64925371c9adad78")
344 (revision "1"))
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
356 "12334yigh284k5cdvb9pgxaq6n78205jcbp75ajz44vvfd4wi6qc"))))
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
365 database/sql package.")
366 (home-page "https://github.com/lib/pq")
367 (license expat))))
368
369 (define-public go-github-com-oschwald-geoip2-golang
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
392 GeoLite2 and GeoIP2 databases in Go.")
393 (home-page "https://github.com/oschwald/geoip2-golang")
394 (license isc)))
395
396 (define-public go-github-com-oschwald-maxminddb-golang
397 (let ((commit "26fe5ace1c706491c2936119e1dc69c1a9c04d7f")
398 (revision "0"))
399 (package
400 (name "go-github-com-oschwald-maxminddb-golang")
401 (version (git-version "1.2.0" revision commit))
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
410 "1i6d935f3cv9djpjvc2ibh8aps8jqvg454b9pkwg2h98al759ggk"))))
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
419 this can be used to read GeoLite2 and GeoIP2 databases, @code{geoip2} provides a
420 higher-level API for doing so.")
421 (home-page "https://github.com/oschwald/maxminddb-golang")
422 (license isc))))
423
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
447 (define-public go-github-com-rcrowley-go-metrics
448 (let ((commit "e181e095bae94582363434144c61a9653aff6e50")
449 (revision "1"))
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
461 "1pwkyw801hy7n94skzk6h177zqcil6ayrmb5gs3jdpsfayh8ia5w"))))
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
469 Metrics library.")
470 (home-page "https://github.com/rcrowley/go-metrics")
471 (license bsd-2))))
472
473 (define-public go-github-com-sasha-s-go-deadlock
474 (let ((commit "03d40e5dbd5488667a13b3c2600b2f7c2886f02f")
475 (revision "1"))
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
487 "13p7b7pakd9k1c2k0fs1hfim3c8mivz679977ai6zb01s4aw7gyg"))))
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
495 run-time in Go.")
496 (home-page "https://github.com/sasha-s/go-deadlock")
497 (license asl2.0))))
498
499 (define-public go-github-com-syndtr-goleveldb
500 (let ((commit "34011bf325bce385408353a30b101fe5e923eb6e")
501 (revision "2"))
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
513 "097ja0vyj6p27zrxha9nhk09fj977xsvhmd3bk2hbyvnbw4znnhd"))))
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
523 database in Go.")
524 (home-page "https://github.com/syndtr/goleveldb")
525 (license bsd-2))))
526
527 (define-public go-github-com-thejerf-suture
528 (let ((commit "bf6ee6a0b047ebbe9ae07d847f750dd18c6a9276")
529 (revision "0"))
530 (package
531 (name "go-github-com-thejerf-suture")
532 (version (git-version "3.0.0" revision commit))
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
541 "0rzx9k408vaglwnnpgpcs6y7ff7p65915nbg33rvbaz13hxwkz3y"))))
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
548 when it's trying to die.
549
550 It is intended to deal gracefully with the real failure cases that can occur
551 with supervision trees (such as burning all your CPU time endlessly restarting
552 dead services), while also making no unnecessary demands on the \"service\"
553 code, and providing hooks to perform adequate logging with in a production
554 environment")
555 (home-page "https://github.com/thejerf/suture")
556 (license expat))))
557
558 (define* (go-github-com-vitrun-qart-union
559 #:optional (packages (list go-github-com-vitrun-qart-coding
560 go-github-com-vitrun-qart-gf256
561 go-github-com-vitrun-qart-qr)))
562 (package
563 (name "go-github-com-vitrun-qart")
564 (version (package-version go-github-com-vitrun-qart-qr))
565 (source #f)
566 (build-system trivial-build-system)
567 (arguments
568 '(#:modules ((guix build union))
569 #:builder (begin
570 (use-modules (ice-9 match)
571 (guix build union))
572 (match %build-inputs
573 (((names . directories) ...)
574 (union-build (assoc-ref %outputs "out")
575 directories)
576 #t)))))
577 (inputs (map (lambda (package)
578 (list (package-name package) package))
579 packages))
580 (synopsis "Union of qart libraries")
581 (description "This is a union of qart libraries.")
582 (home-page (package-home-page go-github-com-vitrun-qart-qr))
583 (license (package-license go-github-com-vitrun-qart-qr))))
584
585 (define-public go-github-com-vitrun-qart-coding
586 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
587 (revision "0"))
588 (package
589 (name "go-github-com-vitrun-qart-coding")
590 (version (git-version "0.0.0" revision commit))
591 (source (origin
592 (method git-fetch)
593 (uri (git-reference
594 (url "https://github.com/vitrun/qart")
595 (commit commit)))
596 (file-name (string-append "go-github-com-vitrun-qart-"
597 version "-checkout"))
598 (sha256
599 (base32
600 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
601 (build-system go-build-system)
602 (arguments
603 `(#:import-path "github.com/vitrun/qart/coding"
604 #:unpack-path "github.com/vitrun/qart"))
605 (synopsis "Low-level QR coding library")
606 (description "This package provides a library for embedding
607 human-meaningful graphics in QR codes. However, instead of scribbling on
608 redundant pieces and relying on error correction to preserve the meaning,
609 @code{qart} engineers the encoded values to create the picture in a code with no
610 inherent errors. This @code{qart} component, @code{coding}, implements
611 low-level QR coding details.")
612 (home-page "https://github.com/vitrun/qart/")
613 (license bsd-3))))
614
615 (define-public go-github-com-vitrun-qart-gf256
616 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
617 (revision "0"))
618 (package
619 (name "go-github-com-vitrun-qart-gf256")
620 (version (git-version "0.0.0" revision commit))
621 (source (origin
622 (method git-fetch)
623 (uri (git-reference
624 (url "https://github.com/vitrun/qart")
625 (commit commit)))
626 (file-name (string-append "go-github-com-vitrun-qart-"
627 version "-checkout"))
628 (sha256
629 (base32
630 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
631 (build-system go-build-system)
632 (arguments
633 `(#:import-path "github.com/vitrun/qart/gf256"
634 #:unpack-path "github.com/vitrun/qart"))
635 (synopsis "Qart library for Galois Field GF(256) math")
636 (description "This package, a component of @code{qart}, provides @code{gf256},
637 implements arithmetic over the Galois Field GF(256).")
638 (home-page "https://github.com/vitrun/qart")
639 (license bsd-3))))
640
641 (define-public go-github-com-vitrun-qart-qr
642 (let ((commit "bf64b92db6b05651d6c25a3dabf2d543b360c0aa")
643 (revision "0"))
644 (package
645 (name "go-github-com-vitrun-qart-qr")
646 (version (git-version "0.0.0" revision commit))
647 (source (origin
648 (method git-fetch)
649 (uri (git-reference
650 (url "https://github.com/vitrun/qart")
651 (commit commit)))
652 (file-name (string-append "go-github-com-vitrun-qart-"
653 version "-checkout"))
654 (sha256
655 (base32
656 "1xk7qki703xmay9ghi3kq2bjf1iw9dz8wik55739d6i7sn77vvkc"))))
657 (build-system go-build-system)
658 (arguments
659 `(#:import-path "github.com/vitrun/qart/qr"
660 #:unpack-path "github.com/vitrun/qart"))
661 (synopsis "Qart component for generating QR codes")
662 (description "This package provides a library for embedding
663 human-meaningful graphics in QR codes. However, instead of scribbling on
664 redundant pieces and relying on error correction to preserve the meaning,
665 @code{qart} engineers the encoded values to create the picture in a code with no
666 inherent errors. This @code{qart} component, @code{qr}, provides QR code
667 generation.")
668 (home-page "https://github.com/vitrun/qart")
669 (license bsd-3))))
670
671 (define* (go-golang-org-x-net-union #:optional
672 (packages (list go-golang-org-x-net-ipv4
673 go-golang-org-x-net-bpf
674 go-golang-org-x-net-ipv6
675 go-golang-org-x-net-proxy
676 go-golang-org-x-net-internal-iana)))
677 (package
678 (name "go-golang-org-x-net")
679 (version (package-version go-golang-org-x-net-ipv4))
680 (source #f)
681 (build-system trivial-build-system)
682 (arguments
683 '(#:modules ((guix build union))
684 #:builder (begin
685 (use-modules (ice-9 match)
686 (guix build union))
687 (match %build-inputs
688 (((names . directories) ...)
689 (union-build (assoc-ref %outputs "out")
690 directories)
691 #t)))))
692 (inputs (map (lambda (package)
693 (list (package-name package) package))
694 packages))
695 (synopsis "Union of the Go net libraries")
696 (description "A union of the Golang net libraries.")
697 (home-page (package-home-page go-golang-org-x-net-ipv4))
698 (license (package-license go-golang-org-x-net-ipv4))))
699
700 (define* (go-golang-org-x-text-union #:optional
701 (packages (list go-golang-org-x-text-transform
702 go-golang-org-x-text-unicode-norm)))
703 (package
704 (name "go-golang-org-x-text")
705 (version (package-version go-golang-org-x-text-transform))
706 (source #f)
707 (build-system trivial-build-system)
708 (arguments
709 '(#:modules ((guix build union))
710 #:builder (begin
711 (use-modules (ice-9 match)
712 (guix build union))
713 (match %build-inputs
714 (((names . directories) ...)
715 (union-build (assoc-ref %outputs "out")
716 directories)
717 #t)))))
718 (inputs (map (lambda (package)
719 (list (package-name package) package))
720 packages))
721 (synopsis "Union of the Go text libraries")
722 (description "A union of the Golang text libraries.")
723 (home-page (package-home-page go-golang-org-x-text-transform))
724 (license (package-license go-golang-org-x-text-transform))))
725
726 (define-public go-github-com-audriusbutkevicius-pfilter
727 (let ((commit "9dca34a5b530bfc9843fa8aa2ff08ff9821032cb")
728 (revision "2"))
729 (package
730 (name "go-github-com-audriusbutkevicius-pfilter")
731 (version (git-version "0.0.0" revision commit))
732 (source
733 (origin
734 (method git-fetch)
735 (uri (git-reference
736 (url "https://github.com/AudriusButkevicius/pfilter.git")
737 (commit commit)))
738 (file-name (git-file-name name version))
739 (sha256
740 (base32
741 "0i4qbnwba49db27fb1y792gcvhb0m744i9q4zgwjbypqmy3bj2a5"))))
742 (build-system go-build-system)
743 (arguments
744 '(#:import-path "github.com/AudriusButkevicius/pfilter"))
745 (synopsis "Filter packets into mulitple virtual connections")
746 (description "Pfilter is a Go package for filtering packets into multiple
747 virtual connections from a single physical connection.")
748 (home-page "https://github.com/AudriusButkevicius/pfilter")
749 (license expat))))
750
751 (define-public go-github-com-chmduquesne-rollinghash-adler32
752 (let ((commit "abb8cbaf9915e48ee20cae94bcd94221b61707a2")
753 (revision "2"))
754 (package
755 (name "go-github-com-chmduquesne-rollinghash-adler32")
756 (version (git-version "0.0.0" revision commit))
757 (source
758 (origin
759 (method git-fetch)
760 (uri (git-reference
761 (url "https://github.com/chmduquesne/rollinghash.git")
762 (commit commit)))
763 (file-name (git-file-name name version))
764 (sha256
765 (base32
766 "0ylqb9r60q77qw0d6g9cg4yzadxzwcw74lfd25cw9yglyq0wgd3l"))))
767 (build-system go-build-system)
768 (arguments
769 '(#:import-path "github.com/chmduquesne/rollinghash/adler32"
770 #:unpack-path "github.com/chmduquesne/rollinghash"))
771 (synopsis "Adler-32 rolling hash in Go")
772 (description "This package provides a Go implementation of the Adler-32
773 rolling hash.")
774 (home-page "https://github.com/chmduquesne/rollinghash")
775 (license expat))))
776
777 (define-public go-github-com-pkg-errors
778 (let ((commit "e881fd58d78e04cf6d0de1217f8707c8cc2249bc")
779 (revision "1"))
780 (package
781 (name "go-github-com-pkg-errors")
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/pkg/errors.git")
787 (commit commit)))
788 (file-name (git-file-name name version))
789 (sha256
790 (base32
791 "0vfhj598jp6dzy4pbyjdrqxzb5kppw8ggvfh78g80nz11r34xnzs"))))
792 (build-system go-build-system)
793 (arguments
794 `(#:import-path "github.com/pkg/errors"))
795 (synopsis "Go error handling primitives")
796 (description "This packages provides @code{error}, which offers simple
797 error handling primitives in Go.")
798 (home-page "https://github.com/pkg/errors")
799 (license bsd-2))))
800
801 (define-public go-github-com-petermattis-goid
802 (let ((commit "3db12ebb2a599ba4a96bea1c17b61c2f78a40e02")
803 (revision "0"))
804 (package
805 (name "go-github-com-petermattis-goid")
806 (version (git-version "0.0.0" revision commit))
807 (source (origin
808 (method git-fetch)
809 (uri (git-reference
810 (url "https://github.com/petermattis/goid.git")
811 (commit commit)))
812 (file-name (git-file-name name version))
813 (sha256
814
815 (base32
816 "0z18a3mr72c52g7g94n08gxw0ksnaafbfwdl5p5jav2sffirb0kd"))))
817 (build-system go-build-system)
818 (arguments
819 '(#:import-path "github.com/petermattis/goid"))
820 (synopsis "Identify the running goroutine")
821 (description "This package offers a method of programatically retrieving
822 the current goroutine's ID.")
823 (home-page "https://github.com/petermattis/goid")
824 (license asl2.0))))
825
826 (define-public go-github-com-audriusbutkevicius-cli
827 (let ((commit "7f561c78b5a4aad858d9fd550c92b5da6d55efbb")
828 (revision "0"))
829 (package
830 (name "go-github-com-audriusbutkevicius-cli")
831 (version (git-version "0.0.0" revision commit))
832 (source (origin
833 (method git-fetch)
834 (uri (git-reference
835 (url "https://github.com/AudriusButkevicius/cli.git")
836 (commit commit)))
837 (file-name (git-file-name name version))
838 (sha256
839 (base32
840 "0bg26pfg25vr16jmczig2m493mja2nxjxyswz3hha7avxw20rpi5"))))
841 (build-system go-build-system)
842 (arguments
843 '(#:import-path "github.com/AudriusButkevicius/cli"
844 ;; Tests don't pass "vet" on go-1.11. See
845 ;; https://github.com/AudriusButkevicius/cli/pull/1.
846 #:phases
847 (modify-phases %standard-phases
848 (replace 'check
849 (lambda* (#:key import-path #:allow-other-keys)
850 (invoke "go" "test"
851 "-vet=off"
852 import-path))))))
853 (synopsis "Library for building command-line interfaces in Go")
854 (description "This package provides a library for building command-line
855 interfaces in Go.")
856 (home-page "https://github.com/AudriusButkevicius/cli")
857 (license expat))))
858
859 (define-public go-github-com-kballard-go-shellquote
860 (let ((commit "cd60e84ee657ff3dc51de0b4f55dd299a3e136f2")
861 (revision "0"))
862 (package
863 (name "go-github-com-kballard-go-shellquote")
864 (version (git-version "0.0.0" revision commit))
865 (source (origin
866 (method git-fetch)
867 (uri (git-reference
868 (url "https://github.com/kballard/go-shellquote.git")
869 (commit commit)))
870 (file-name (git-file-name name version))
871 (sha256
872 (base32
873 "1xjpin4jq1zl84dcn96xhjmn9bsfyszf6g9aqyj2dc0xfi6c88y0"))))
874 (build-system go-build-system)
875 (arguments
876 '(#:import-path "github.com/kballard/go-shellquote"))
877 (synopsis "Shell-style string joins and splits")
878 (description "Shellquote provides utilities for joining/splitting strings
879 using sh's word-splitting rules.")
880 (home-page "https://github.com/kballard/go-shellquote")
881 (license expat))))
882
883 (define-public go-github-com-syncthing-notify
884 (let ((commit "116c45bb5ad48777321e4984d1320d56889b6097")
885 (revision "3"))
886 (package
887 (name "go-github-com-syncthing-notify")
888 (version (git-version "0.0.0" revision commit))
889 (source (origin
890 (method git-fetch)
891 (uri (git-reference
892 (url "https://github.com/syncthing/notify")
893 (commit commit)))
894 (file-name (git-file-name name version))
895 (sha256
896 (base32
897 "14bh95pkhwmnc65bnv08p3y4flj1j7f6xxr2cgmlwrphnlp9yhl9"))))
898 (build-system go-build-system)
899 (arguments
900 '(#:import-path "github.com/syncthing/notify"))
901 (propagated-inputs
902 `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix)))
903 (synopsis "File system event notification library")
904 (description "This package provides @code{notify}, a file system event
905 notification library in Go.")
906 (home-page "https://github.com/syncthing/notify")
907 (license expat))))
908
909 (define-public go-github-com-beorn7-perks-quantile
910 (let ((commit "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9")
911 (revision "0"))
912 (package
913 (name "go-github-com-beorn7-perks-quantile")
914 (version (git-version "0.0.0" revision commit))
915 (source (origin
916 (method git-fetch)
917 (uri (git-reference
918 (url "https://github.com/beorn7/perks.git")
919 (commit commit)))
920 (file-name (git-file-name name version))
921 (sha256
922 (base32
923 "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y"))))
924 (build-system go-build-system)
925 (arguments
926 '(#:import-path "github.com/beorn7/perks/quantile"
927 #:unpack-path "github.com/beorn7/perks"))
928 (synopsis "Compute approximate quantiles over an unbounded data stream")
929 (description "Perks contains the Go package @code{quantile} that computes
930 approximate quantiles over an unbounded data stream within low memory and CPU
931 bounds.")
932 (home-page "https://github.com/beorn7/perks")
933 (license expat))))
934
935 (define-public go-github-com-golang-protobuf-proto
936 (let ((commit "1e59b77b52bf8e4b449a57e6f79f21226d571845")
937 (revision "0"))
938 (package
939 (name "go-github-com-golang-protobuf-proto")
940 (version (git-version "0.0.0" revision commit))
941 (source (origin
942 (method git-fetch)
943 (uri (git-reference
944 (url "https://github.com/golang/protobuf.git")
945 (commit commit)))
946 (file-name (git-file-name name version))
947 (sha256
948 (base32
949 "19bkh81wnp6njg3931wky6hsnnl2d1ig20vfjxpv450sd3k6yys8"))))
950 (build-system go-build-system)
951 (arguments
952 '(#:import-path "github.com/golang/protobuf/proto"
953 #:unpack-path "github.com/golang/protobuf"
954 #:tests? #f ; requires unpackaged golang.org/x/sync/errgroup
955 ))
956 (synopsis "Go support for Protocol Buffers")
957 (description "This package provides Go support for the Protocol Buffers
958 data serialization format.")
959 (home-page "https://github.com/golang/protobuf")
960 (license bsd-3))))
961
962 (define-public go-github-com-prometheus-client-model-go
963 (let ((commit "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c")
964 (revision "0"))
965 (package
966 (name "go-github-com-prometheus-client-model-go")
967 (version (git-version "0.0.2" revision commit))
968 (source (origin
969 (method git-fetch)
970 (uri (git-reference
971 (url "https://github.com/prometheus/client_model.git")
972 (commit commit)))
973 (file-name (git-file-name name version))
974 (sha256
975 (base32
976 "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998"))))
977 (build-system go-build-system)
978 (arguments
979 '(#:import-path "github.com/prometheus/client_model/go"
980 #:unpack-path "github.com/prometheus/client_model"))
981 (propagated-inputs
982 `(("go-github-com-golang-protobuf-proto"
983 ,go-github-com-golang-protobuf-proto)))
984 (synopsis "Data model artifacts for Prometheus")
985 (description "This package provides data model artifacts for Prometheus.")
986 (home-page "https://github.com/prometheus/client_model")
987 (license asl2.0))))
988
989 (define-public go-github-com-matttproud-golang-protobuf-extensions-pbutil
990 (let ((commit "c12348ce28de40eed0136aa2b644d0ee0650e56c")
991 (revision "0"))
992 (package
993 (name "go-github-com-matttproud-golang-protobuf-extensions-pbutil")
994 (version (git-version "1.0.0" revision commit))
995 (source
996 (origin
997 (method git-fetch)
998 (uri
999 (git-reference
1000 (url "https://github.com/matttproud/golang_protobuf_extensions.git")
1001 (commit commit)))
1002 (file-name (git-file-name name version))
1003 (sha256
1004 (base32
1005 "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya"))))
1006 (build-system go-build-system)
1007 (arguments
1008 '(#:import-path "github.com/matttproud/golang_protobuf_extensions/pbutil"
1009 #:unpack-path "github.com/matttproud/golang_protobuf_extensions"))
1010 (propagated-inputs
1011 `(("go-github-com-golang-protobuf-proto"
1012 ,go-github-com-golang-protobuf-proto)))
1013 (synopsis "Streaming Protocol Buffers in Go")
1014 (description "This package provides various Protocol Buffer
1015 extensions for the Go language, namely support for record length-delimited
1016 message streaming.")
1017 (home-page "https://github.com/matttproud/golang_protobuf_extensions")
1018 (license asl2.0))))
1019
1020 (define-public go-github-com-prometheus-common-expfmt
1021 (let ((commit "2e54d0b93cba2fd133edc32211dcc32c06ef72ca")
1022 (revision "0"))
1023 (package
1024 (name "go-github-com-prometheus-common-expfmt")
1025 (version (git-version "0.0.0" revision commit))
1026 (source (origin
1027 (method git-fetch)
1028 (uri (git-reference
1029 (url "https://github.com/prometheus/common.git")
1030 (commit commit)))
1031 (file-name (git-file-name name version))
1032 (sha256
1033 (base32
1034 "14kn5w7imcxxlfdqxl21fsnlf1ms7200g3ldy29hwamldv8qlm7j"))))
1035 (build-system go-build-system)
1036 (arguments
1037 '(#:import-path "github.com/prometheus/common/expfmt"
1038 #:unpack-path "github.com/prometheus/common"
1039 #:phases
1040 (modify-phases %standard-phases
1041 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1042 (lambda* (#:key outputs #:allow-other-keys)
1043 (map (lambda (file)
1044 (make-file-writable file))
1045 (find-files
1046 (string-append (assoc-ref outputs "out")
1047 "/src/github.com/prometheus/common/expfmt/testdata/")
1048 ".*\\.gz$"))
1049 #t))
1050 (replace 'check
1051 ;; Tests don't pass "vet" on go-1.11. See
1052 ;; https://github.com/syncthing/syncthing/issues/5311.
1053 (lambda* (#:key import-path #:allow-other-keys)
1054 (invoke "go" "test"
1055 "-vet=off"
1056 import-path))))))
1057 (propagated-inputs
1058 `(("go-github-com-golang-protobuf-proto"
1059 ,go-github-com-golang-protobuf-proto)
1060 ("go-github-com-matttproud-golang-protobuf-extensions-pbutil"
1061 ,go-github-com-matttproud-golang-protobuf-extensions-pbutil)
1062 ("go-github-com-prometheus-client-model-go"
1063 ,go-github-com-prometheus-client-model-go)))
1064 (synopsis "Prometheus metrics")
1065 (description "This package provides tools for reading and writing
1066 Prometheus metrics.")
1067 (home-page "https://github.com/prometheus/common")
1068 (license asl2.0))))
1069
1070 (define-public go-github-com-prometheus-procfs
1071 (let ((commit "b15cd069a83443be3154b719d0cc9fe8117f09fb")
1072 (revision "0"))
1073 (package
1074 (name "go-github-com-prometheus-procfs")
1075 (version (git-version "0.0.0" revision commit))
1076 (source (origin
1077 (method git-fetch)
1078 (uri (git-reference
1079 (url "https://github.com/prometheus/procfs.git")
1080 (commit commit)))
1081 (file-name (git-file-name name version))
1082 (sha256
1083 (base32
1084 "1cr45wg2m40bj2za8f32mq09rjlcnk5kfam0h0hr8wcb015k4wxj"))))
1085 (build-system go-build-system)
1086 (arguments
1087 '(#:import-path "github.com/prometheus/procfs"))
1088 (synopsis "Go library for reading @file{/proc}")
1089 (description "The @code{procfs} Go package provides functions to retrieve
1090 system, kernel, and process metrics from the @file{/proc} pseudo file system.")
1091 (home-page "https://github.com/prometheus/procfs")
1092 (license asl2.0))))
1093
1094 (define-public go-github-com-client-golang-prometheus-promhttp
1095 (let ((commit "180b8fdc22b4ea7750bcb43c925277654a1ea2f3")
1096 (revision "0"))
1097 (package
1098 (name "go-github-com-client-golang-prometheus-promhttp")
1099 (version (git-version "0.0.0" revision commit))
1100 (source (origin
1101 (method git-fetch)
1102 (uri (git-reference
1103 (url "https://github.com/prometheus/client_golang.git")
1104 (commit commit)))
1105 (file-name (git-file-name name version))
1106 (sha256
1107 (base32
1108 "1kkfx1j9ka18ydsmdi2cdy3hs39c22b39mbc4laykmj2x93lmbdp"))))
1109 (build-system go-build-system)
1110 (arguments
1111 '(#:tests? #f ; The tests require internet access
1112 #:import-path "github.com/prometheus/client_golang/prometheus/promhttp"
1113 #:unpack-path "github.com/prometheus/client_golang"))
1114 (propagated-inputs
1115 `(("go-github-com-beorn7-perks-quantile"
1116 ,go-github-com-beorn7-perks-quantile)
1117 ("go-github-com-golang-protobuf-proto"
1118 ,go-github-com-golang-protobuf-proto)
1119 ("go-github-com-prometheus-client-model-go"
1120 ,go-github-com-prometheus-client-model-go)
1121 ("go-github-com-prometheus-common-expfmt"
1122 ,go-github-com-prometheus-common-expfmt)
1123 ("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)))
1124 (synopsis "HTTP server and client tools for Prometheus")
1125 (description "This package @code{promhttp} provides HTTP client and
1126 server tools for Prometheus metrics.")
1127 (home-page "https://github.com/prometheus/client_golang")
1128 (license asl2.0))))
1129
1130 (define-public go-github-com-client-golang-prometheus
1131 (let ((commit "7e9098b20fb8e103a7a5691878272d7e3d703663")
1132 (revision "0"))
1133 (package
1134 (name "go-github-com-prometheus-client-golang-prometheus")
1135 (version (git-version "0.9.1" revision commit))
1136 (source (origin
1137 (method git-fetch)
1138 (uri (git-reference
1139 (url "https://github.com/prometheus/client_golang.git")
1140 (commit commit)))
1141 (file-name (git-file-name name version))
1142 (sha256
1143 (base32
1144 "09q8hlvgyn58hn8fmmj535hrwhqc1215czwzf7fhaqpa9zamj4w1"))))
1145 (build-system go-build-system)
1146 (arguments
1147 '(#:import-path "github.com/prometheus/client_golang/prometheus"
1148 #:unpack-path "github.com/prometheus/client_golang"
1149 #:tests? #f)) ; 'TestHandler' test fails in this non-critical dependency
1150 (propagated-inputs
1151 `(("go-github-com-beorn7-perks-quantile"
1152 ,go-github-com-beorn7-perks-quantile)
1153 ("go-github-com-golang-protobuf-proto"
1154 ,go-github-com-golang-protobuf-proto)
1155 ("go-github-com-prometheus-client-model-go"
1156 ,go-github-com-prometheus-client-model-go)
1157 ("go-github-com-prometheus-common-expfmt"
1158 ,go-github-com-prometheus-common-expfmt)
1159 ("go-github-com-prometheus-procfs" ,go-github-com-prometheus-procfs)
1160 ("go-github-com-client-golang-prometheus-promhttp"
1161 ,go-github-com-client-golang-prometheus-promhttp)))
1162 (synopsis "Prometheus instrumentation library for Go applications")
1163 (description "This package provides the Go client library for the
1164 Prometheus monitoring and alerting system. It has two separate parts, one for
1165 instrumenting application code, and one for creating clients that talk to the
1166 Prometheus HTTP API.")
1167 (home-page "https://github.com/prometheus/client_golang")
1168 (license asl2.0))))
1169
1170 (define* (go-github-com-prometheus-union
1171 #:optional (packages (list go-github-com-client-golang-prometheus
1172 go-github-com-client-golang-prometheus-promhttp)))
1173 (package
1174 (name "go-github-com-prometheus-union")
1175 (version (package-version go-github-com-client-golang-prometheus))
1176 (source #f)
1177 (build-system trivial-build-system)
1178 (arguments
1179 '(#:modules ((guix build union))
1180 #:builder (begin
1181 (use-modules (ice-9 match)
1182 (guix build union))
1183 (match %build-inputs
1184 (((names . directories) ...)
1185 (union-build (assoc-ref %outputs "out")
1186 directories)
1187 #t)))))
1188 (inputs (map (lambda (package)
1189 (list (package-name package) package))
1190 packages))
1191 (synopsis "Union of Go Prometheus libraries")
1192 (description "This is a union of Go Prometheus libraries")
1193 (home-page (package-home-page go-github-com-client-golang-prometheus))
1194 (license (package-license go-github-com-client-golang-prometheus))))
1195
1196 (define-public go-gopkg.in-asn1-ber.v1
1197 (package
1198 (name "go-gopkg.in-asn1-ber.v1")
1199 (version "1.2")
1200 (source (origin
1201 (method git-fetch)
1202 (uri (git-reference
1203 (url "https://gopkg.in/asn1-ber.v1")
1204 (commit (string-append "v" version))))
1205 (file-name (git-file-name name version))
1206 (sha256
1207 (base32
1208 "1y8bvzbxpw0lfnn7pbcdwzqj4l90qj6xf88dvv9pxd9yl5g6cskx"))))
1209 (build-system go-build-system)
1210 (arguments
1211 '(#:import-path "gopkg.in/asn1-ber.v1"
1212 ;; Tests don't pass "vet" on go-1.11. See
1213 ;; https://github.com/go-asn1-ber/asn1-ber/issues/20.
1214 #:phases
1215 (modify-phases %standard-phases
1216 (replace 'check
1217 (lambda* (#:key import-path #:allow-other-keys)
1218 (invoke "go" "test"
1219 "-vet=off"
1220 import-path))))))
1221 (synopsis "ASN.1 BER encoding and decoding in Go")
1222 (description "This package provides ASN.1 BER encoding and decoding in the
1223 Go language.")
1224 (home-page "https://gopkg.in/asn1-ber.v1")
1225 (license expat)))
1226
1227 (define-public go-gopkg.in-ldap.v2
1228 (package
1229 (name "go-gopkg.in-ldap.v2")
1230 (version "2.5.1")
1231 (source (origin
1232 (method git-fetch)
1233 (uri (git-reference
1234 (url "https://gopkg.in/ldap.v2")
1235 (commit (string-append "v" version))))
1236 (file-name (git-file-name name version))
1237 (sha256
1238 (base32
1239 "1wf81wy04nhkqs0dg5zkivr4sh37r83bxrfwjz9vr4jq6vmljr3h"))))
1240 (build-system go-build-system)
1241 (arguments
1242 '(#:import-path "gopkg.in/ldap.v2"
1243 #:tests? #f)) ; the test suite requires network access
1244 (propagated-inputs
1245 `(("go-gopkg.in-asn1-ber.v1" ,go-gopkg.in-asn1-ber.v1)))
1246 (synopsis "LDAP v3 functionality for Go")
1247 (description "This package provides basic LDAP v3 functionality in the Go
1248 language.")
1249 (home-page "https://gopkg.in/ldap.v2")
1250 (license expat)))