solana-agave: init at 2.1.21 (#394782)
This commit is contained in:
@@ -27065,6 +27065,12 @@
|
||||
githubId = 67477750;
|
||||
name = "Tomkoid";
|
||||
};
|
||||
TomMD = {
|
||||
name = "Thomas M. DuBuisson";
|
||||
email = "thomas.dubuisson@gmail.com";
|
||||
github = "TomMD";
|
||||
githubId = 137806;
|
||||
};
|
||||
Tommimon = {
|
||||
name = "Tommaso Montanari";
|
||||
email = "sefymw7q8@mozmail.com";
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index 0194c34ed2..0d58655f70 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -1419,14 +1419,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-epoch"
|
||||
-version = "0.9.5"
|
||||
-source = "git+https://github.com/anza-xyz/crossbeam?rev=fd279d707025f0e60951e429bf778b4813d1b6bf#fd279d707025f0e60951e429bf778b4813d1b6bf"
|
||||
+version = "0.9.16"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa"
|
||||
dependencies = [
|
||||
+ "autocfg",
|
||||
"cfg-if 1.0.0",
|
||||
"crossbeam-utils",
|
||||
- "lazy_static",
|
||||
- "memoffset 0.6.4",
|
||||
- "scopeguard",
|
||||
+ "memoffset 0.9.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3118,15 +3118,6 @@ dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
-[[package]]
|
||||
-name = "memoffset"
|
||||
-version = "0.6.4"
|
||||
-source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
|
||||
-dependencies = [
|
||||
- "autocfg",
|
||||
-]
|
||||
-
|
||||
[[package]]
|
||||
name = "memoffset"
|
||||
version = "0.7.1"
|
||||
diff --git a/Cargo.toml b/Cargo.toml
|
||||
index 2ff2094d67..a3ace4459a 100644
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -665,4 +665,4 @@
|
||||
[patch.crates-io]
|
||||
# for details, see https://github.com/anza-xyz/crossbeam/commit/fd279d707025f0e60951e429bf778b4813d1b6bf
|
||||
-crossbeam-epoch = { git = "https://github.com/anza-xyz/crossbeam", rev = "fd279d707025f0e60951e429bf778b4813d1b6bf" }
|
||||
+# crossbeam-epoch = { git = "https://github.com/anza-xyz/crossbeam", rev = "fd279d707025f0e60951e429bf778b4813d1b6bf" }
|
||||
@@ -0,0 +1,103 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
buildPackages,
|
||||
fetchFromGitHub,
|
||||
rustPlatform,
|
||||
rustfmt,
|
||||
installShellFiles,
|
||||
pkg-config,
|
||||
apple-sdk_15,
|
||||
udev,
|
||||
openssl,
|
||||
libz,
|
||||
protobuf,
|
||||
cmake,
|
||||
gnumake,
|
||||
clang,
|
||||
llvm,
|
||||
llvmPackages,
|
||||
rocksdb,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (finalAttrs: {
|
||||
pname = "solana-agave";
|
||||
version = "2.3.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "anza-xyz";
|
||||
repo = "agave";
|
||||
tag = "v${finalAttrs.version}";
|
||||
hash = "sha256-25UgiC5jAnlNE8Z7WrQRIviCuFp4zg57ddYA4h0qJ6U=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-SVngabz9mrYNn7DlL7Rh7llvO4GmJdt5vpXVcjwqtNg=";
|
||||
|
||||
# For the same reason as discussed in solana-cli derivation (crossbeam softlink), the no_atomic file is missing
|
||||
# and either must somehow be rendered unneeded (using an upstream package) or replaced. A cleaner, non-behavior-changing,
|
||||
# solution would be to commit the file to the repo fork (replacing the softlink).
|
||||
cargoPatches = [
|
||||
./crossbeam-epoch.patch
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
protobuf
|
||||
cmake
|
||||
gnumake
|
||||
clang
|
||||
llvm
|
||||
llvmPackages.bintools
|
||||
openssl.dev
|
||||
pkg-config
|
||||
rustfmt
|
||||
];
|
||||
buildInputs = [
|
||||
openssl
|
||||
libz
|
||||
rustPlatform.bindgenHook
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [ apple-sdk_15 ]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ udev ];
|
||||
|
||||
doInstallCheck = false;
|
||||
|
||||
env = {
|
||||
# If set, always finds OpenSSL in the system, even if the vendored feature is enabled.
|
||||
OPENSSL_NO_VENDOR = 1;
|
||||
# Agave uses deny(warnings) which breaks when nixpkgs updates rustc.
|
||||
# Cap lints to warnings so the build doesn't fail on new compiler lints.
|
||||
RUSTFLAGS = "--cap-lints warn";
|
||||
# Use the pre-built rocksdb from nixpkgs instead of compiling from source.
|
||||
# This avoids GCC 13+ compatibility issues with missing <cstdint> includes.
|
||||
ROCKSDB_LIB_DIR = "${rocksdb}/lib";
|
||||
};
|
||||
|
||||
# Disabling tests because:
|
||||
#
|
||||
# ```
|
||||
# running 3 tests
|
||||
# test args::tests::test_max_genesis_archive_unpacked_size_constant ... ok
|
||||
# test bigtable::tests::test_missing_blocks ... ok
|
||||
# error: test failed, to rerun pass `-p agave-ledger-tool --bin agave-ledger-tool`
|
||||
#
|
||||
# Caused by:
|
||||
# process didn't exit successfully: `/build/source/target/x86_64-unknown-linux-gnu/release/deps/agave_ledger_tool-b8aca978c218ed51` (signal: 4, SIGILL: illegal instruction)
|
||||
# ```
|
||||
#
|
||||
# Almost certainly caused by the ledger-tool test calling `Command::cargo_bin` which assumes a good bit about the current environment.
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Solana Network Validator";
|
||||
homepage = "https://github.com/anza-xyz/agave";
|
||||
changelog = "https://github.com/anza-xyz/agave/releases/tag/${finalAttrs.version}";
|
||||
license = with lib.licenses; [
|
||||
asl20
|
||||
];
|
||||
maintainers = with lib.maintainers; [
|
||||
TomMD
|
||||
];
|
||||
mainProgram = "agave";
|
||||
};
|
||||
})
|
||||
Reference in New Issue
Block a user