about summary refs log tree commit diff
path: root/pkgs/tools/misc/hyperledger-fabric/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/misc/hyperledger-fabric/default.nix')
-rw-r--r--pkgs/tools/misc/hyperledger-fabric/default.nix60
1 files changed, 40 insertions, 20 deletions
diff --git a/pkgs/tools/misc/hyperledger-fabric/default.nix b/pkgs/tools/misc/hyperledger-fabric/default.nix
index c2c48bfa7d80d..ba3c9495a43f1 100644
--- a/pkgs/tools/misc/hyperledger-fabric/default.nix
+++ b/pkgs/tools/misc/hyperledger-fabric/default.nix
@@ -1,35 +1,55 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "hyperledger-fabric";
-  version = "1.3.0";
-
-  goPackagePath = "github.com/hyperledger/fabric";
-
-  # taken from https://github.com/hyperledger/fabric/blob/v1.3.0/Makefile#L108
-  subPackages = [
-    "common/tools/configtxgen"
-    "common/tools/configtxlator"
-    "common/tools/cryptogen"
-    "common/tools/idemixgen"
-    "cmd/discover"
-    "peer"
-    "orderer"
-  ];
+  version = "2.4.3";
+  commit = "9711fb5d0c16297584f5c53123f589110828736f";
 
   src = fetchFromGitHub {
     owner = "hyperledger";
     repo = "fabric";
     rev = "v${version}";
-    sha256 = "08qrrxzgkqg9v7n3y8f2vggyqx9j65wisxi17hrabz5mzaq299xs";
+    sha256 = "sha256-gXVahzpuIUWAHq4gJ1rbq943zIuWrl/ojDMQDFfI14I=";
   };
 
-  doCheck = true;
+  vendorSha256 = null;
+
+  postPatch = ''
+    # Broken
+    rm cmd/peer/main_test.go
+  '';
+
+  subPackages = [
+    "cmd/configtxgen"
+    "cmd/configtxlator"
+    "cmd/cryptogen"
+    "cmd/discover"
+    "cmd/ledgerutil"
+    "cmd/orderer"
+    "cmd/osnadmin"
+    "cmd/peer"
+  ];
+
+  ldflags = lib.mapAttrsToList
+    (n: v: "github.com/hyperledger/fabric/common/metadata.${n}=${v}") {
+      Version = version;
+      CommitSha = commit;
+    };
 
   meta = with lib; {
-    description = "An implementation of blockchain technology, leveraging familiar and proven technologies";
+    description = "High-performance, secure, permissioned blockchain network";
+    longDescription = ''
+      Hyperledger Fabric is an enterprise-grade permissioned distributed ledger
+      framework for developing solutions and applications. Its modular and
+      versatile design satisfies a broad range of industry use cases. It offers
+      a unique approach to consensus that enables performance at scale while
+      preserving privacy.
+    '';
     homepage = "https://wiki.hyperledger.org/display/fabric";
     license = licenses.asl20;
-    maintainers = [ maintainers.marsam ];
+    maintainers = with maintainers; [ marsam ];
   };
 }