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