gnu: Add go-github-com-golang-groupcache-lru.
[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>
3;;; Copyright © 2016, 2017 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 packages)
23 #:use-module (guix git-download)
24 #:use-module (guix licenses))
25
26(define-public go-github-com-audriusbutkevicius-go-nat-pmp
27 (let ((commit "452c97607362b2ab5a7839b8d1704f0396b640ca")
28 (revision "0"))
29 (package
30 (name "go-github-com-audriusbutkevicius-go-nat-pmp")
31 (version (git-version "0.0.0" revision commit))
32 (source (origin
33 (method git-fetch)
34 (uri (git-reference
35 (url "https://github.com/AudriusButkevicius/go-nat-pmp")
36 (commit commit)))
37 (file-name (git-file-name name version))
38 (sha256
39 (base32 "1accmpl1llk16a19nlyy991fqrgfay6l53gb64hgmdfmqljdvbk7"))))
40 (build-system go-build-system)
41 (arguments
42 `(#:import-path "github.com/AudriusButkevicius/go-nat-pmp"))
43 (synopsis "Port mapping and discovery of external IP address")
44 (description "This packages provides a Go client for the NAT-PMP internet
45protocol for port mapping and discovering the external IP address of a
46firewall.")
47 (home-page "https://github.com/AudriusButkevicius/go-nat-pmp")
48 (license asl2.0))))
67b46818
LF
49
50(define-public go-github-com-bkaradzic-go-lz4
51 (let ((commit "7224d8d8f27ef618c0a95f1ae69dbb0488abc33a")
52 (revision "0"))
53 (package
54 (name "go-github-com-bkaradzic-go-lz4")
55 (version (git-version "0.0.0" revision commit))
56 (source (origin
57 (method git-fetch)
58 (uri (git-reference
59 (url "https://github.com/bkaradzic/go-lz4")
60 (commit commit)))
61 (file-name (git-file-name name version))
62 (sha256
63 (base32
64 "10lmya17vdqg2pvqni0p73iahni48s1v11ya9a0hcz4jh5vw4dkb"))))
65 (build-system go-build-system)
66 (arguments
67 `(#:import-path "github.com/bkaradzic/go-lz4"))
68 (synopsis "LZ4 compression algorithm")
69 (description "This package provides @code{go-lz4}, a Go implementation of
70the LZ4 compression algorithm.")
71 (home-page "https://github.com/bkaradzic/go-lz4")
72 (license bsd-2))))
add56f34
LF
73
74(define-public go-github-com-calmh-du
75 (package
76 (name "go-github-com-calmh-du")
77 (version "1.0.1")
78 (source (origin
79 (method git-fetch)
80 (uri (git-reference
81 (url "https://github.com/calmh/du")
82 (commit (string-append "v" version))))
83 (file-name (git-file-name name version))
84 (sha256
85 (base32
86 "0qb3a6y3p9nkyn3s66k6zcm16y8n8578qh23ddj14cxf2scrr2n2"))))
87 (build-system go-build-system)
88 (arguments
89 `(#:import-path "github.com/calmh/du"))
90 (synopsis "Get total and available disk space of a given volume")
91 (description "This is a Go implementation of `du`. It provides disk usage
92information, such as how much storage space is available, free, and used.")
93 (home-page "https://github.com/calmh/du")
94 (license public-domain)))
1e28085e
LF
95
96(define-public go-github-com-calmh-xdr
97 (let ((commit "08e072f9cb164f943a92eb59f90f3abc64ac6e8f")
98 (revision "0"))
99 (package
100 (name "go-github-com-calmh-xdr")
101 (version (git-version "2.0.1" revision commit))
102 (source (origin
103 (method git-fetch)
104 (uri (git-reference
105 (url "https://github.com/calmh/xdr")
106 (commit commit)))
107 (file-name (git-file-name name version))
108 (sha256
109 (base32
110 "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh"))))
111 (build-system go-build-system)
112 (arguments
113 `(#:import-path "github.com/calmh/xdr"))
114 (synopsis "XDR marshalling and unmarshalling")
115 (description "XDR is an External Data Representation (XDR)
116marshalling and unmarshalling library in Go. It uses code generation and not
117reflection.")
118 (home-page "https://github.com/calmh/xdr")
119 (license expat))))
ab3e1589
LF
120
121(define-public go-github-com-d4l3k-messagediff
122 (let ((commit "29f32d820d112dbd66e58492a6ffb7cc3106312b")
123 (revision "0"))
124 (package
125 (name "go-github-com-d4l3k-messagediff")
126 (version (git-version "1.1.0" revision commit))
127 (source (origin
128 (method git-fetch)
129 (uri (git-reference
130 (url "https://github.com/d4l3k/messagediff")
131 (commit commit)))
132 (file-name (git-file-name name version))
133 (sha256
134 (base32
135 "104hl8x57ciaz7mzafg1vp9qggxcyfm8hsv9bmlihbz9ml3nyr8v"))))
136 (build-system go-build-system)
137 (arguments
138 `(#:import-path "github.com/d4l3k/messagediff"))
139 (synopsis "Diff arbitrary Go structs")
140 (description "Messagediff is a library for calculating diffs of arbitrary
141structs in the Go programming language.")
142 (home-page "https://github.com/d4l3k/messagediff")
143 (license expat))))
a3a5b012
LF
144
145(define-public go-github-com-edsrzf-mmap-go
146 (let ((commit "0bce6a6887123b67a60366d2c9fe2dfb74289d2e")
147 (revision "0"))
148 (package
149 (name "go-github-com-edsrzf-mmap-go")
150 (version (git-version "0.0.0" revision commit))
151 (source (origin
152 (method git-fetch)
153 (uri (git-reference
154 (url "https://github.com/edsrzf/mmap-go")
155 (commit commit)))
156 (file-name (git-file-name name version))
157 (sha256
158 (base32
159 "1am4m2k451bksnbiqj6lxknk4lsgmrhv0q3ajqac818vj0cpfgs9"))))
160 (build-system go-build-system)
161 (arguments
162 `(#:import-path "github.com/edsrzf/mmap-go"))
163 (synopsis "Go implementation of mmap")
164 (description "This packages provides a Go implementation of mmap.")
165 (home-page "https://github.com/edsrzf/mmap-go")
166 (license bsd-3))))
4d93ebb3
LF
167
168(define-public go-github-com-gobwas-glob
169 (let ((commit "51eb1ee00b6d931c66d229ceeb7c31b985563420")
170 (revision "0"))
171 (package
172 (name "go-github-com-gobwas-glob")
173 (version (git-version "0.0.0" revision commit))
174 (source (origin
175 (method git-fetch)
176 (uri (git-reference
177 (url "https://github.com/gobwas/glob")
178 (commit commit)))
179 (file-name (git-file-name name version))
180 (sha256
181 (base32
182 "090wzpwsjana1qas8ipwh1pj959gvc4b7vwybzi01f3bmd79jwlp"))))
183 (build-system go-build-system)
184 (arguments
185 `(#:import-path "github.com/gobwas/glob"))
186 (synopsis "Go globbing library")
187 (description "This packages provides a Go implementation of globs.")
188 (home-page "https://github.com/gobwas/glob")
189 (license expat))))
07e88fc6 190
3a4d3838
LF
191(define-public go-github-com-gogo-protobuf
192 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
193 (revision "0"))
194 (package
195 (name "go-github-com-gogo-protobuf")
196 (version (git-version "0.2" revision commit))
197 (source (origin
198 (method git-fetch)
199 (uri (git-reference
200 (url "https://github.com/gogo/protobuf")
201 (commit commit)))
202 (file-name (git-file-name name version))
203 (sha256
204 (base32
205 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
206 (build-system go-build-system)
207 (arguments
208 `(#:import-path "github.com/gogo/protobuf/proto"
209 #:unpack-path "github.com/gogo/protobuf"))
210 (propagated-inputs
211 `(("go-github-com-gogo-protobuf-protoc-gen-gogo"
212 ,go-github-com-gogo-protobuf-protoc-gen-gogo)))
213 (synopsis "Protocol Buffers for Go with Gadgets")
214 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
215generation features. This code generation is used to achieve:
216@itemize
217@item fast marshalling and unmarshalling
218@item more canonical Go structures
219@item goprotobuf compatibility
220@item less typing by optionally generating extra helper code
221@item peace of mind by optionally generating test and benchmark code
222@item other serialization formats
223@end itemize")
224 (home-page "https://github.com/gogo/protobuf")
225 (license bsd-3))))
226
07e88fc6
LF
227(define-public go-github-com-gogo-protobuf-protoc-gen-gogo
228 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
229 (revision "0"))
230 (package
231 (name "go-github-com-gogo-protobuf-protoc-gen-gogo")
232 (version (git-version "0.2" revision commit))
233 (source (origin
234 (method git-fetch)
235 (uri (git-reference
236 (url "https://github.com/gogo/protobuf")
237 (commit commit)))
238 (file-name (git-file-name name version))
239 (sha256
240 (base32
241 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
242 (build-system go-build-system)
243 (arguments
244 `(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo"
245 #:unpack-path "github.com/gogo/protobuf"))
246 (synopsis "Protocol Buffers for Go with Gadgets")
247 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
248generation features. This code generation is used to achieve:
249@itemize
250@item fast marshalling and unmarshalling
251@item more canonical Go structures
252@item goprotobuf compatibility
253@item less typing by optionally generating extra helper code
254@item peace of mind by optionally generating test and benchmark code
255@item other serialization formats
256@end itemize")
257 (home-page "https://github.com/gogo/protobuf")
258 (license bsd-3))))
ede4f50c
LF
259
260(define-public go-github-com-golang-groupcache-lru
261 (let ((commit "72d04f9fcdec7d3821820cc4a6f150eae553639a")
262 (revision "0"))
263 (package
264 (name "go-github-com-golang-groupcache-lru")
265 (version (git-version "0.0.0" revision commit))
266 (source (origin
267 (method git-fetch)
268 (uri (git-reference
269 (url "https://github.com/golang/groupcache")
270 (commit commit)))
271 (file-name (git-file-name name version))
272 (sha256
273 (base32
274 "1l3ryh7bq1f2mhr3sd3x1wav99pd27r8l3ydgqh375wn4x7v5qd6"))))
275 (build-system go-build-system)
276 (arguments
277 `(#:import-path "github.com/golang/groupcache/lru"
278 #:unpack-path "github.com/golang/groupcache"))
279 (synopsis "Groupcache is a caching and cache-filling library")
280 (description "Groupcache is a caching and cache-filling library, intended
281as a replacement for memcached in many cases. It provides a data loading
282mechanism with caching and de-duplication that works across a set of peer
283processes.")
284 (home-page "https://github.com/golang/groupcache")
285 (license asl2.0))))