50 lines
1.2 KiB
Nix
50 lines
1.2 KiB
Nix
{ lib
|
|
, fetchFromGitHub
|
|
, rustPlatform
|
|
, cmake
|
|
, llvmPackages
|
|
, openssl
|
|
, pkg-config
|
|
, stdenv
|
|
, systemd
|
|
, darwin
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
pname = "openethereum";
|
|
version = "3.3.5";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "openethereum";
|
|
repo = "openethereum";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-PpRRoufuZ9fXbLonMAo6qaA/jtJZXW98uM0BEXdJ2oU=";
|
|
};
|
|
|
|
cargoSha256 = "sha256-xXUNXQvVq6XqW/hmCfJ2/mHKkZu0amRZ77vX+Jib0iM=";
|
|
|
|
nativeBuildInputs = [ cmake pkg-config ];
|
|
|
|
buildInputs = [ openssl ]
|
|
++ lib.optionals stdenv.isLinux [ systemd ]
|
|
++ lib.optionals stdenv.isDarwin [ darwin.Security ];
|
|
|
|
buildFeatures = [ "final" ];
|
|
|
|
# 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";
|
|
|
|
meta = with lib; {
|
|
description = "Fast, light, robust Ethereum implementation";
|
|
homepage = "http://parity.io/ethereum";
|
|
license = licenses.gpl3;
|
|
maintainers = with maintainers; [ akru ];
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
}
|