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