16 src = fetchFromGitHub {
20 sha256 = "sha256-NJ2G6EkexYE4P3GD7PZ+lLEs1dqnoqIB2zfAOD5SQ8M=";
24 # Support cross platform vty 6.x with vty-crossplatform
25 # https://github.com/crytic/echidna/pull/1290
27 url = "https://github.com/crytic/echidna/commit/2913b027d7e793390ed489ef6a47d23ec9b3c800.patch";
28 hash = "sha256-5CGD9nDbDUTG869xUybWYSvGRsrm7JP7n0WMBNYfayw=";
34 libraryToolDepends = with haskellPackages; [ haskellPackages.hpack ];
36 executableHaskellDepends = with haskellPackages; [
37 # package.yaml - dependencies
82 # package.yaml - dependencies when "!os(windows)"
88 # Note: there is also a runtime dependency of slither-analyzer. So, let's include it.
89 executableSystemDepends = [ slither-analyzer ];
99 # tests depend on a specific version of solc
102 description = "Ethereum smart contract fuzzer";
103 homepage = "https://github.com/crytic/echidna";
104 license = lib.licenses.agpl3Plus;
105 maintainers = with lib.maintainers; [
109 platforms = lib.platforms.unix;
110 mainProgram = "echidna-test";
113 // lib.optionalAttrs (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64) {
115 # https://github.com/NixOS/nixpkgs/pull/304352
116 postInstall = with haskellPackages; ''
117 remove-references-to -t ${warp.out} "$out/bin/echidna"
118 remove-references-to -t ${wreq.out} "$out/bin/echidna"