evcc: 0.131.4 -> 0.131.5
[NixPkgs.git] / pkgs / by-name / go / go-ethereum / package.nix
blob915b11c4dacbd0fe7a06e060be68ce7e14b464eb
1 { lib, stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit, nixosTests }:
3 let
4   # A list of binaries to put into separate outputs
5   bins = [
6     "geth"
7     "clef"
8   ];
10 in buildGoModule rec {
11   pname = "go-ethereum";
12   version = "1.14.11";
14   src = fetchFromGitHub {
15     owner = "ethereum";
16     repo = pname;
17     rev = "v${version}";
18     hash = "sha256-y4tUV5TGhvvaLTukT0jVhoBWxXQlDFVKHScQC8Ytl/A=";
19   };
21   proxyVendor = true;
22   vendorHash = "sha256-xPFTvzsHMWVyeAt7m++6v2l8m5ZvnLaIDGki/TWe5kU=";
24   doCheck = false;
26   outputs = [ "out" ] ++ bins;
28   # Move binaries to separate outputs and symlink them back to $out
29   postInstall = lib.concatStringsSep "\n" (
30     builtins.map (bin: "mkdir -p \$${bin}/bin && mv $out/bin/${bin} \$${bin}/bin/ && ln -s \$${bin}/bin/${bin} $out/bin/") bins
31   );
33   subPackages = [
34     "cmd/abidump"
35     "cmd/abigen"
36     "cmd/blsync"
37     "cmd/bootnode"
38     "cmd/clef"
39     "cmd/devp2p"
40     "cmd/era"
41     "cmd/ethkey"
42     "cmd/evm"
43     "cmd/geth"
44     "cmd/rlpdump"
45     "cmd/utils"
46   ];
48   # Following upstream: https://github.com/ethereum/go-ethereum/blob/v1.11.6/build/ci.go#L218
49   tags = [ "urfave_cli_no_docs" ];
51   # Fix for usb-related segmentation faults on darwin
52   propagatedBuildInputs =
53     lib.optionals stdenv.hostPlatform.isDarwin [ libobjc IOKit ];
55   passthru.tests = { inherit (nixosTests) geth; };
57   meta = with lib; {
58     homepage = "https://geth.ethereum.org/";
59     description = "Official golang implementation of the Ethereum protocol";
60     license = with licenses; [ lgpl3Plus gpl3Plus ];
61     maintainers = with maintainers; [ RaghavSood ];
62     mainProgram = "geth";
63   };