diff options
author | Pierre Neidhardt <mail@ambrevar.xyz> | 2018-10-15 19:46:58 +0200 |
---|---|---|
committer | Pierre Neidhardt <mail@ambrevar.xyz> | 2018-10-15 19:46:58 +0200 |
commit | d0a7961e145cdace45e14b5ca441a73cbcdb38fd (patch) | |
tree | 00d9ec0db580f658db4bcbc5ee30f94fcfe8f142 /gnu/packages | |
parent | 2d5fa80e83190b6bdbeb8a45e68a885b283e2490 (diff) | |
download | guix-d0a7961e145cdace45e14b5ca441a73cbcdb38fd.tar.gz |
Add gx (WIP)
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/golang.scm | 1071 | ||||
-rw-r--r-- | gnu/packages/ipfs.scm | 210 | ||||
-rw-r--r-- | gnu/packages/syncthing.scm | 132 |
3 files changed, 1280 insertions, 133 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 7f26fbdab6..a14b17fab4 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -36,6 +36,7 @@ #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (guix build-system go) #:use-module (gnu packages admin) #:use-module (gnu packages gcc) @@ -46,7 +47,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-golang-org-x-crypto-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 @@ -983,6 +985,147 @@ Tiny Encryption Algorithm (XTEA) block cipher.") (home-page "https://go.googlesource.com/crypto/") (license license:bsd-3)))) +(define-public go-golang-org-x-crypto-ed25519 + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-ed25519") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/crypto/ed25519" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "ED25519 in Go") + (description "This package provides a Go implementation of the ED25519 +signature algorithm.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-crypto-ripemd160 + (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419") + (revision "1")) + (package + (name "go-golang-org-x-crypto-ripemd160") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/crypto/ripemd160" + #:unpack-path "golang.org/x/crypto" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (synopsis "RIPEMD-160 in Go") + (description "This package provides a Go implementation of the RIPEMD-160 +hash algorithm.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + +(define-public go-golang-org-x-crypto-blake2s + (package + (inherit go-golang-org-x-crypto-bcrypt) + (name "go-golang-org-x-crypto-blake2s") + (arguments + (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt) + ((#:import-path _) + "golang.org/x/crypto/blake2s"))) + (synopsis "BLAKE2s in Go") + (description "This package provides a Go implementation of the BLAKE2s +hash algorithm."))) + +(define-public go-golang-org-x-crypto-sha3 + (package + (inherit go-golang-org-x-crypto-bcrypt) + (name "go-golang-org-x-crypto-sha3") + (arguments + (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt) + ((#:import-path _) + "golang.org/x/crypto/sha3"))) + (synopsis "SHA-3 in Go") + (description "This package provides a Go implementation of the SHA-3 +fixed-output-length hash functions and the SHAKE variable-output-length hash +functions defined by FIPS-202."))) + +;; Go searches for library modules by looking in the GOPATH environment +;; variable. This variable is a list of paths. However, Go does not +;; keep searching on GOPATH if it tries and fails to import a module. +;; So, we use a union for packages sharing a namespace. +(define* (go-golang-org-x-crypto-union #:optional + (packages (list go-golang-org-x-crypto-blowfish + go-golang-org-x-crypto-bcrypt + go-golang-org-x-crypto-tea + go-golang-org-x-crypto-xtea + go-golang-org-x-crypto-pbkdf2 + go-golang-org-x-crypto-twofish + go-golang-org-x-crypto-cast5 + go-golang-org-x-crypto-salsa20 + go-golang-org-x-crypto-ed25519 + go-golang-org-x-crypto-ripemd160 + go-golang-org-x-crypto-blake2s + go-golang-org-x-crypto-sha3))) + (package + (name "go-golang-org-x-crypto") + (version (package-version go-golang-org-x-crypto-bcrypt)) + (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 the Go x crypto libraries") + (description "A union of the Golang cryptographic libraries. A +union is required because `go build` assumes that all of the headers and +libraries are in the same directory.") + (home-page (package-home-page go-golang-org-x-crypto-bcrypt)) + (license (package-license go-golang-org-x-crypto-bcrypt)))) + (define-public go-golang-org-x-net-ipv4 (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") (revision "1")) @@ -2344,3 +2487,929 @@ and lookup requests. Browse requests are not supported yet.") (synopsis "Go wrapper for taglib") (description "Go wrapper for taglib") (license license:unlicense)))) + +(define-public go-github-com-libp2p-go-flow-metrics + (let ((commit + "7e5a55af485341567f98d6847a373eb5ddcdcd43") + (revision "0")) + (package + (name "go-github-com-libp2p-go-flow-metrics") + (version (git-version "0.2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libp2p/go-flow-metrics.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1p87iyk6q6f3g3xkncssx400qlld8f2z93qiz8m1f97grfyhjif1")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/libp2p/go-flow-metrics" + ;; TODO: Tests hang. + #:tests? #f)) + (home-page + "https://github.com/libp2p/go-flow-metrics") + (synopsis "Simple library for tracking flow metrics") + (description "A simple alternative to rcrowley's @command{go-metrics} +that's a lot faster (and only does simple bandwidth metrics).") + (license license:expat)))) + +(define-public go-github-com-davecgh-go-spew + (let ((commit + "d8f796af33cc11cb798c1aaeb27a4ebc5099927d") + (revision "0")) + (package + (name "go-github-com-davecgh-go-spew") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davecgh/go-spew.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19z27f306fpsrjdvkzd61w1bdazcdbczjyjck177g33iklinhpvx")))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/davecgh/go-spew" + #:import-path "github.com/davecgh/go-spew/spew")) + (native-inputs `()) + (home-page "https://github.com/davecgh/go-spew") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-btcsuite-btclog + (let ((commit + "84c8d2346e9fc8c7b947e243b9c24e6df9fd206a") + (revision "0")) + (package + (name "go-github-com-btcsuite-btclog") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/btcsuite/btclog.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/btcsuite/btclog")) + (home-page "https://github.com/btcsuite/btclog") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-btcsuite-btcutil + (let ((commit + "ab6388e0c60ae4834a1f57511e20c17b5f78be4b") + (revision "0")) + (package + (name "go-github-com-btcsuite-btcutil") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/btcsuite/btcutil.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ijim9n97psl6s47mi2ldllmsvg4bd4jhjmgcvwpcd19frs35mgf")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/btcsuite/btcutil")) + ;; TODO: Finish with union. + (native-inputs + `(("go-golang-org-x-crypto-ripemd160" ,go-golang-org-x-crypto-ripemd160) + ("go-github-com-btcsuite-btcd-chaincfg" ,go-github-com-btcsuite-btcd-chaincfg) + ("go-github-com-btcsuite-btcd-chaincfg-chainhash" ,go-github-com-btcsuite-btcd-chaincfg-chainhash) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-btcsuite-btcd-wire" ,go-github-com-btcsuite-btcd-wire))) + (home-page "https://github.com/btcsuite/btcutil") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-btcsuite-btcd-btcec + (let ((commit + "67e573d211ace594f1366b4ce9d39726c4b19bd0") + (revision "0")) + (package + (name "go-github-com-btcsuite-btcd-btcec") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/btcsuite/btcd.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04s92gsy71w1jirlr5lkk9y6r5cparbas7nmf6ywbp7kq7fn8ajn")))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/btcsuite/btcd" + #:import-path "github.com/btcsuite/btcd/btcec")) + (native-inputs + `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew) + ;; ("go-github-com-btcsuite-btcd-chaincfg-chainhash" ,go-github-com-btcsuite-btcd-chaincfg-chainhash) + )) + (home-page "https://github.com/btcsuite/btcd") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-btcsuite-btcd-chaincfg + (package + (inherit go-github-com-btcsuite-btcd-btcec) + (name "go-github-com-btcsuite-btcd-chaincfg") + (arguments + '(#:unpack-path "github.com/btcsuite/btcd" + #:import-path "github.com/btcsuite/btcd/chaincfg")))) + +(define-public go-github-com-btcsuite-btcd-chaincfg-chainhash + (package + (inherit go-github-com-btcsuite-btcd-btcec) + (name "go-github-com-btcsuite-btcd-chaincfg-chainhash") + (arguments + '(#:unpack-path "github.com/btcsuite/btcd" + #:import-path "github.com/btcsuite/btcd/chaincfg/chainhash")))) + +(define-public go-github-com-btcsuite-btcd-wire + (package + (inherit go-github-com-btcsuite-btcd-btcec) + (name "go-github-com-btcsuite-btcd-wire") + (arguments + '(#:unpack-path "github.com/btcsuite/btcd" + #:import-path "github.com/btcsuite/btcd/wire")))) + +(define-public go-github-com-btcsuite-btcd + (let ((commit + "67e573d211ace594f1366b4ce9d39726c4b19bd0") + (revision "0")) + (package + (name "go-github-com-btcsuite-btcd") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/btcsuite/btcd.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "04s92gsy71w1jirlr5lkk9y6r5cparbas7nmf6ywbp7kq7fn8ajn")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/btcsuite/btcd")) + ;; "https://github.com/btcsuite/btcutil" +;; "https://github.com/btcsuite/btcutil/bloom" +;; "https://github.com/btcsuite/btcutil/gcs" +;; "https://github.com/btcsuite/btcutil/gcs/builder" +;; "https://github.com/btcsuite/go-socks/socks" +;; "https://github.com/btcsuite/goleveldb/leveldb" +;; "https://github.com/btcsuite/goleveldb/leveldb/comparer" +;; "https://github.com/btcsuite/goleveldb/leveldb/errors" +;; "https://github.com/btcsuite/goleveldb/leveldb/filter" +;; "https://github.com/btcsuite/goleveldb/leveldb/iterator" +;; "https://github.com/btcsuite/goleveldb/leveldb/opt" +;; "https://github.com/btcsuite/goleveldb/leveldb/util" +;; "https://github.com/btcsuite/websocket" + ;; "https://github.com/jrick/logrotate/rotator" + (native-inputs + `(("go-github-com-btcsuite-btclog" ,go-github-com-btcsuite-btclog) + ("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew) + ("go-golang-org-x-crypto-ripemd160" ,go-golang-org-x-crypto-ripemd160) + ("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags))) + (home-page "https://github.com/btcsuite/btcd") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(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)))) + +(define-public go-github-com-minio-sha256-simd + (let ((commit + "51976451ce1942acbb55707a983ed232fa027110") + (revision "0")) + (package + (name "go-github-com-minio-sha256-simd") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minio/sha256-simd.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kaxvpidf6ygkkb06vi95pirll31jnmywhyalfjvf7djhim2wr8f")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/minio/sha256-simd")) + (home-page + "https://github.com/minio/sha256-simd") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-libp2p-go-libp2p-crypto + (let ((commit + "7240b40a3ddc47c4d17c15baabcbe45e5219171b") + (revision "0")) + (package + (name "go-github-com-libp2p-go-libp2p-crypto") + (version (git-version "2.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libp2p/go-libp2p-crypto.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qwpy57qv5143l9dlfwfvpqsxdd2i4zwnawx1w4pmgxxim3nw1wb")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/libp2p/go-libp2p-crypto")) + (native-inputs + `(("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd))) + (home-page + "https://github.com/libp2p/go-libp2p-crypto") + (synopsis "Various cryptographic utilities used by IPFS") + (description "Various cryptographic utilities used by IPFS") + (license license:expat)))) + +(define-public go-github-com-mr-tron-base58 + (let ((commit + "d724c80ecac7b49e4e562d58b2b4f4ee4ed8c312") + (revision "0")) + (package + (name "go-github-com-mr-tron-base58") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mr-tron/base58.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12qhgnn9wf3c1ang16r4i778whk4wsrj7d90h2xgmz4fi1469rqa")))) + (build-system go-build-system) + (arguments + `(#:unpack-path "github.com/mr-tron/base58" + #:import-path "github.com/mr-tron/base58/base58")) + (home-page "https://github.com/mr-tron/base58") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-gxed-hashland-keccakpg + (let ((commit + "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8") + (revision "0")) + (package + (name "go-github-com-gxed-hashland-keccakpg") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gxed/hashland.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1q23y4lacsz46k9gmgfw4iwwydw36j2601rbidmmswl94grpc386")))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/gxed/hashland" + #:import-path "github.com/gxed/hashland/keccakpg")) + (native-inputs `()) + (home-page "https://github.com/gxed/hashland") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-minio-blake2b-simd + (let ((commit + "3f5f724cb5b182a5c278d6d3d55b40e7f8c2efb4") + (revision "0")) + (package + (name "go-github-com-minio-blake2b-simd") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minio/blake2b-simd.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0b6jbnj62c0gmmfd4zdmh8xbg01p80f13yygir9xprqkzk6fikmd")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/minio/blake2b-simd")) + (home-page "https://github.com/minio/blake2b-simd") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-spaolacci-murmur3 + (let ((commit + "f09979ecbc725b9e6d41a297405f65e7e8804acc") + (revision "0")) + (package + (name "go-github-com-spaolacci-murmur3") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/spaolacci/murmur3.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/spaolacci/murmur3")) + (home-page + "https://github.com/spaolacci/murmur3") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-multiformats-go-multihash + (let ((commit + "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6") + (revision "0")) + (package + (name "go-github-com-multiformats-go-multihash") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/multiformats/go-multihash.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02wd9akrwy4y5m0nig9m24p14bjjgb4n1djydrq8cm4yhbvjrrk0")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/multiformats/go-multihash")) + (native-inputs + `(("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)))) + (home-page + "https://github.com/multiformats/go-multihash") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-libp2p-go-libp2p-peer + (let ((commit + "993d742bc29dcf4894b7730ba610fd78900be76c") + (revision "0")) + (package + (name "go-github-com-libp2p-go-libp2p-peer") + (version (git-version "2.3.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libp2p/go-libp2p-peer.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h96qjdi0i1wbr0jliap2903mycphas3ny0zdrm77yca9plcnphh")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/libp2p/go-libp2p-peer")) + (native-inputs + `(("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)))) + (home-page + "https://github.com/libp2p/go-libp2p-peer") + (synopsis "PKI based identities for use in go-libp2p") + (description "PKI based identities for use in go-libp2p") + (license license:expat)))) + +(define-public go-github-com-libp2p-go-libp2p-protocol + (let ((commit + "b29f3d97e3a2fb8b29c5d04290e6cb5c5018004b") + (revision "0")) + (package + (name "go-github-com-libp2p-go-libp2p-protocol") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libp2p/go-libp2p-protocol.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xgjfnx9zcqglg9li29wdqywsp8hz22wx6phns9zscni2jsfidld")))) + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/libp2p/go-libp2p-protocol")) + (native-inputs `()) + (home-page + "https://github.com/libp2p/go-libp2p-protocol") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-libp2p-go-libp2p-metrics + (let ((commit + "a10ff6e75dae3c868023867e8caa534a04bdc624") + (revision "0")) + (package + (name "go-github-com-libp2p-go-libp2p-metrics") + (version (git-version "2.1.6" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libp2p/go-libp2p-metrics.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05wy0cq4h6yg9bzgapcvm2criwriicbswx80ma82gyn4a9fdrk8m")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/libp2p/go-libp2p-metrics")) + (native-inputs + `(("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics) + ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer) + ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol) + ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)))) + (home-page + "https://github.com/libp2p/go-libp2p-metrics") + (synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics") + (description "A connection wrapper for @command{go-libp2p} that provides bandwidth +statistics for wrapped connections.") + (license license:expat)))) + +(define-public go-github-com-mitchellh-go-homedir + (let ((commit + "ae18d6b8b3205b561c79e8e5f69bff09736185f4") + (revision "0")) + (package + (name "go-github-com-mitchellh-go-homedir") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mitchellh/go-homedir.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/mitchellh/go-homedir" + ;; TODO: Tests fail because it tries to access home. + #:tests? #f)) + (native-inputs `()) + (home-page + "https://github.com/mitchellh/go-homedir") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-multiformats-go-multiaddr + (let ((commit + "fe1c46f8be5af4aff4db286e08839295bd922efb") + (revision "0")) + (package + (name "go-github-com-multiformats-go-multiaddr") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/multiformats/go-multiaddr.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0p5f8h098a4yjjmzsgqs7vhx1iqifb8izwg3559cr4h7clkpzznh")))) + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/multiformats/go-multiaddr")) + (native-inputs + `(("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)))) + (home-page + "https://github.com/multiformats/go-multiaddr") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-multiformats-go-multiaddr-net + (let ((commit + "1cb9a0e8a6de3c8a10f6cee60d01d793603c4f7e") + (revision "0")) + (package + (name "go-github-com-multiformats-go-multiaddr-net") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/multiformats/go-multiaddr-net.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ypgi47xdz3bh8lh7f8cmk7w3ql9g4izx5l3kzdg9gda1xn5zxq3")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/multiformats/go-multiaddr-net" + ;; TODO: Tests fail because they try to accept the network. + #:tests? #f)) + (native-inputs + `(("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)))) + (home-page + "https://github.com/multiformats/go-multiaddr-net") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-whyrusleeping-tar-utils + (let ((commit + "8c6c8ba81d5c71fd69c0f48dbde4b2fb422b6dfc") + (revision "0")) + (package + (name "go-github-com-whyrusleeping-tar-utils") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/tar-utils.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14jjdw3yics0k467xsyk388684wdpi0bbx8nqj0y4pqxa0s0in6s")))) + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/whyrusleeping/tar-utils")) + (native-inputs `()) + (home-page + "https://github.com/whyrusleeping/tar-utils") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-cheekybits-is + (let ((commit + "68e9c0620927fb5427fda3708222d0edee89eae9") + (revision "0")) + (package + (name "go-github-com-cheekybits-is") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cheekybits/is.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mkbyzhwq3rby832ikq00nxv3jnckxsm3949wkxd8ya9js2jmg4d")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/cheekybits/is")) + (native-inputs `()) + (home-page "https://github.com/cheekybits/is") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-sabhiram-go-gitignore + (let ((commit + "d3107576ba9425fc1c85f4b3569c4631b805a02e") + (revision "0")) + (package + (name "go-github-com-sabhiram-go-gitignore") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sabhiram/go-gitignore.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rdwyxgcsiwgmlqnc3k6h300mzlvjc3j21np4yh1h476wc8dvl0l")))) + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/sabhiram/go-gitignore")) + (native-inputs + `(("go-github-com-stretchr-testify",go-github-com-stretchr-testify))) + (home-page + "https://github.com/sabhiram/go-gitignore") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-urfave-cli + (let ((commit + "934abfb2f102315b5794e15ebc7949e4ca253920") + (revision "0")) + (package + (name "go-github-com-urfave-cli") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/urfave/cli.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0c5r8pgj3k48dfcwj8lw3cxkwkl8vh0fhvz5snfdwd0bcxdqx1yq")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/urfave/cli")) + (native-inputs `()) + (home-page "https://github.com/urfave/cli") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-whyrusleeping-json-filter + (let ((commit + "ff25329a9528f01c5175414f16cc0a6a162a5b8b") + (revision "0")) + (package + (name "go-github-com-whyrusleeping-json-filter") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/json-filter.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cai0drvx4c8j686l908vpcsz3mw3vxi3ziz94b0f3c5ylpj07j7")))) + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/whyrusleeping/json-filter")) + (native-inputs `()) + (home-page + "https://github.com/whyrusleeping/json-filter") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-whyrusleeping-progmeter + (let ((commit + "f3e57218a75b913eff88d49a52c1debf9684ea04") + (revision "0")) + (package + (name "go-github-com-whyrusleeping-progmeter") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/progmeter.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xs8rz6yhpvj9512c5v3b8dwr2kivywnyyfxzdfbr6fy1xc8zskb")))) + (build-system go-build-system) + (arguments + '(#:import-path + "github.com/whyrusleeping/progmeter")) + (native-inputs `()) + (home-page + "https://github.com/whyrusleeping/progmeter") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) + +(define-public go-github-com-whyrusleeping-stump + (let ((commit + "206f8f13aae1697a6fc1f4a55799faf955971fc5") + (revision "0")) + (package + (name "go-github-com-whyrusleeping-stump") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/stump.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1s40qdppjnk8gijk7x6kbviiqz62nz3h6gic2q9cwcmq8r5isw7n")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/whyrusleeping/stump")) + (native-inputs `()) + (home-page + "https://github.com/whyrusleeping/stump") + (synopsis "XXX") + (description "XXX") + (license license:expat)))) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm new file mode 100644 index 0000000000..88afa8e6cb --- /dev/null +++ b/gnu/packages/ipfs.scm @@ -0,0 +1,210 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages ipfs) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + ;; #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system go) + ;; #:use-module (guix build-system python) + ;; #:use-module (gnu packages) + #:use-module (gnu packages golang)) + +(define-public go-github-com-ipfs-go-ipfs-cmdkit-files + (let ((commit + "386fcf8f18a185ec121676665fe2d9574496048d") + (revision "0")) + (package + (name "go-github-com-ipfs-go-ipfs-cmdkit-files") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipfs/go-ipfs-cmdkit.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qk6fshgdmhp8dip2ksm13j6nywi41m9mn0czkvmw6b697z85l2r")))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/ipfs/go-ipfs-cmdkit" + #:import-path "github.com/ipfs/go-ipfs-cmdkit/files")) + (home-page + "https://github.com/ipfs/go-ipfs-cmdkit") + (synopsis "Shared types, functions and values for go-ipfs") + (description "@command{cmdkit} offers some types, functions and values +that are shared between @command{go-ipfs/commands} and its rewrite @command{go-ipfs-cmds}.") + (license license:expat)))) + +(define-public go-github-com-ipfs-go-ipfs-api + (let ((commit + "dafc2a13a4389ac1a6c2786e34ab70a4f26d3a3f") + (revision "0")) + (package + (name "go-github-com-ipfs-go-ipfs-api") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipfs/go-ipfs-api.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06kibnwb037sqynk99j07wm8alvxwx3bari9gdax4jv93396kycj")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/ipfs/go-ipfs-api" + ;; TODO: Tests fail, might need network access. + #:tests? #f)) + (native-inputs + `(("go-github-com-ipfs-go-ipfs-cmdkit-files" ,go-github-com-ipfs-go-ipfs-cmdkit-files) + ("go-github-com-libp2p-go-libp2p-metrics" ,go-github-com-libp2p-go-libp2p-metrics) + ("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics) + ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer) + ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol) + ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto) + ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir) + ("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr) + ("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils) + ("go-github-com-cheekybits-is" ,go-github-com-cheekybits-is))) + (home-page "https://github.com/ipfs/go-ipfs-api") + (synopsis "Unofficial Go interface to IPFS's HTTP API") + (description "An unofficial Go interface to IPFS's HTTP API") + (license license:expat)))) + +(define-public gx + (let ((commit + "89338e509426d2895f20086685cf4c77d64cc5df") + (revision "0")) + (package + (name "gx") + (version (git-version "0.14.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/whyrusleeping/gx.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08gh04jln8rxpq0j4fm4chjap162wp8cjwj9szbvj9c7123s42rd")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/whyrusleeping/gx")) + (native-inputs + `( + ("go-github-com-blang-semver" ,go-github-com-blang-semver) + ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg) + ("go-github-com-ipfs-go-ipfs-api" ,go-github-com-ipfs-go-ipfs-api) + ("go-github-com-ipfs-go-ipfs-cmdkit-files" ,go-github-com-ipfs-go-ipfs-cmdkit-files) + ("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics) + ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto) + ("go-github-com-libp2p-go-libp2p-metrics" ,go-github-com-libp2p-go-libp2p-metrics) + ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer) + ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol) + ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd) + ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) + ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir) + ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58) + ("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr) + ("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net) + ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils) + ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union)) + ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec) + ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto) + ("go-github-com-sabhiram-go-gitignore" ,go-github-com-sabhiram-go-gitignore) + ("go-github-com-urfave-cli" ,go-github-com-urfave-cli) + ("go-github-com-whyrusleeping-json-filter" ,go-github-com-whyrusleeping-json-filter) + ("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter) + ("go-github-com-whyrusleeping-stump" ,go-github-com-whyrusleeping-stump))) + (home-page "https://github.com/whyrusleeping/gx") + (synopsis "@command{gx} is a packaging tool built around the +distributed, content addressed filesystem IPFS. It aims to be flexible, +powerful and simple.") + (description "XXX") + (license #f)))) + +(define-public go-ipfs + (let ((commit + "9bf4e4145ea897ced2f9aa2087296b3beda6e941") + (revision "0")) + (package + (name "go-ipfs") + (version (git-version "0.4.17" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ipfs/go-ipfs.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01zqll453gbjjfkm6jvpp49i1al8ic3pdg3ivqhyiilcsmhf8b8i")))) + (build-system go-build-system) + (arguments + ;; install_unsupported: + ;; @echo "note: this command has yet to be tested to build in the system you are using" + ;; @echo "installing gx" + ;; go get -v -u github.com/whyrusleeping/gx + ;; go get -v -u github.com/whyrusleeping/gx-go + ;; @echo check gx and gx-go + ;; gx -v && gx-go -v + ;; @echo downloading dependencies + ;; gx install --global + ;; @echo "installing go-ipfs" + ;; go install -v -tags nofuse ./cmd/ipfs + '(#:import-path "github.com/ipfs/go-ipfs/cmd/ipfs" + #:unpack-path "github.com/ipfs/go-ipfs" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (assoc-ref outputs "out") + ".*\\.gz$")) + #t))))) + (native-inputs `()) + (home-page "https://ipfs.io") + (synopsis "IPFS implementation in Go ") + (description "IPFS is a global, versioned, peer-to-peer filesystem. It +combines good ideas from Git, BitTorrent, Kademlia, SFS, and the Web. It is +like a single bittorrent swarm, exchanging git objects. IPFS provides an +interface as simple as the HTTP web, but with permanence built in. You can +also mount the world at /ipfs.") + (license license:expat)))) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 2e936eef7d..48b52d2002 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -298,100 +298,6 @@ structs in the Go programming language.") (home-page "https://github.com/gobwas/glob") (license expat)))) -(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 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 bsd-3)))) (define-public go-github-com-golang-groupcache-lru (let ((commit "84a468cf14b4376def5d68c722b139b881c450a4") @@ -822,44 +728,6 @@ generation.") (home-page "https://github.com/vitrun/qart") (license bsd-3)))) -;; Go searches for library modules by looking in the GOPATH environment -;; variable. This variable is a list of paths. However, Go does not -;; keep searching on GOPATH if it tries and fails to import a module. -;; So, we use a union for packages sharing a namespace. -(define* (go-golang-org-x-crypto-union #:optional - (packages (list go-golang-org-x-crypto-blowfish - go-golang-org-x-crypto-bcrypt - go-golang-org-x-crypto-tea - go-golang-org-x-crypto-xtea - go-golang-org-x-crypto-pbkdf2 - go-golang-org-x-crypto-twofish - go-golang-org-x-crypto-cast5 - go-golang-org-x-crypto-salsa20))) - (package - (name "go-golang-org-x-crypto") - (version (package-version go-golang-org-x-crypto-bcrypt)) - (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 the Go x crypto libraries") - (description "A union of the Golang cryptographic libraries. A -union is required because `go build` assumes that all of the headers and -libraries are in the same directory.") - (home-page (package-home-page go-golang-org-x-crypto-bcrypt)) - (license (package-license go-golang-org-x-crypto-bcrypt)))) - (define* (go-golang-org-x-net-union #:optional (packages (list go-golang-org-x-net-ipv4 go-golang-org-x-net-bpf |