From c078673f07aa272309bb6d26902c5d92d25be8eb Mon Sep 17 00:00:00 2001 From: Azat Bahawi Date: Sat, 11 Jun 2022 15:52:57 +0300 Subject: [PATCH] hyperledger-fabric: 1.3.0 -> 2.4.3 --- .../tools/misc/hyperledger-fabric/default.nix | 60 ++++++++++++------- 1 file changed, 40 insertions(+), 20 deletions(-) diff --git a/pkgs/tools/misc/hyperledger-fabric/default.nix b/pkgs/tools/misc/hyperledger-fabric/default.nix index c2c48bfa7d8..ba3c9495a43 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 ]; }; }