summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Neidhardt <mail@ambrevar.xyz>2018-10-15 19:46:58 +0200
committerPierre Neidhardt <mail@ambrevar.xyz>2018-10-15 19:46:58 +0200
commitd0a7961e145cdace45e14b5ca441a73cbcdb38fd (patch)
tree00d9ec0db580f658db4bcbc5ee30f94fcfe8f142
parent2d5fa80e83190b6bdbeb8a45e68a885b283e2490 (diff)
Add gx (WIP)
-rw-r--r--gnu/packages/golang.scm1071
-rw-r--r--gnu/packages/ipfs.scm210
-rw-r--r--gnu/packages/syncthing.scm132
3 files changed, 1280 insertions, 133 deletions
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 7f26fbdab65..a14b17fab47 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -36,6 +36,7 @@
36 #:use-module (guix git-download) 36 #:use-module (guix git-download)
37 #:use-module (guix packages) 37 #:use-module (guix packages)
38 #:use-module (guix build-system gnu) 38 #:use-module (guix build-system gnu)
39 #:use-module (guix build-system trivial)
39 #:use-module (guix build-system go) 40 #:use-module (guix build-system go)
40 #:use-module (gnu packages admin) 41 #:use-module (gnu packages admin)
41 #:use-module (gnu packages gcc) 42 #:use-module (gnu packages gcc)
@@ -46,7 +47,8 @@
46 #:use-module (gnu packages lua) 47 #:use-module (gnu packages lua)
47 #:use-module (gnu packages mp3) 48 #:use-module (gnu packages mp3)
48 #:use-module (ice-9 match) 49 #:use-module (ice-9 match)
49 #:use-module (srfi srfi-1)) 50 #:use-module (srfi srfi-1)
51 #:export (go-golang-org-x-crypto-union))
50 52
51;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a 53;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a
52;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2 54;; 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.")
983 (home-page "https://go.googlesource.com/crypto/") 985 (home-page "https://go.googlesource.com/crypto/")
984 (license license:bsd-3)))) 986 (license license:bsd-3))))
985 987
988(define-public go-golang-org-x-crypto-ed25519
989 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
990 (revision "1"))
991 (package
992 (name "go-golang-org-x-crypto-ed25519")
993 (version (git-version "0.0.0" revision commit))
994 (source (origin
995 (method git-fetch)
996 (uri (git-reference
997 (url "https://go.googlesource.com/crypto")
998 (commit commit)))
999 (file-name (string-append "go.googlesource.com-crypto-"
1000 version "-checkout"))
1001 (sha256
1002 (base32
1003 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
1004 (build-system go-build-system)
1005 (arguments
1006 `(#:import-path "golang.org/x/crypto/ed25519"
1007 #:unpack-path "golang.org/x/crypto"
1008 #:phases
1009 (modify-phases %standard-phases
1010 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1011 (lambda* (#:key outputs #:allow-other-keys)
1012 (map (lambda (file)
1013 (make-file-writable file))
1014 (find-files
1015 (string-append (assoc-ref outputs "out")
1016 "/src/golang.org/x/crypto/ed25519/testdata")
1017 ".*\\.gz$"))
1018 #t)))))
1019 (synopsis "ED25519 in Go")
1020 (description "This package provides a Go implementation of the ED25519
1021signature algorithm.")
1022 (home-page "https://go.googlesource.com/crypto/")
1023 (license license:bsd-3))))
1024
1025(define-public go-golang-org-x-crypto-ripemd160
1026 (let ((commit "95a4943f35d008beabde8c11e5075a1b714e6419")
1027 (revision "1"))
1028 (package
1029 (name "go-golang-org-x-crypto-ripemd160")
1030 (version (git-version "0.0.0" revision commit))
1031 (source (origin
1032 (method git-fetch)
1033 (uri (git-reference
1034 (url "https://go.googlesource.com/crypto")
1035 (commit commit)))
1036 (file-name (string-append "go.googlesource.com-crypto-"
1037 version "-checkout"))
1038 (sha256
1039 (base32
1040 "0bkm0jx9mxmi1liabb9c04kf765n7d0062zdp3zmvzyamsq00lcx"))))
1041 (build-system go-build-system)
1042 (arguments
1043 `(#:import-path "golang.org/x/crypto/ripemd160"
1044 #:unpack-path "golang.org/x/crypto"
1045 #:phases
1046 (modify-phases %standard-phases
1047 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
1048 (lambda* (#:key outputs #:allow-other-keys)
1049 (map (lambda (file)
1050 (make-file-writable file))
1051 (find-files
1052 (string-append (assoc-ref outputs "out")
1053 "/src/golang.org/x/crypto/ed25519/testdata")
1054 ".*\\.gz$"))
1055 #t)))))
1056 (synopsis "RIPEMD-160 in Go")
1057 (description "This package provides a Go implementation of the RIPEMD-160
1058hash algorithm.")
1059 (home-page "https://go.googlesource.com/crypto/")
1060 (license license:bsd-3))))
1061
1062(define-public go-golang-org-x-crypto-blake2s
1063 (package
1064 (inherit go-golang-org-x-crypto-bcrypt)
1065 (name "go-golang-org-x-crypto-blake2s")
1066 (arguments
1067 (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
1068 ((#:import-path _)
1069 "golang.org/x/crypto/blake2s")))
1070 (synopsis "BLAKE2s in Go")
1071 (description "This package provides a Go implementation of the BLAKE2s
1072hash algorithm.")))
1073
1074(define-public go-golang-org-x-crypto-sha3
1075 (package
1076 (inherit go-golang-org-x-crypto-bcrypt)
1077 (name "go-golang-org-x-crypto-sha3")
1078 (arguments
1079 (substitute-keyword-arguments (package-arguments go-golang-org-x-crypto-bcrypt)
1080 ((#:import-path _)
1081 "golang.org/x/crypto/sha3")))
1082 (synopsis "SHA-3 in Go")
1083 (description "This package provides a Go implementation of the SHA-3
1084fixed-output-length hash functions and the SHAKE variable-output-length hash
1085functions defined by FIPS-202.")))
1086
1087;; Go searches for library modules by looking in the GOPATH environment
1088;; variable. This variable is a list of paths. However, Go does not
1089;; keep searching on GOPATH if it tries and fails to import a module.
1090;; So, we use a union for packages sharing a namespace.
1091(define* (go-golang-org-x-crypto-union #:optional
1092 (packages (list go-golang-org-x-crypto-blowfish
1093 go-golang-org-x-crypto-bcrypt
1094 go-golang-org-x-crypto-tea
1095 go-golang-org-x-crypto-xtea
1096 go-golang-org-x-crypto-pbkdf2
1097 go-golang-org-x-crypto-twofish
1098 go-golang-org-x-crypto-cast5
1099 go-golang-org-x-crypto-salsa20
1100 go-golang-org-x-crypto-ed25519
1101 go-golang-org-x-crypto-ripemd160
1102 go-golang-org-x-crypto-blake2s
1103 go-golang-org-x-crypto-sha3)))
1104 (package
1105 (name "go-golang-org-x-crypto")
1106 (version (package-version go-golang-org-x-crypto-bcrypt))
1107 (source #f)
1108 (build-system trivial-build-system)
1109 (arguments
1110 '(#:modules ((guix build union))
1111 #:builder (begin
1112 (use-modules (ice-9 match)
1113 (guix build union))
1114 (match %build-inputs
1115 (((names . directories) ...)
1116 (union-build (assoc-ref %outputs "out")
1117 directories)
1118 #t)))))
1119 (inputs (map (lambda (package)
1120 (list (package-name package) package))
1121 packages))
1122 (synopsis "Union of the Go x crypto libraries")
1123 (description "A union of the Golang cryptographic libraries. A
1124union is required because `go build` assumes that all of the headers and
1125libraries are in the same directory.")
1126 (home-page (package-home-page go-golang-org-x-crypto-bcrypt))
1127 (license (package-license go-golang-org-x-crypto-bcrypt))))
1128
986(define-public go-golang-org-x-net-ipv4 1129(define-public go-golang-org-x-net-ipv4
987 (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6") 1130 (let ((commit "d866cfc389cec985d6fda2859936a575a55a3ab6")
988 (revision "1")) 1131 (revision "1"))
@@ -2344,3 +2487,929 @@ and lookup requests. Browse requests are not supported yet.")
2344 (synopsis "Go wrapper for taglib") 2487 (synopsis "Go wrapper for taglib")
2345 (description "Go wrapper for taglib") 2488 (description "Go wrapper for taglib")
2346 (license license:unlicense)))) 2489 (license license:unlicense))))
2490
2491(define-public go-github-com-libp2p-go-flow-metrics
2492 (let ((commit
2493 "7e5a55af485341567f98d6847a373eb5ddcdcd43")
2494 (revision "0"))
2495 (package
2496 (name "go-github-com-libp2p-go-flow-metrics")
2497 (version (git-version "0.2.0" revision commit))
2498 (source
2499 (origin
2500 (method git-fetch)
2501 (uri (git-reference
2502 (url "https://github.com/libp2p/go-flow-metrics.git")
2503 (commit commit)))
2504 (file-name (git-file-name name version))
2505 (sha256
2506 (base32
2507 "1p87iyk6q6f3g3xkncssx400qlld8f2z93qiz8m1f97grfyhjif1"))))
2508 (build-system go-build-system)
2509 (arguments
2510 '(#:import-path "github.com/libp2p/go-flow-metrics"
2511 ;; TODO: Tests hang.
2512 #:tests? #f))
2513 (home-page
2514 "https://github.com/libp2p/go-flow-metrics")
2515 (synopsis "Simple library for tracking flow metrics")
2516 (description "A simple alternative to rcrowley's @command{go-metrics}
2517that's a lot faster (and only does simple bandwidth metrics).")
2518 (license license:expat))))
2519
2520(define-public go-github-com-davecgh-go-spew
2521 (let ((commit
2522 "d8f796af33cc11cb798c1aaeb27a4ebc5099927d")
2523 (revision "0"))
2524 (package
2525 (name "go-github-com-davecgh-go-spew")
2526 (version (git-version "0.0.0" revision commit))
2527 (source
2528 (origin
2529 (method git-fetch)
2530 (uri (git-reference
2531 (url "https://github.com/davecgh/go-spew.git")
2532 (commit commit)))
2533 (file-name (git-file-name name version))
2534 (sha256
2535 (base32
2536 "19z27f306fpsrjdvkzd61w1bdazcdbczjyjck177g33iklinhpvx"))))
2537 (build-system go-build-system)
2538 (arguments
2539 '(#:unpack-path "github.com/davecgh/go-spew"
2540 #:import-path "github.com/davecgh/go-spew/spew"))
2541 (native-inputs `())
2542 (home-page "https://github.com/davecgh/go-spew")
2543 (synopsis "XXX")
2544 (description "XXX")
2545 (license license:expat))))
2546
2547(define-public go-github-com-btcsuite-btclog
2548 (let ((commit
2549 "84c8d2346e9fc8c7b947e243b9c24e6df9fd206a")
2550 (revision "0"))
2551 (package
2552 (name "go-github-com-btcsuite-btclog")
2553 (version (git-version "0.0.0" revision commit))
2554 (source
2555 (origin
2556 (method git-fetch)
2557 (uri (git-reference
2558 (url "https://github.com/btcsuite/btclog.git")
2559 (commit commit)))
2560 (file-name (git-file-name name version))
2561 (sha256
2562 (base32
2563 "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk"))))
2564 (build-system go-build-system)
2565 (arguments
2566 '(#:import-path "github.com/btcsuite/btclog"))
2567 (home-page "https://github.com/btcsuite/btclog")
2568 (synopsis "XXX")
2569 (description "XXX")
2570 (license license:expat))))
2571
2572(define-public go-github-com-btcsuite-btcutil
2573 (let ((commit
2574 "ab6388e0c60ae4834a1f57511e20c17b5f78be4b")
2575 (revision "0"))
2576 (package
2577 (name "go-github-com-btcsuite-btcutil")
2578 (version (git-version "0.0.0" revision commit))
2579 (source
2580 (origin
2581 (method git-fetch)
2582 (uri (git-reference
2583 (url "https://github.com/btcsuite/btcutil.git")
2584 (commit commit)))
2585 (file-name (git-file-name name version))
2586 (sha256
2587 (base32
2588 "1ijim9n97psl6s47mi2ldllmsvg4bd4jhjmgcvwpcd19frs35mgf"))))
2589 (build-system go-build-system)
2590 (arguments
2591 '(#:import-path "github.com/btcsuite/btcutil"))
2592 ;; TODO: Finish with union.
2593 (native-inputs
2594 `(("go-golang-org-x-crypto-ripemd160" ,go-golang-org-x-crypto-ripemd160)
2595 ("go-github-com-btcsuite-btcd-chaincfg" ,go-github-com-btcsuite-btcd-chaincfg)
2596 ("go-github-com-btcsuite-btcd-chaincfg-chainhash" ,go-github-com-btcsuite-btcd-chaincfg-chainhash)
2597 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
2598 ("go-github-com-btcsuite-btcd-wire" ,go-github-com-btcsuite-btcd-wire)))
2599 (home-page "https://github.com/btcsuite/btcutil")
2600 (synopsis "XXX")
2601 (description "XXX")
2602 (license license:expat))))
2603
2604(define-public go-github-com-btcsuite-btcd-btcec
2605 (let ((commit
2606 "67e573d211ace594f1366b4ce9d39726c4b19bd0")
2607 (revision "0"))
2608 (package
2609 (name "go-github-com-btcsuite-btcd-btcec")
2610 (version (git-version "0.0.0" revision commit))
2611 (source
2612 (origin
2613 (method git-fetch)
2614 (uri (git-reference
2615 (url "https://github.com/btcsuite/btcd.git")
2616 (commit commit)))
2617 (file-name (git-file-name name version))
2618 (sha256
2619 (base32
2620 "04s92gsy71w1jirlr5lkk9y6r5cparbas7nmf6ywbp7kq7fn8ajn"))))
2621 (build-system go-build-system)
2622 (arguments
2623 '(#:unpack-path "github.com/btcsuite/btcd"
2624 #:import-path "github.com/btcsuite/btcd/btcec"))
2625 (native-inputs
2626 `(("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)
2627 ;; ("go-github-com-btcsuite-btcd-chaincfg-chainhash" ,go-github-com-btcsuite-btcd-chaincfg-chainhash)
2628 ))
2629 (home-page "https://github.com/btcsuite/btcd")
2630 (synopsis "XXX")
2631 (description "XXX")
2632 (license license:expat))))
2633
2634(define-public go-github-com-btcsuite-btcd-chaincfg
2635 (package
2636 (inherit go-github-com-btcsuite-btcd-btcec)
2637 (name "go-github-com-btcsuite-btcd-chaincfg")
2638 (arguments
2639 '(#:unpack-path "github.com/btcsuite/btcd"
2640 #:import-path "github.com/btcsuite/btcd/chaincfg"))))
2641
2642(define-public go-github-com-btcsuite-btcd-chaincfg-chainhash
2643 (package
2644 (inherit go-github-com-btcsuite-btcd-btcec)
2645 (name "go-github-com-btcsuite-btcd-chaincfg-chainhash")
2646 (arguments
2647 '(#:unpack-path "github.com/btcsuite/btcd"
2648 #:import-path "github.com/btcsuite/btcd/chaincfg/chainhash"))))
2649
2650(define-public go-github-com-btcsuite-btcd-wire
2651 (package
2652 (inherit go-github-com-btcsuite-btcd-btcec)
2653 (name "go-github-com-btcsuite-btcd-wire")
2654 (arguments
2655 '(#:unpack-path "github.com/btcsuite/btcd"
2656 #:import-path "github.com/btcsuite/btcd/wire"))))
2657
2658(define-public go-github-com-btcsuite-btcd
2659 (let ((commit
2660 "67e573d211ace594f1366b4ce9d39726c4b19bd0")
2661 (revision "0"))
2662 (package
2663 (name "go-github-com-btcsuite-btcd")
2664 (version (git-version "0.0.0" revision commit))
2665 (source
2666 (origin
2667 (method git-fetch)
2668 (uri (git-reference
2669 (url "https://github.com/btcsuite/btcd.git")
2670 (commit commit)))
2671 (file-name (git-file-name name version))
2672 (sha256
2673 (base32
2674 "04s92gsy71w1jirlr5lkk9y6r5cparbas7nmf6ywbp7kq7fn8ajn"))))
2675 (build-system go-build-system)
2676 (arguments
2677 '(#:import-path "github.com/btcsuite/btcd"))
2678 ;; "https://github.com/btcsuite/btcutil"
2679;; "https://github.com/btcsuite/btcutil/bloom"
2680;; "https://github.com/btcsuite/btcutil/gcs"
2681;; "https://github.com/btcsuite/btcutil/gcs/builder"
2682;; "https://github.com/btcsuite/go-socks/socks"
2683;; "https://github.com/btcsuite/goleveldb/leveldb"
2684;; "https://github.com/btcsuite/goleveldb/leveldb/comparer"
2685;; "https://github.com/btcsuite/goleveldb/leveldb/errors"
2686;; "https://github.com/btcsuite/goleveldb/leveldb/filter"
2687;; "https://github.com/btcsuite/goleveldb/leveldb/iterator"
2688;; "https://github.com/btcsuite/goleveldb/leveldb/opt"
2689;; "https://github.com/btcsuite/goleveldb/leveldb/util"
2690;; "https://github.com/btcsuite/websocket"
2691 ;; "https://github.com/jrick/logrotate/rotator"
2692 (native-inputs
2693 `(("go-github-com-btcsuite-btclog" ,go-github-com-btcsuite-btclog)
2694 ("go-github-com-davecgh-go-spew" ,go-github-com-davecgh-go-spew)
2695 ("go-golang-org-x-crypto-ripemd160" ,go-golang-org-x-crypto-ripemd160)
2696 ("go-github.com-jessevdk-go-flags" ,go-github.com-jessevdk-go-flags)))
2697 (home-page "https://github.com/btcsuite/btcd")
2698 (synopsis "XXX")
2699 (description "XXX")
2700 (license license:expat))))
2701
2702(define* (go-github-com-gogo-protobuf-union
2703 #:optional (packages (list go-github-com-gogo-protobuf
2704 go-github-com-gogo-protobuf-protoc-gen-gogo)))
2705 (package
2706 (name "go-github-com-gogo-protobuf-union")
2707 (version (package-version go-github-com-gogo-protobuf))
2708 (source #f)
2709 (build-system trivial-build-system)
2710 (arguments
2711 '(#:modules ((guix build union))
2712 #:builder (begin
2713 (use-modules (ice-9 match)
2714 (guix build union))
2715 (match %build-inputs
2716 (((names . directories) ...)
2717 (union-build (assoc-ref %outputs "out")
2718 directories)
2719 #t)))))
2720 (inputs (map (lambda (package)
2721 (list (package-name package) package))
2722 packages))
2723 (synopsis "Union of Go protobuf libraries")
2724 (description "This is a union of Go protobuf libraries")
2725 (home-page (package-home-page go-github-com-gogo-protobuf))
2726 (license (package-license go-github-com-gogo-protobuf))))
2727
2728(define-public go-github-com-gogo-protobuf
2729 (let ((commit "160de10b2537169b5ae3e7e221d28269ef40d311")
2730 (revision "2"))
2731 (package
2732 (name "go-github-com-gogo-protobuf")
2733 (version (git-version "0.5" revision commit))
2734 (source (origin
2735 (method git-fetch)
2736 (uri (git-reference
2737 (url "https://github.com/gogo/protobuf")
2738 (commit commit)))
2739 (file-name (git-file-name name version))
2740 (sha256
2741 (base32
2742 "0hxq28sgxym04rv0q40gpwkh4ni359q21hq3g78wwxwx4qfd4zwm"))))
2743 (build-system go-build-system)
2744 (arguments
2745 `(#:import-path "github.com/gogo/protobuf/proto"
2746 #:unpack-path "github.com/gogo/protobuf"))
2747 (propagated-inputs
2748 `(("go-github-com-gogo-protobuf-protoc-gen-gogo"
2749 ,go-github-com-gogo-protobuf-protoc-gen-gogo)))
2750 (synopsis "Protocol Buffers for Go with Gadgets")
2751 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
2752generation features. This code generation is used to achieve:
2753@itemize
2754@item fast marshalling and unmarshalling
2755@item more canonical Go structures
2756@item goprotobuf compatibility
2757@item less typing by optionally generating extra helper code
2758@item peace of mind by optionally generating test and benchmark code
2759@item other serialization formats
2760@end itemize")
2761 (home-page "https://github.com/gogo/protobuf")
2762 (license license:bsd-3))))
2763
2764(define-public go-github-com-gogo-protobuf-protoc-gen-gogo
2765 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
2766 (revision "0"))
2767 (package
2768 (name "go-github-com-gogo-protobuf-protoc-gen-gogo")
2769 (version (git-version "0.2" revision commit))
2770 (source (origin
2771 (method git-fetch)
2772 (uri (git-reference
2773 (url "https://github.com/gogo/protobuf")
2774 (commit commit)))
2775 (file-name (git-file-name name version))
2776 (sha256
2777 (base32
2778 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
2779 (build-system go-build-system)
2780 (arguments
2781 `(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo"
2782 #:unpack-path "github.com/gogo/protobuf"))
2783 (synopsis "Protocol Buffers for Go with Gadgets")
2784 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
2785generation features. This code generation is used to achieve:
2786@itemize
2787@item fast marshalling and unmarshalling
2788@item more canonical Go structures
2789@item goprotobuf compatibility
2790@item less typing by optionally generating extra helper code
2791@item peace of mind by optionally generating test and benchmark code
2792@item other serialization formats
2793@end itemize")
2794 (home-page "https://github.com/gogo/protobuf")
2795 (license license:bsd-3))))
2796
2797(define-public go-github-com-gogo-protobuf-proto
2798 (let ((commit
2799 "fd322a3c49630fe6d05737e2b7d9426e6680e28d")
2800 (revision "0"))
2801 (package
2802 (name "go-github-com-gogo-protobuf-proto")
2803 (version (git-version "0.0.0" revision commit))
2804 (source
2805 (origin
2806 (method git-fetch)
2807 (uri (git-reference
2808 (url "https://github.com/gogo/protobuf.git")
2809 (commit commit)))
2810 (file-name (git-file-name name version))
2811 (sha256
2812 (base32
2813 "1zi85584dy91hyrwpanygz1pppi0chn3hzzv128i83i6j45a5fp9"))))
2814 (build-system go-build-system)
2815 (arguments
2816 '(#:unpack-path "github.com/gogo/protobuf"
2817 #:import-path "github.com/gogo/protobuf/proto"))
2818 (native-inputs `())
2819 (home-page "https://github.com/gogo/protobuf")
2820 (synopsis "XXX")
2821 (description "XXX")
2822 (license license:expat))))
2823
2824(define-public go-github-com-minio-sha256-simd
2825 (let ((commit
2826 "51976451ce1942acbb55707a983ed232fa027110")
2827 (revision "0"))
2828 (package
2829 (name "go-github-com-minio-sha256-simd")
2830 (version (git-version "0.0.0" revision commit))
2831 (source
2832 (origin
2833 (method git-fetch)
2834 (uri (git-reference
2835 (url "https://github.com/minio/sha256-simd.git")
2836 (commit commit)))
2837 (file-name (git-file-name name version))
2838 (sha256
2839 (base32
2840 "0kaxvpidf6ygkkb06vi95pirll31jnmywhyalfjvf7djhim2wr8f"))))
2841 (build-system go-build-system)
2842 (arguments
2843 '(#:import-path "github.com/minio/sha256-simd"))
2844 (home-page
2845 "https://github.com/minio/sha256-simd")
2846 (synopsis "XXX")
2847 (description "XXX")
2848 (license license:expat))))
2849
2850(define-public go-github-com-libp2p-go-libp2p-crypto
2851 (let ((commit
2852 "7240b40a3ddc47c4d17c15baabcbe45e5219171b")
2853 (revision "0"))
2854 (package
2855 (name "go-github-com-libp2p-go-libp2p-crypto")
2856 (version (git-version "2.0.1" revision commit))
2857 (source
2858 (origin
2859 (method git-fetch)
2860 (uri (git-reference
2861 (url "https://github.com/libp2p/go-libp2p-crypto.git")
2862 (commit commit)))
2863 (file-name (git-file-name name version))
2864 (sha256
2865 (base32
2866 "0qwpy57qv5143l9dlfwfvpqsxdd2i4zwnawx1w4pmgxxim3nw1wb"))))
2867 (build-system go-build-system)
2868 (arguments
2869 '(#:import-path "github.com/libp2p/go-libp2p-crypto"))
2870 (native-inputs
2871 `(("go-golang-org-x-crypto-ed25519" ,go-golang-org-x-crypto-ed25519)
2872 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
2873 ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
2874 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)))
2875 (home-page
2876 "https://github.com/libp2p/go-libp2p-crypto")
2877 (synopsis "Various cryptographic utilities used by IPFS")
2878 (description "Various cryptographic utilities used by IPFS")
2879 (license license:expat))))
2880
2881(define-public go-github-com-mr-tron-base58
2882 (let ((commit
2883 "d724c80ecac7b49e4e562d58b2b4f4ee4ed8c312")
2884 (revision "0"))
2885 (package
2886 (name "go-github-com-mr-tron-base58")
2887 (version (git-version "0.0.0" revision commit))
2888 (source
2889 (origin
2890 (method git-fetch)
2891 (uri (git-reference
2892 (url "https://github.com/mr-tron/base58.git")
2893 (commit commit)))
2894 (file-name (git-file-name name version))
2895 (sha256
2896 (base32
2897 "12qhgnn9wf3c1ang16r4i778whk4wsrj7d90h2xgmz4fi1469rqa"))))
2898 (build-system go-build-system)
2899 (arguments
2900 `(#:unpack-path "github.com/mr-tron/base58"
2901 #:import-path "github.com/mr-tron/base58/base58"))
2902 (home-page "https://github.com/mr-tron/base58")
2903 (synopsis "XXX")
2904 (description "XXX")
2905 (license license:expat))))
2906
2907(define-public go-github-com-gxed-hashland-keccakpg
2908 (let ((commit
2909 "d9f6b97f8db22dd1e090fd0bbbe98f09cc7dd0a8")
2910 (revision "0"))
2911 (package
2912 (name "go-github-com-gxed-hashland-keccakpg")
2913 (version (git-version "0.0.0" revision commit))
2914 (source
2915 (origin
2916 (method git-fetch)
2917 (uri (git-reference
2918 (url "https://github.com/gxed/hashland.git")
2919 (commit commit)))
2920 (file-name (git-file-name name version))
2921 (sha256
2922 (base32
2923 "1q23y4lacsz46k9gmgfw4iwwydw36j2601rbidmmswl94grpc386"))))
2924 (build-system go-build-system)
2925 (arguments
2926 '(#:unpack-path "github.com/gxed/hashland"
2927 #:import-path "github.com/gxed/hashland/keccakpg"))
2928 (native-inputs `())
2929 (home-page "https://github.com/gxed/hashland")
2930 (synopsis "XXX")
2931 (description "XXX")
2932 (license license:expat))))
2933
2934(define-public go-github-com-minio-blake2b-simd
2935 (let ((commit
2936 "3f5f724cb5b182a5c278d6d3d55b40e7f8c2efb4")
2937 (revision "0"))
2938 (package
2939 (name "go-github-com-minio-blake2b-simd")
2940 (version (git-version "0.0.0" revision commit))
2941 (source
2942 (origin
2943 (method git-fetch)
2944 (uri (git-reference
2945 (url "https://github.com/minio/blake2b-simd.git")
2946 (commit commit)))
2947 (file-name (git-file-name name version))
2948 (sha256
2949 (base32
2950 "0b6jbnj62c0gmmfd4zdmh8xbg01p80f13yygir9xprqkzk6fikmd"))))
2951 (build-system go-build-system)
2952 (arguments
2953 '(#:import-path "github.com/minio/blake2b-simd"))
2954 (home-page "https://github.com/minio/blake2b-simd")
2955 (synopsis "XXX")
2956 (description "XXX")
2957 (license license:expat))))
2958
2959(define-public go-github-com-spaolacci-murmur3
2960 (let ((commit
2961 "f09979ecbc725b9e6d41a297405f65e7e8804acc")
2962 (revision "0"))
2963 (package
2964 (name "go-github-com-spaolacci-murmur3")
2965 (version (git-version "0.0.0" revision commit))
2966 (source
2967 (origin
2968 (method git-fetch)
2969 (uri (git-reference
2970 (url "https://github.com/spaolacci/murmur3.git")
2971 (commit commit)))
2972 (file-name (git-file-name name version))
2973 (sha256
2974 (base32
2975 "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25"))))
2976 (build-system go-build-system)
2977 (arguments
2978 '(#:import-path "github.com/spaolacci/murmur3"))
2979 (home-page
2980 "https://github.com/spaolacci/murmur3")
2981 (synopsis "XXX")
2982 (description "XXX")
2983 (license license:expat))))
2984
2985(define-public go-github-com-multiformats-go-multihash
2986 (let ((commit
2987 "97cdb562a04c6ef66d8ed40cd62f8fbcddd396d6")
2988 (revision "0"))
2989 (package
2990 (name "go-github-com-multiformats-go-multihash")
2991 (version (git-version "0.0.0" revision commit))
2992 (source
2993 (origin
2994 (method git-fetch)
2995 (uri (git-reference
2996 (url "https://github.com/multiformats/go-multihash.git")
2997 (commit commit)))
2998 (file-name (git-file-name name version))
2999 (sha256
3000 (base32
3001 "02wd9akrwy4y5m0nig9m24p14bjjgb4n1djydrq8cm4yhbvjrrk0"))))
3002 (build-system go-build-system)
3003 (arguments
3004 '(#:import-path "github.com/multiformats/go-multihash"))
3005 (native-inputs
3006 `(("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
3007 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
3008 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
3009 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
3010 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
3011 ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union))))
3012 (home-page
3013 "https://github.com/multiformats/go-multihash")
3014 (synopsis "XXX")
3015 (description "XXX")
3016 (license license:expat))))
3017
3018(define-public go-github-com-libp2p-go-libp2p-peer
3019 (let ((commit
3020 "993d742bc29dcf4894b7730ba610fd78900be76c")
3021 (revision "0"))
3022 (package
3023 (name "go-github-com-libp2p-go-libp2p-peer")
3024 (version (git-version "2.3.8" revision commit))
3025 (source
3026 (origin
3027 (method git-fetch)
3028 (uri (git-reference
3029 (url "https://github.com/libp2p/go-libp2p-peer.git")
3030 (commit commit)))
3031 (file-name (git-file-name name version))
3032 (sha256
3033 (base32
3034 "1h96qjdi0i1wbr0jliap2903mycphas3ny0zdrm77yca9plcnphh"))))
3035 (build-system go-build-system)
3036 (arguments
3037 '(#:import-path "github.com/libp2p/go-libp2p-peer"))
3038 (native-inputs
3039 `(("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
3040 ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
3041 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
3042 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
3043 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
3044 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
3045 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
3046 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
3047 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
3048 ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union))))
3049 (home-page
3050 "https://github.com/libp2p/go-libp2p-peer")
3051 (synopsis "PKI based identities for use in go-libp2p")
3052 (description "PKI based identities for use in go-libp2p")
3053 (license license:expat))))
3054
3055(define-public go-github-com-libp2p-go-libp2p-protocol
3056 (let ((commit
3057 "b29f3d97e3a2fb8b29c5d04290e6cb5c5018004b")
3058 (revision "0"))
3059 (package
3060 (name "go-github-com-libp2p-go-libp2p-protocol")
3061 (version (git-version "0.0.0" revision commit))
3062 (source
3063 (origin
3064 (method git-fetch)
3065 (uri (git-reference
3066 (url "https://github.com/libp2p/go-libp2p-protocol.git")
3067 (commit commit)))
3068 (file-name (git-file-name name version))
3069 (sha256
3070 (base32
3071 "1xgjfnx9zcqglg9li29wdqywsp8hz22wx6phns9zscni2jsfidld"))))
3072 (build-system go-build-system)
3073 (arguments
3074 '(#:import-path
3075 "github.com/libp2p/go-libp2p-protocol"))
3076 (native-inputs `())
3077 (home-page
3078 "https://github.com/libp2p/go-libp2p-protocol")
3079 (synopsis "XXX")
3080 (description "XXX")
3081 (license license:expat))))
3082
3083(define-public go-github-com-libp2p-go-libp2p-metrics
3084 (let ((commit
3085 "a10ff6e75dae3c868023867e8caa534a04bdc624")
3086 (revision "0"))
3087 (package
3088 (name "go-github-com-libp2p-go-libp2p-metrics")
3089 (version (git-version "2.1.6" revision commit))
3090 (source
3091 (origin
3092 (method git-fetch)
3093 (uri (git-reference
3094 (url "https://github.com/libp2p/go-libp2p-metrics.git")
3095 (commit commit)))
3096 (file-name (git-file-name name version))
3097 (sha256
3098 (base32
3099 "05wy0cq4h6yg9bzgapcvm2criwriicbswx80ma82gyn4a9fdrk8m"))))
3100 (build-system go-build-system)
3101 (arguments
3102 '(#:import-path "github.com/libp2p/go-libp2p-metrics"))
3103 (native-inputs
3104 `(("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics)
3105 ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer)
3106 ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol)
3107 ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
3108 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
3109 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
3110 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
3111 ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
3112 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
3113 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
3114 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
3115 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
3116 ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union))))
3117 (home-page
3118 "https://github.com/libp2p/go-libp2p-metrics")
3119 (synopsis "Connection wrapper for go-libp2p that provides bandwidth metrics")
3120 (description "A connection wrapper for @command{go-libp2p} that provides bandwidth
3121statistics for wrapped connections.")
3122 (license license:expat))))
3123
3124(define-public go-github-com-mitchellh-go-homedir
3125 (let ((commit
3126 "ae18d6b8b3205b561c79e8e5f69bff09736185f4")
3127 (revision "0"))
3128 (package
3129 (name "go-github-com-mitchellh-go-homedir")
3130 (version (git-version "0.0.0" revision commit))
3131 (source
3132 (origin
3133 (method git-fetch)
3134 (uri (git-reference
3135 (url "https://github.com/mitchellh/go-homedir.git")
3136 (commit commit)))
3137 (file-name (git-file-name name version))
3138 (sha256
3139 (base32
3140 "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq"))))
3141 (build-system go-build-system)
3142 (arguments
3143 '(#:import-path "github.com/mitchellh/go-homedir"
3144 ;; TODO: Tests fail because it tries to access home.
3145 #:tests? #f))
3146 (native-inputs `())
3147 (home-page
3148 "https://github.com/mitchellh/go-homedir")
3149 (synopsis "XXX")
3150 (description "XXX")
3151 (license license:expat))))
3152
3153(define-public go-github-com-multiformats-go-multiaddr
3154 (let ((commit
3155 "fe1c46f8be5af4aff4db286e08839295bd922efb")
3156 (revision "0"))
3157 (package
3158 (name "go-github-com-multiformats-go-multiaddr")
3159 (version (git-version "0.0.0" revision commit))
3160 (source
3161 (origin
3162 (method git-fetch)
3163 (uri (git-reference
3164 (url "https://github.com/multiformats/go-multiaddr.git")
3165 (commit commit)))
3166 (file-name (git-file-name name version))
3167 (sha256
3168 (base32
3169 "0p5f8h098a4yjjmzsgqs7vhx1iqifb8izwg3559cr4h7clkpzznh"))))
3170 (build-system go-build-system)
3171 (arguments
3172 '(#:import-path
3173 "github.com/multiformats/go-multiaddr"))
3174 (native-inputs
3175 `(("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
3176 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
3177 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
3178 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
3179 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
3180 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
3181 ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union))))
3182 (home-page
3183 "https://github.com/multiformats/go-multiaddr")
3184 (synopsis "XXX")
3185 (description "XXX")
3186 (license license:expat))))
3187
3188(define-public go-github-com-multiformats-go-multiaddr-net
3189 (let ((commit
3190 "1cb9a0e8a6de3c8a10f6cee60d01d793603c4f7e")
3191 (revision "0"))
3192 (package
3193 (name "go-github-com-multiformats-go-multiaddr-net")
3194 (version (git-version "0.0.0" revision commit))
3195 (source
3196 (origin
3197 (method git-fetch)
3198 (uri (git-reference
3199 (url "https://github.com/multiformats/go-multiaddr-net.git")
3200 (commit commit)))
3201 (file-name (git-file-name name version))
3202 (sha256
3203 (base32
3204 "1ypgi47xdz3bh8lh7f8cmk7w3ql9g4izx5l3kzdg9gda1xn5zxq3"))))
3205 (build-system go-build-system)
3206 (arguments
3207 '(#:import-path "github.com/multiformats/go-multiaddr-net"
3208 ;; TODO: Tests fail because they try to accept the network.
3209 #:tests? #f))
3210 (native-inputs
3211 `(("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr)
3212 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
3213 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
3214 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
3215 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
3216 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
3217 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
3218 ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union))))
3219 (home-page
3220 "https://github.com/multiformats/go-multiaddr-net")
3221 (synopsis "XXX")
3222 (description "XXX")
3223 (license license:expat))))
3224
3225(define-public go-github-com-whyrusleeping-tar-utils
3226 (let ((commit
3227 "8c6c8ba81d5c71fd69c0f48dbde4b2fb422b6dfc")
3228 (revision "0"))
3229 (package
3230 (name "go-github-com-whyrusleeping-tar-utils")
3231 (version (git-version "0.0.0" revision commit))
3232 (source
3233 (origin
3234 (method git-fetch)
3235 (uri (git-reference
3236 (url "https://github.com/whyrusleeping/tar-utils.git")
3237 (commit commit)))
3238 (file-name (git-file-name name version))
3239 (sha256
3240 (base32
3241 "14jjdw3yics0k467xsyk388684wdpi0bbx8nqj0y4pqxa0s0in6s"))))
3242 (build-system go-build-system)
3243 (arguments
3244 '(#:import-path
3245 "github.com/whyrusleeping/tar-utils"))
3246 (native-inputs `())
3247 (home-page
3248 "https://github.com/whyrusleeping/tar-utils")
3249 (synopsis "XXX")
3250 (description "XXX")
3251 (license license:expat))))
3252
3253(define-public go-github-com-cheekybits-is
3254 (let ((commit
3255 "68e9c0620927fb5427fda3708222d0edee89eae9")
3256 (revision "0"))
3257 (package
3258 (name "go-github-com-cheekybits-is")
3259 (version (git-version "0.0.0" revision commit))
3260 (source
3261 (origin
3262 (method git-fetch)
3263 (uri (git-reference
3264 (url "https://github.com/cheekybits/is.git")
3265 (commit commit)))
3266 (file-name (git-file-name name version))
3267 (sha256
3268 (base32
3269 "1mkbyzhwq3rby832ikq00nxv3jnckxsm3949wkxd8ya9js2jmg4d"))))
3270 (build-system go-build-system)
3271 (arguments
3272 '(#:import-path "github.com/cheekybits/is"))
3273 (native-inputs `())
3274 (home-page "https://github.com/cheekybits/is")
3275 (synopsis "XXX")
3276 (description "XXX")
3277 (license license:expat))))
3278
3279(define-public go-github-com-sabhiram-go-gitignore
3280 (let ((commit
3281 "d3107576ba9425fc1c85f4b3569c4631b805a02e")
3282 (revision "0"))
3283 (package
3284 (name "go-github-com-sabhiram-go-gitignore")
3285 (version (git-version "0.0.0" revision commit))
3286 (source
3287 (origin
3288 (method git-fetch)
3289 (uri (git-reference
3290 (url "https://github.com/sabhiram/go-gitignore.git")
3291 (commit commit)))
3292 (file-name (git-file-name name version))
3293 (sha256
3294 (base32
3295 "1rdwyxgcsiwgmlqnc3k6h300mzlvjc3j21np4yh1h476wc8dvl0l"))))
3296 (build-system go-build-system)
3297 (arguments
3298 '(#:import-path
3299 "github.com/sabhiram/go-gitignore"))
3300 (native-inputs
3301 `(("go-github-com-stretchr-testify",go-github-com-stretchr-testify)))
3302 (home-page
3303 "https://github.com/sabhiram/go-gitignore")
3304 (synopsis "XXX")
3305 (description "XXX")
3306 (license license:expat))))
3307
3308(define-public go-github-com-urfave-cli
3309 (let ((commit
3310 "934abfb2f102315b5794e15ebc7949e4ca253920")
3311 (revision "0"))
3312 (package
3313 (name "go-github-com-urfave-cli")
3314 (version (git-version "0.0.0" revision commit))
3315 (source
3316 (origin
3317 (method git-fetch)
3318 (uri (git-reference
3319 (url "https://github.com/urfave/cli.git")
3320 (commit commit)))
3321 (file-name (git-file-name name version))
3322 (sha256
3323 (base32
3324 "0c5r8pgj3k48dfcwj8lw3cxkwkl8vh0fhvz5snfdwd0bcxdqx1yq"))))
3325 (build-system go-build-system)
3326 (arguments
3327 '(#:import-path "github.com/urfave/cli"))
3328 (native-inputs `())
3329 (home-page "https://github.com/urfave/cli")
3330 (synopsis "XXX")
3331 (description "XXX")
3332 (license license:expat))))
3333
3334(define-public go-github-com-whyrusleeping-json-filter
3335 (let ((commit
3336 "ff25329a9528f01c5175414f16cc0a6a162a5b8b")
3337 (revision "0"))
3338 (package
3339 (name "go-github-com-whyrusleeping-json-filter")
3340 (version (git-version "0.0.0" revision commit))
3341 (source
3342 (origin
3343 (method git-fetch)
3344 (uri (git-reference
3345 (url "https://github.com/whyrusleeping/json-filter.git")
3346 (commit commit)))
3347 (file-name (git-file-name name version))
3348 (sha256
3349 (base32
3350 "0cai0drvx4c8j686l908vpcsz3mw3vxi3ziz94b0f3c5ylpj07j7"))))
3351 (build-system go-build-system)
3352 (arguments
3353 '(#:import-path
3354 "github.com/whyrusleeping/json-filter"))
3355 (native-inputs `())
3356 (home-page
3357 "https://github.com/whyrusleeping/json-filter")
3358 (synopsis "XXX")
3359 (description "XXX")
3360 (license license:expat))))
3361
3362(define-public go-github-com-whyrusleeping-progmeter
3363 (let ((commit
3364 "f3e57218a75b913eff88d49a52c1debf9684ea04")
3365 (revision "0"))
3366 (package
3367 (name "go-github-com-whyrusleeping-progmeter")
3368 (version (git-version "0.0.0" revision commit))
3369 (source
3370 (origin
3371 (method git-fetch)
3372 (uri (git-reference
3373 (url "https://github.com/whyrusleeping/progmeter.git")
3374 (commit commit)))
3375 (file-name (git-file-name name version))
3376 (sha256
3377 (base32
3378 "0xs8rz6yhpvj9512c5v3b8dwr2kivywnyyfxzdfbr6fy1xc8zskb"))))
3379 (build-system go-build-system)
3380 (arguments
3381 '(#:import-path
3382 "github.com/whyrusleeping/progmeter"))
3383 (native-inputs `())
3384 (home-page
3385 "https://github.com/whyrusleeping/progmeter")
3386 (synopsis "XXX")
3387 (description "XXX")
3388 (license license:expat))))
3389
3390(define-public go-github-com-whyrusleeping-stump
3391 (let ((commit
3392 "206f8f13aae1697a6fc1f4a55799faf955971fc5")
3393 (revision "0"))
3394 (package
3395 (name "go-github-com-whyrusleeping-stump")
3396 (version (git-version "0.0.0" revision commit))
3397 (source
3398 (origin
3399 (method git-fetch)
3400 (uri (git-reference
3401 (url "https://github.com/whyrusleeping/stump.git")
3402 (commit commit)))
3403 (file-name (git-file-name name version))
3404 (sha256
3405 (base32
3406 "1s40qdppjnk8gijk7x6kbviiqz62nz3h6gic2q9cwcmq8r5isw7n"))))
3407 (build-system go-build-system)
3408 (arguments
3409 '(#:import-path "github.com/whyrusleeping/stump"))
3410 (native-inputs `())
3411 (home-page
3412 "https://github.com/whyrusleeping/stump")
3413 (synopsis "XXX")
3414 (description "XXX")
3415 (license license:expat))))
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
new file mode 100644
index 00000000000..88afa8e6cba
--- /dev/null
+++ b/gnu/packages/ipfs.scm
@@ -0,0 +1,210 @@
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
3;;;
4;;; This file is part of GNU Guix.
5;;;
6;;; GNU Guix is free software; you can redistribute it and/or modify it
7;;; under the terms of the GNU General Public License as published by
8;;; the Free Software Foundation; either version 3 of the License, or (at
9;;; your option) any later version.
10;;;
11;;; GNU Guix is distributed in the hope that it will be useful, but
12;;; WITHOUT ANY WARRANTY; without even the implied warranty of
13;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14;;; GNU General Public License for more details.
15;;;
16;;; You should have received a copy of the GNU General Public License
17;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
18
19(define-module (gnu packages ipfs)
20 #:use-module ((guix licenses) #:prefix license:)
21 #:use-module (guix packages)
22 ;; #:use-module (guix download)
23 #:use-module (guix git-download)
24 #:use-module (guix build-system go)
25 ;; #:use-module (guix build-system python)
26 ;; #:use-module (gnu packages)
27 #:use-module (gnu packages golang))
28
29(define-public go-github-com-ipfs-go-ipfs-cmdkit-files
30 (let ((commit
31 "386fcf8f18a185ec121676665fe2d9574496048d")
32 (revision "0"))
33 (package
34 (name "go-github-com-ipfs-go-ipfs-cmdkit-files")
35 (version (git-version "0.0.0" revision commit))
36 (source
37 (origin
38 (method git-fetch)
39 (uri (git-reference
40 (url "https://github.com/ipfs/go-ipfs-cmdkit.git")
41 (commit commit)))
42 (file-name (git-file-name name version))
43 (sha256
44 (base32
45 "0qk6fshgdmhp8dip2ksm13j6nywi41m9mn0czkvmw6b697z85l2r"))))
46 (build-system go-build-system)
47 (arguments
48 '(#:unpack-path "github.com/ipfs/go-ipfs-cmdkit"
49 #:import-path "github.com/ipfs/go-ipfs-cmdkit/files"))
50 (home-page
51 "https://github.com/ipfs/go-ipfs-cmdkit")
52 (synopsis "Shared types, functions and values for go-ipfs")
53 (description "@command{cmdkit} offers some types, functions and values
54that are shared between @command{go-ipfs/commands} and its rewrite @command{go-ipfs-cmds}.")
55 (license license:expat))))
56
57(define-public go-github-com-ipfs-go-ipfs-api
58 (let ((commit
59 "dafc2a13a4389ac1a6c2786e34ab70a4f26d3a3f")
60 (revision "0"))
61 (package
62 (name "go-github-com-ipfs-go-ipfs-api")
63 (version (git-version "0.0.0" revision commit))
64 (source
65 (origin
66 (method git-fetch)
67 (uri (git-reference
68 (url "https://github.com/ipfs/go-ipfs-api.git")
69 (commit commit)))
70 (file-name (git-file-name name version))
71 (sha256
72 (base32
73 "06kibnwb037sqynk99j07wm8alvxwx3bari9gdax4jv93396kycj"))))
74 (build-system go-build-system)
75 (arguments
76 '(#:import-path "github.com/ipfs/go-ipfs-api"
77 ;; TODO: Tests fail, might need network access.
78 #:tests? #f))
79 (native-inputs
80 `(("go-github-com-ipfs-go-ipfs-cmdkit-files" ,go-github-com-ipfs-go-ipfs-cmdkit-files)
81 ("go-github-com-libp2p-go-libp2p-metrics" ,go-github-com-libp2p-go-libp2p-metrics)
82 ("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics)
83 ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer)
84 ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol)
85 ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
86 ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir)
87 ("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr)
88 ("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net)
89 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
90 ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
91 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
92 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
93 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
94 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
95 ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union))
96 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
97 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
98 ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils)
99 ("go-github-com-cheekybits-is" ,go-github-com-cheekybits-is)))
100 (home-page "https://github.com/ipfs/go-ipfs-api")
101 (synopsis "Unofficial Go interface to IPFS's HTTP API")
102 (description "An unofficial Go interface to IPFS's HTTP API")
103 (license license:expat))))
104
105(define-public gx
106 (let ((commit
107 "89338e509426d2895f20086685cf4c77d64cc5df")
108 (revision "0"))
109 (package
110 (name "gx")
111 (version (git-version "0.14.0" revision commit))
112 (source
113 (origin
114 (method git-fetch)
115 (uri (git-reference
116 (url "https://github.com/whyrusleeping/gx.git")
117 (commit commit)))
118 (file-name (git-file-name name version))
119 (sha256
120 (base32
121 "08gh04jln8rxpq0j4fm4chjap162wp8cjwj9szbvj9c7123s42rd"))))
122 (build-system go-build-system)
123 (arguments
124 '(#:import-path "github.com/whyrusleeping/gx"))
125 (native-inputs
126 `(
127 ("go-github-com-blang-semver" ,go-github-com-blang-semver)
128 ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
129 ("go-github-com-ipfs-go-ipfs-api" ,go-github-com-ipfs-go-ipfs-api)
130 ("go-github-com-ipfs-go-ipfs-cmdkit-files" ,go-github-com-ipfs-go-ipfs-cmdkit-files)
131 ("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics)
132 ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
133 ("go-github-com-libp2p-go-libp2p-metrics" ,go-github-com-libp2p-go-libp2p-metrics)
134 ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer)
135 ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol)
136 ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
137 ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
138 ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir)
139 ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
140 ("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr)
141 ("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net)
142 ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
143 ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
144 ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils)
145 ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union))
146 ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
147 ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
148 ("go-github-com-sabhiram-go-gitignore" ,go-github-com-sabhiram-go-gitignore)
149 ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
150 ("go-github-com-whyrusleeping-json-filter" ,go-github-com-whyrusleeping-json-filter)
151 ("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter)
152 ("go-github-com-whyrusleeping-stump" ,go-github-com-whyrusleeping-stump)))
153 (home-page "https://github.com/whyrusleeping/gx")
154 (synopsis "@command{gx} is a packaging tool built around the
155distributed, content addressed filesystem IPFS. It aims to be flexible,
156powerful and simple.")
157 (description "XXX")
158 (license #f))))
159
160(define-public go-ipfs
161 (let ((commit
162 "9bf4e4145ea897ced2f9aa2087296b3beda6e941")
163 (revision "0"))
164 (package
165 (name "go-ipfs")
166 (version (git-version "0.4.17" revision commit))
167 (source
168 (origin
169 (method git-fetch)
170 (uri (git-reference
171 (url "https://github.com/ipfs/go-ipfs.git")
172 (commit commit)))
173 (file-name (git-file-name name version))
174 (sha256
175 (base32
176 "01zqll453gbjjfkm6jvpp49i1al8ic3pdg3ivqhyiilcsmhf8b8i"))))
177 (build-system go-build-system)
178 (arguments
179 ;; install_unsupported:
180 ;; @echo "note: this command has yet to be tested to build in the system you are using"
181 ;; @echo "installing gx"
182 ;; go get -v -u github.com/whyrusleeping/gx
183 ;; go get -v -u github.com/whyrusleeping/gx-go
184 ;; @echo check gx and gx-go
185 ;; gx -v && gx-go -v
186 ;; @echo downloading dependencies
187 ;; gx install --global
188 ;; @echo "installing go-ipfs"
189 ;; go install -v -tags nofuse ./cmd/ipfs
190 '(#:import-path "github.com/ipfs/go-ipfs/cmd/ipfs"
191 #:unpack-path "github.com/ipfs/go-ipfs"
192 #:phases
193 (modify-phases %standard-phases
194 (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
195 (lambda* (#:key outputs #:allow-other-keys)
196 (map (lambda (file)
197 (make-file-writable file))
198 (find-files
199 (assoc-ref outputs "out")
200 ".*\\.gz$"))
201 #t)))))
202 (native-inputs `())
203 (home-page "https://ipfs.io")
204 (synopsis "IPFS implementation in Go ")
205 (description "IPFS is a global, versioned, peer-to-peer filesystem. It
206combines good ideas from Git, BitTorrent, Kademlia, SFS, and the Web. It is
207like a single bittorrent swarm, exchanging git objects. IPFS provides an
208interface as simple as the HTTP web, but with permanence built in. You can
209also mount the world at /ipfs.")
210 (license license:expat))))
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 2e936eef7d8..48b52d2002c 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -298,100 +298,6 @@ structs in the Go programming language.")
298 (home-page "https://github.com/gobwas/glob") 298 (home-page "https://github.com/gobwas/glob")
299 (license expat)))) 299 (license expat))))
300 300
301(define* (go-github-com-gogo-protobuf-union
302 #:optional (packages (list go-github-com-gogo-protobuf
303 go-github-com-gogo-protobuf-protoc-gen-gogo)))
304 (package
305 (name "go-github-com-gogo-protobuf-union")
306 (version (package-version go-github-com-gogo-protobuf))
307 (source #f)
308 (build-system trivial-build-system)
309 (arguments
310 '(#:modules ((guix build union))
311 #:builder (begin
312 (use-modules (ice-9 match)
313 (guix build union))
314 (match %build-inputs
315 (((names . directories) ...)
316 (union-build (assoc-ref %outputs "out")
317 directories)
318 #t)))))
319 (inputs (map (lambda (package)
320 (list (package-name package) package))
321 packages))
322 (synopsis "Union of Go protobuf libraries")
323 (description "This is a union of Go protobuf libraries")
324 (home-page (package-home-page go-github-com-gogo-protobuf))
325 (license (package-license go-github-com-gogo-protobuf))))
326
327(define-public go-github-com-gogo-protobuf
328 (let ((commit "160de10b2537169b5ae3e7e221d28269ef40d311")
329 (revision "2"))
330 (package
331 (name "go-github-com-gogo-protobuf")
332 (version (git-version "0.5" revision commit))
333 (source (origin
334 (method git-fetch)
335 (uri (git-reference
336 (url "https://github.com/gogo/protobuf")
337 (commit commit)))
338 (file-name (git-file-name name version))
339 (sha256
340 (base32
341 "0hxq28sgxym04rv0q40gpwkh4ni359q21hq3g78wwxwx4qfd4zwm"))))
342 (build-system go-build-system)
343 (arguments
344 `(#:import-path "github.com/gogo/protobuf/proto"
345 #:unpack-path "github.com/gogo/protobuf"))
346 (propagated-inputs
347 `(("go-github-com-gogo-protobuf-protoc-gen-gogo"
348 ,go-github-com-gogo-protobuf-protoc-gen-gogo)))
349 (synopsis "Protocol Buffers for Go with Gadgets")
350 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
351generation features. This code generation is used to achieve:
352@itemize
353@item fast marshalling and unmarshalling
354@item more canonical Go structures
355@item goprotobuf compatibility
356@item less typing by optionally generating extra helper code
357@item peace of mind by optionally generating test and benchmark code
358@item other serialization formats
359@end itemize")
360 (home-page "https://github.com/gogo/protobuf")
361 (license bsd-3))))
362
363(define-public go-github-com-gogo-protobuf-protoc-gen-gogo
364 (let ((commit "efccd33a0c20aa078705571d5ddbfa14c8395a63")
365 (revision "0"))
366 (package
367 (name "go-github-com-gogo-protobuf-protoc-gen-gogo")
368 (version (git-version "0.2" revision commit))
369 (source (origin
370 (method git-fetch)
371 (uri (git-reference
372 (url "https://github.com/gogo/protobuf")
373 (commit commit)))
374 (file-name (git-file-name name version))
375 (sha256
376 (base32
377 "09kfa3aqmhh7p0rc6wd4fw5cjccidsk9vgcy13albv0g8vnbmmgw"))))
378 (build-system go-build-system)
379 (arguments
380 `(#:import-path "github.com/gogo/protobuf/protoc-gen-gogo"
381 #:unpack-path "github.com/gogo/protobuf"))
382 (synopsis "Protocol Buffers for Go with Gadgets")
383 (description "Gogoprotobuf is a fork of golang/protobuf with extra code
384generation features. This code generation is used to achieve:
385@itemize
386@item fast marshalling and unmarshalling
387@item more canonical Go structures
388@item goprotobuf compatibility
389@item less typing by optionally generating extra helper code
390@item peace of mind by optionally generating test and benchmark code
391@item other serialization formats
392@end itemize")
393 (home-page "https://github.com/gogo/protobuf")
394 (license bsd-3))))
395 301
396(define-public go-github-com-golang-groupcache-lru 302(define-public go-github-com-golang-groupcache-lru
397 (let ((commit "84a468cf14b4376def5d68c722b139b881c450a4") 303 (let ((commit "84a468cf14b4376def5d68c722b139b881c450a4")
@@ -822,44 +728,6 @@ generation.")
822 (home-page "https://github.com/vitrun/qart") 728 (home-page "https://github.com/vitrun/qart")
823 (license bsd-3)))) 729 (license bsd-3))))
824 730
825;; Go searches for library modules by looking in the GOPATH environment
826;; variable. This variable is a list of paths. However, Go does not
827;; keep searching on GOPATH if it tries and fails to import a module.
828;; So, we use a union for packages sharing a namespace.
829(define* (go-golang-org-x-crypto-union #:optional
830 (packages (list go-golang-org-x-crypto-blowfish
831 go-golang-org-x-crypto-bcrypt
832 go-golang-org-x-crypto-tea
833 go-golang-org-x-crypto-xtea
834 go-golang-org-x-crypto-pbkdf2
835 go-golang-org-x-crypto-twofish
836 go-golang-org-x-crypto-cast5
837 go-golang-org-x-crypto-salsa20)))
838 (package
839 (name "go-golang-org-x-crypto")
840 (version (package-version go-golang-org-x-crypto-bcrypt))
841 (source #f)
842 (build-system trivial-build-system)
843 (arguments
844 '(#:modules ((guix build union))
845 #:builder (begin
846 (use-modules (ice-9 match)
847 (guix build union))
848 (match %build-inputs
849 (((names . directories) ...)
850 (union-build (assoc-ref %outputs "out")
851 directories)
852 #t)))))
853 (inputs (map (lambda (package)
854 (list (package-name package) package))
855 packages))
856 (synopsis "Union of the Go x crypto libraries")
857 (description "A union of the Golang cryptographic libraries. A
858union is required because `go build` assumes that all of the headers and
859libraries are in the same directory.")
860 (home-page (package-home-page go-golang-org-x-crypto-bcrypt))
861 (license (package-license go-golang-org-x-crypto-bcrypt))))
862
863(define* (go-golang-org-x-net-union #:optional 731(define* (go-golang-org-x-net-union #:optional
864 (packages (list go-golang-org-x-net-ipv4 732 (packages (list go-golang-org-x-net-ipv4
865 go-golang-org-x-net-bpf 733 go-golang-org-x-net-bpf