diff options
Diffstat (limited to 'gnu/packages/golang.scm')
-rw-r--r-- | gnu/packages/golang.scm | 125 |
1 files changed, 124 insertions, 1 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index f14057417d..9c81534205 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -46,7 +46,8 @@ #:use-module (gnu packages lua) #:use-module (gnu packages mp3) #:use-module (ice-9 match) - #:use-module (srfi srfi-1)) + #:use-module (srfi srfi-1) + #:export (go-github-com-gogo-protobuf-union)) ;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a ;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2 @@ -2348,3 +2349,125 @@ and lookup requests. Browse requests are not supported yet.") (synopsis "Go wrapper for taglib") (description "Go wrapper for taglib") (license license:unlicense)))) + +(define* (go-github-com-gogo-protobuf-union + #:optional (packages (list go-github-com-gogo-protobuf + go-github-com-gogo-protobuf-protoc-gen-gogo))) + (package + (name "go-github-com-gogo-protobuf-union") + (version (package-version go-github-com-gogo-protobuf)) + (source #f) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build union)) + #:builder (begin + (use-modules (ice-9 match) + (guix build union)) + (match %build-inputs + (((names . directories) ...) + (union-build (assoc-ref %outputs "out") + directories) + #t))))) + (inputs (map (lambda (package) + (list (package-name package) package)) + packages)) + (synopsis "Union of Go protobuf libraries") + (description "This is a union of Go protobuf libraries") + (home-page (package-home-page go-github-com-gogo-protobuf)) + (license (package-license go-github-com-gogo-protobuf)))) + +(define-public go-github-com-gogo-protobuf + (let ((commit "160de10b2537169b5ae3e7e221d28269ef40d311") + (revision "2")) + (package + (name "go-github-com-gogo-protobuf") + (version (git-version "0.5" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gogo/protobuf") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hxq28sgxym04rv0q40gpwkh4ni359q21hq3g78wwxwx4qfd4zwm")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/gogo/protobuf/proto" + #:unpack-path "github.com/gogo/protobuf")) + (propagated-inputs + `(("go-github-com-gogo-protobuf-protoc-gen-gogo" + ,go-github-com-gogo-protobuf-protoc-gen-gogo))) + (synopsis "Protocol Buffers for Go with Gadgets") + (description "Gogoprotobuf is a fork of golang/protobuf with extra code +generation features. This code generation is used to achieve: +@itemize +@item fast marshalling and unmarshalling +@item more canonical Go structures +@item goprotobuf compatibility +@item less typing by optionally generating extra helper code +@item peace of mind by optionally generating test and benchmark code +@item other serialization formats +@end itemize") + (home-page "https://github.com/gogo/protobuf") + (license license:bsd-3)))) + +(define-public go-github-com-gogo-protobuf-protoc-gen-gogo + (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63") + (revision "0")) + (package + (name "go-github-com-gogo-protobuf-protoc-gen-gogo") + (version (git-version "0.2" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gogo/protobuf") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo" + #:unpack-path "github.com/gogo/protobuf")) + (synopsis "Protocol Buffers for Go with Gadgets") + (description "Gogoprotobuf is a fork of golang/protobuf with extra code +generation features. This code generation is used to achieve: +@itemize +@item fast marshalling and unmarshalling +@item more canonical Go structures +@item goprotobuf compatibility +@item less typing by optionally generating extra helper code +@item peace of mind by optionally generating test and benchmark code +@item other serialization formats +@end itemize") + (home-page "https://github.com/gogo/protobuf") + (license license:bsd-3)))) + +(define-public go-github-com-gogo-protobuf-proto + (let ((commit + "fd322a3c49630fe6d05737e2b7d9426e6680e28d") + (revision "0")) + (package + (name "go-github-com-gogo-protobuf-proto") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gogo/protobuf.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zi85584dy91hyrwpanygz1pppi0chn3hzzv128i83i6j45a5fp9")))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/gogo/protobuf" + #:import-path "github.com/gogo/protobuf/proto")) + (native-inputs `()) + (home-page "https://github.com/gogo/protobuf") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) |