1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2016 Petter <petter@mykolab.ch>
3 ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
5 ;;; This file is part of GNU Guix.
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.
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.
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/>.
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))
26 (define-public go-github-com-audriusbutkevicius-go-nat-pmp
27 (let ((commit "452c97607362b2ab5a7839b8d1704f0396b640ca")
30 (name "go-github-com-audriusbutkevicius-go-nat-pmp")
31 (version (git-version "0.0.0" revision commit))
35 (url "https://github.com/AudriusButkevicius/go-nat-pmp")
37 (file-name (git-file-name name version))
39 (base32 "1accmpl1llk16a19nlyy991fqrgfay6l53gb64hgmdfmqljdvbk7"))))
40 (build-system go-build-system)
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
45 protocol for port mapping and discovering the external IP address of a
47 (home-page "https://github.com/AudriusButkevicius/go-nat-pmp")
50 (define-public go-github-com-bkaradzic-go-lz4
51 (let ((commit "7224d8d8f27ef618c0a95f1ae69dbb0488abc33a")
54 (name "go-github-com-bkaradzic-go-lz4")
55 (version (git-version "0.0.0" revision commit))
59 (url "https://github.com/bkaradzic/go-lz4")
61 (file-name (git-file-name name version))
64 "10lmya17vdqg2pvqni0p73iahni48s1v11ya9a0hcz4jh5vw4dkb"))))
65 (build-system go-build-system)
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
70 the LZ4 compression algorithm.")
71 (home-page "https://github.com/bkaradzic/go-lz4")
74 (define-public go-github-com-calmh-du
76 (name "go-github-com-calmh-du")
81 (url "https://github.com/calmh/du")
82 (commit (string-append "v" version))))
83 (file-name (git-file-name name version))
86 "0qb3a6y3p9nkyn3s66k6zcm16y8n8578qh23ddj14cxf2scrr2n2"))))
87 (build-system go-build-system)
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
92 information, such as how much storage space is available, free, and used.")
93 (home-page "https://github.com/calmh/du")
94 (license public-domain)))
96 (define-public go-github-com-calmh-xdr
97 (let ((commit "08e072f9cb164f943a92eb59f90f3abc64ac6e8f")
100 (name "go-github-com-calmh-xdr")
101 (version (git-version "2.0.1" revision commit))
105 (url "https://github.com/calmh/xdr")
107 (file-name (git-file-name name version))
110 "072wqdncz3nd4a3zkhvzzx1y3in1lm29wfvl0d8wrnqs5pyqh0mh"))))
111 (build-system go-build-system)
113 `(#:import-path "github.com/calmh/xdr"))
114 (synopsis "XDR marshalling and unmarshalling")
115 (description "XDR is an External Data Representation (XDR)
116 marshalling and unmarshalling library in Go. It uses code generation and not
118 (home-page "https://github.com/calmh/xdr")
121 (define-public go-github-com-d4l3k-messagediff
122 (let ((commit "29f32d820d112dbd66e58492a6ffb7cc3106312b")
125 (name "go-github-com-d4l3k-messagediff")
126 (version (git-version "1.1.0" revision commit))
130 (url "https://github.com/d4l3k/messagediff")
132 (file-name (git-file-name name version))
135 "104hl8x57ciaz7mzafg1vp9qggxcyfm8hsv9bmlihbz9ml3nyr8v"))))
136 (build-system go-build-system)
138 `(#:import-path "github.com/d4l3k/messagediff"))
139 (synopsis "Diff arbitrary Go structs")
140 (description "Messagediff is a library for calculating diffs of arbitrary
141 structs in the Go programming language.")
142 (home-page "https://github.com/d4l3k/messagediff")
145 (define-public go-github-com-edsrzf-mmap-go
146 (let ((commit "0bce6a6887123b67a60366d2c9fe2dfb74289d2e")
149 (name "go-github-com-edsrzf-mmap-go")
150 (version (git-version "0.0.0" revision commit))
154 (url "https://github.com/edsrzf/mmap-go")
156 (file-name (git-file-name name version))
159 "1am4m2k451bksnbiqj6lxknk4lsgmrhv0q3ajqac818vj0cpfgs9"))))
160 (build-system go-build-system)
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")
168 (define-public go-github-com-gobwas-glob
169 (let ((commit "51eb1ee00b6d931c66d229ceeb7c31b985563420")
172 (name "go-github-com-gobwas-glob")
173 (version (git-version "0.0.0" revision commit))
177 (url "https://github.com/gobwas/glob")
179 (file-name (git-file-name name version))
182 "090wzpwsjana1qas8ipwh1pj959gvc4b7vwybzi01f3bmd79jwlp"))))
183 (build-system go-build-system)
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")
191 (define-public go-github-com-gogo-protobuf
192 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
195 (name "go-github-com-gogo-protobuf")
196 (version (git-version "0.2" revision commit))
200 (url "https://github.com/gogo/protobuf")
202 (file-name (git-file-name name version))
205 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
206 (build-system go-build-system)
208 `(#:import-path "github.com/gogo/protobuf/proto"
209 #:unpack-path "github.com/gogo/protobuf"))
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
215 generation features. This code generation is used to achieve:
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
224 (home-page "https://github.com/gogo/protobuf")
227 (define-public go-github-com-gogo-protobuf-protoc-gen-gogo
228 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
231 (name "go-github-com-gogo-protobuf-protoc-gen-gogo")
232 (version (git-version "0.2" revision commit))
236 (url "https://github.com/gogo/protobuf")
238 (file-name (git-file-name name version))
241 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
242 (build-system go-build-system)
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
248 generation features. This code generation is used to achieve:
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
257 (home-page "https://github.com/gogo/protobuf")
260 (define-public go-github-com-golang-groupcache-lru
261 (let ((commit "72d04f9fcdec7d3821820cc4a6f150eae553639a")
264 (name "go-github-com-golang-groupcache-lru")
265 (version (git-version "0.0.0" revision commit))
269 (url "https://github.com/golang/groupcache")
271 (file-name (git-file-name name version))
274 "1l3ryh7bq1f2mhr3sd3x1wav99pd27r8l3ydgqh375wn4x7v5qd6"))))
275 (build-system go-build-system)
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
281 as a replacement for memcached in many cases. It provides a data loading
282 mechanism with caching and de-duplication that works across a set of peer
284 (home-page "https://github.com/golang/groupcache")