commit
04278f69e2
@ -1,42 +1,60 @@ |
|||||||
{ rustPlatform, lib, fetchFromGitHub |
{ rustPlatform, lib, fetchFromGitHub |
||||||
, zlib, elfutils, openssl |
, zlib, openssl |
||||||
, cmake, python3, pkg-config, protobuf, perl, llvmPackages |
, pkg-config, protobuf, llvmPackages |
||||||
}: |
}: |
||||||
rustPlatform.buildRustPackage rec { |
rustPlatform.buildRustPackage rec { |
||||||
#https://github.com/near/nearcore |
|
||||||
pname = "nearcore"; |
pname = "nearcore"; |
||||||
version = "1.25.0"; |
version = "1.26.0"; |
||||||
|
|
||||||
|
# https://github.com/near/nearcore/tags |
||||||
src = fetchFromGitHub { |
src = fetchFromGitHub { |
||||||
owner = "near"; |
owner = "near"; |
||||||
repo = "nearcore"; |
repo = "nearcore"; |
||||||
# there is also a branch for this version number, so we need to be explicit |
# there is also a branch for this version number, so we need to be explicit |
||||||
rev = "refs/tags/${version}"; |
rev = "refs/tags/${version}"; |
||||||
sha256 = "sha256-7hiBqJLGIf+kNKJvMQ7KtGZm/SWLY3pT7YDlwbm3HDM="; |
sha256 = "sha256-N3A+hy5I1/yJ3IN9gDw3m1IZ9qK8LNhn3fuXLMn23bg="; |
||||||
}; |
}; |
||||||
|
|
||||||
cargoSha256 = "sha256-EGv4CibSHL9oTAdWK7d/SOzZWPcEB16hTWlWHjKU4wc="; |
cargoSha256 = "sha256-g07liit048TSL73wFyDK+eKu33Z6fPJcJ+VeGgTtuS8="; |
||||||
|
|
||||||
|
postPatch = '' |
||||||
|
substituteInPlace neard/build.rs \ |
||||||
|
--replace 'get_git_version()?' '"nix:${version}"' |
||||||
|
''; |
||||||
|
|
||||||
|
CARGO_PROFILE_RELEASE_CODEGEN_UNITS = "1"; |
||||||
|
CARGO_PROFILE_RELEASE_LTO = "fat"; |
||||||
|
NEAR_RELEASE_BUILD = "release"; |
||||||
|
|
||||||
|
OPENSSL_NO_VENDOR = 1; # we want to link to OpenSSL provided by Nix |
||||||
|
|
||||||
# don't build SDK samples that require wasm-enabled rust |
# don't build SDK samples that require wasm-enabled rust |
||||||
cargoBuildFlags = [ "-p" "neard" ]; |
buildAndTestSubdir = "neard"; |
||||||
doCheck = false; # needs network |
doCheck = false; # needs network |
||||||
|
|
||||||
buildInputs = [ zlib elfutils openssl ]; |
buildInputs = [ |
||||||
|
zlib |
||||||
|
openssl |
||||||
|
]; |
||||||
|
|
||||||
nativeBuildInputs = [ |
nativeBuildInputs = [ |
||||||
cmake |
|
||||||
python3 |
|
||||||
pkg-config |
pkg-config |
||||||
protobuf |
protobuf |
||||||
perl |
|
||||||
]; |
]; |
||||||
|
|
||||||
|
# fat LTO requires ~3.4GB RAM |
||||||
|
requiredSystemFeatures = [ "big-parallel" ]; |
||||||
|
|
||||||
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; |
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib"; |
||||||
BINDGEN_EXTRA_CLANG_ARGS = "-isystem ${llvmPackages.libclang.lib}/lib/clang/${lib.getVersion llvmPackages.clang}/include"; |
BINDGEN_EXTRA_CLANG_ARGS = "-isystem ${llvmPackages.libclang.lib}/lib/clang/${lib.getVersion llvmPackages.clang}/include"; |
||||||
|
|
||||||
meta = with lib; { |
meta = with lib; { |
||||||
description = "Reference client for NEAR Protocol"; |
description = "Reference client for NEAR Protocol"; |
||||||
homepage = "https://github.com/near/nearcore"; |
homepage = "https://github.com/near/nearcore"; |
||||||
license = licenses.mit; |
license = licenses.gpl3; |
||||||
maintainers = with maintainers; [ mic92 ]; |
maintainers = with maintainers; [ mic92 mikroskeem ]; |
||||||
platforms = platforms.unix; |
# only x86_64 is supported in nearcore because of sse4+ support, macOS might |
||||||
|
# be also possible |
||||||
|
platforms = [ "x86_64-linux" ]; |
||||||
}; |
}; |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue