2020-04-24 23:36:52 +00:00
|
|
|
{ lib
|
|
|
|
, fetchFromGitHub
|
|
|
|
, rustPlatform
|
|
|
|
, cmake
|
|
|
|
, llvmPackages
|
|
|
|
, openssl
|
|
|
|
, pkg-config
|
2020-11-12 09:05:59 +00:00
|
|
|
, stdenv
|
2020-04-24 23:36:52 +00:00
|
|
|
, systemd
|
2020-11-12 09:05:59 +00:00
|
|
|
, darwin
|
2020-04-24 23:36:52 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
rustPlatform.buildRustPackage rec {
|
2020-08-20 17:08:02 +00:00
|
|
|
pname = "openethereum";
|
2021-04-17 00:35:05 +00:00
|
|
|
version = "3.2.4";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
2020-08-20 17:08:02 +00:00
|
|
|
owner = "openethereum";
|
|
|
|
repo = "openethereum";
|
2020-04-24 23:36:52 +00:00
|
|
|
rev = "v${version}";
|
2021-04-17 00:35:05 +00:00
|
|
|
sha256 = "143w0b0ff1s73qzr844l25w90d2y2z0b3w2fr5kkbc1wsnpcq7jp";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
|
2021-04-17 00:35:05 +00:00
|
|
|
cargoSha256 = "1gm02pcfll362add8a0dcb0sk0mag8z0q23b87yb6fs870bqvhib";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
|
|
|
|
nativeBuildInputs = [
|
|
|
|
cmake
|
|
|
|
llvmPackages.clang
|
|
|
|
llvmPackages.libclang
|
|
|
|
pkg-config
|
|
|
|
];
|
|
|
|
|
2020-11-12 09:05:59 +00:00
|
|
|
buildInputs = [ openssl ]
|
2021-01-17 00:15:33 +00:00
|
|
|
++ lib.optionals stdenv.isLinux [ systemd ]
|
|
|
|
++ lib.optionals stdenv.isDarwin [ darwin.Security ];
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
cargoBuildFlags = [ "--features final" ];
|
|
|
|
|
2021-02-19 19:06:45 +00:00
|
|
|
# Fix tests by preventing them from writing to /homeless-shelter.
|
|
|
|
preCheck = ''
|
|
|
|
export HOME=$(mktemp -d)
|
|
|
|
'';
|
|
|
|
|
|
|
|
# Exclude some tests that don't work in the sandbox
|
|
|
|
# - Nat test requires network access
|
|
|
|
checkFlags = "--skip configuration::tests::should_resolve_external_nat_hosts";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
meta = with lib; {
|
|
|
|
description = "Fast, light, robust Ethereum implementation";
|
2020-08-20 17:08:02 +00:00
|
|
|
homepage = "http://parity.io/ethereum";
|
2020-04-24 23:36:52 +00:00
|
|
|
license = licenses.gpl3;
|
|
|
|
maintainers = with maintainers; [ akru xrelkd ];
|
2021-01-17 00:15:33 +00:00
|
|
|
platforms = lib.platforms.unix;
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
}
|