solana-validator: 1.10 -> 1.16
* solana-validator: move env under env attr * fix build on darwin * fix build with rust 1.7x * solana-validator: use patch from github Co-authored-by: a-n-n-a-l-e-e <150648636+a-n-n-a-l-e-e@users.noreply.github.com>
This commit is contained in:
parent
4f4420dfc3
commit
5c5c0fba21
8898
pkgs/applications/blockchains/solana-validator/Cargo.lock
generated
Normal file
8898
pkgs/applications/blockchains/solana-validator/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -2,14 +2,18 @@
|
||||
|
||||
{ stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, lib
|
||||
, rustPlatform
|
||||
, pkg-config
|
||||
, darwin
|
||||
, udev
|
||||
, zlib
|
||||
, protobuf
|
||||
, openssl
|
||||
, libclang
|
||||
, libcxx
|
||||
, rocksdb
|
||||
, rustfmt
|
||||
, perl
|
||||
, hidapi
|
||||
@ -23,7 +27,6 @@
|
||||
"solana-ledger-tool"
|
||||
"solana-log-analyzer"
|
||||
"solana-net-shaper"
|
||||
"solana-sys-tuner"
|
||||
"solana-validator"
|
||||
"cargo-build-bpf"
|
||||
"cargo-test-bpf"
|
||||
@ -43,7 +46,8 @@ let
|
||||
pinData = lib.importJSON ./pin.json;
|
||||
version = pinData.version;
|
||||
hash = pinData.hash;
|
||||
cargoHash = pinData.cargoHash;
|
||||
inherit (darwin.apple_sdk_11_0) Libsystem;
|
||||
inherit (darwin.apple_sdk_11_0.frameworks) System IOKit AppKit Security;
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "solana-validator";
|
||||
@ -56,8 +60,22 @@ rustPlatform.buildRustPackage rec {
|
||||
inherit hash;
|
||||
};
|
||||
|
||||
# partly inspired by https://github.com/obsidiansystems/solana-bridges/blob/develop/default.nix#L29
|
||||
inherit cargoHash;
|
||||
# fix build with rust 1.70+
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/solana-labs/solana/commit/9e703f85de4184f577f22a1c72a0d33612f2feb1.patch";
|
||||
hash = "sha256-bAKTIQ6FhTk6bIddYULwLfdH5kzNPw1ltXJEfawtAXg=";
|
||||
includes = [ "sdk/program/src/account_info.rs" ];
|
||||
})
|
||||
];
|
||||
|
||||
cargoLock = {
|
||||
lockFile = ./Cargo.lock;
|
||||
outputHashes = {
|
||||
"crossbeam-epoch-0.9.5" = "sha256-Jf0RarsgJiXiZ+ddy0vp4jQ59J9m0k3sgXhWhCdhgws=";
|
||||
"ntapi-0.3.7" = "sha256-G6ZCsa3GWiI/FeGKiK9TWkmTxen7nwpXvm5FtjNtjWU=";
|
||||
};
|
||||
};
|
||||
|
||||
cargoBuildFlags = builtins.map (n: "--bin=${n}") solanaPkgs;
|
||||
|
||||
@ -66,19 +84,32 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
nativeBuildInputs = [ pkg-config protobuf rustfmt perl rustPlatform.bindgenHook ];
|
||||
buildInputs =
|
||||
[ openssl zlib libclang hidapi ] ++ (lib.optionals stdenv.isLinux [ udev ]);
|
||||
[ openssl zlib libclang hidapi ] ++ (lib.optionals stdenv.isLinux [ udev ])
|
||||
++ lib.optionals stdenv.isDarwin [ Security System Libsystem libcxx ];
|
||||
strictDeps = true;
|
||||
|
||||
doCheck = false;
|
||||
|
||||
env = {
|
||||
# Used by build.rs in the rocksdb-sys crate. If we don't set these, it would
|
||||
# try to build RocksDB from source.
|
||||
ROCKSDB_LIB_DIR = "${lib.getLib rocksdb}/lib";
|
||||
|
||||
# If set, always finds OpenSSL in the system, even if the vendored feature is enabled.
|
||||
OPENSSL_NO_VENDOR = "1";
|
||||
} // lib.optionalAttrs stdenv.isDarwin {
|
||||
# Require this on darwin otherwise the compiler starts rambling about missing
|
||||
# cmath functions
|
||||
CPPFLAGS = "-isystem ${lib.getDev libcxx}/include/c++/v1";
|
||||
LDFLAGS = "-L${lib.getLib libcxx}/lib";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces. ";
|
||||
homepage = "https://solana.com";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ adjacentresearch ];
|
||||
platforms = platforms.unix;
|
||||
# never built on aarch64-darwin, x86_64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
passthru.updateScript = ./update.sh;
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
{
|
||||
"version": "1.10.35",
|
||||
"hash": "sha256-y7+ogMJ5E9E/+ZaTCHWOQWG7iR+BGuVqvlNUDT++Ghc=",
|
||||
"cargoHash": "sha256-idlu9qkh2mrF6MxstRcvemKrtTGNY/InBnIDqRvDQPs"
|
||||
"version": "1.16.26",
|
||||
"hash": "sha256-0OMZO2aKoaeRCkswXDXV9Y6HnYLzpkqqFPVIW2P5TwE="
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user