solana-cli: 1.18.26 -> 2.3.8 (#440865)
This commit is contained in:
@@ -1,53 +0,0 @@
|
||||
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
|
||||
@@ -435,7 +435,7 @@ zstd = "0.11.2"
|
||||
|
||||
[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" }
|
||||
|
||||
# We include the following crates as our dependencies above from crates.io:
|
||||
#
|
||||
@@ -5,28 +5,28 @@
|
||||
rustPlatform,
|
||||
udev,
|
||||
protobuf,
|
||||
rocksdb_8_3,
|
||||
installShellFiles,
|
||||
pkg-config,
|
||||
openssl,
|
||||
nix-update-script,
|
||||
versionCheckHook,
|
||||
clang,
|
||||
libclang,
|
||||
rocksdb,
|
||||
# Taken from https://github.com/solana-labs/solana/blob/master/scripts/cargo-install-all.sh#L84
|
||||
solanaPkgs ? [
|
||||
"cargo-build-bpf"
|
||||
"cargo-test-bpf"
|
||||
"cargo-build-sbf"
|
||||
"cargo-test-sbf"
|
||||
"solana"
|
||||
"solana-bench-tps"
|
||||
"solana-faucet"
|
||||
"solana-gossip"
|
||||
"solana-install"
|
||||
"agave-install"
|
||||
"solana-keygen"
|
||||
"solana-ledger-tool"
|
||||
"agave-ledger-tool"
|
||||
"solana-log-analyzer"
|
||||
"solana-net-shaper"
|
||||
"solana-validator"
|
||||
"agave-validator"
|
||||
"solana-test-validator"
|
||||
]
|
||||
++ [
|
||||
@@ -36,37 +36,26 @@
|
||||
],
|
||||
}:
|
||||
let
|
||||
version = "1.18.26";
|
||||
hash = "sha256-sJ0Zn5GMi64/S8zqomL/dYRVW8SOQWsP+bpcdatJC0A=";
|
||||
rocksdb = rocksdb_8_3;
|
||||
version = "2.3.8";
|
||||
hash = "sha256-CqkedeQk66VXG6lQAIVGd7ci0KPltf2Qq69iErBAQGo=";
|
||||
in
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "solana-cli";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "solana-labs";
|
||||
repo = "solana";
|
||||
owner = "anza-xyz";
|
||||
repo = "agave";
|
||||
tag = "v${version}";
|
||||
inherit hash;
|
||||
};
|
||||
|
||||
# The `crossbeam-epoch@0.9.5` crate used by the solana crates is their own fork,
|
||||
# which exists due to performance-related reasons.
|
||||
# The `solana-cli` build fails because this forked `crossbeam-epoch` crate contains a
|
||||
# symlink that points outside of the crate into the root of the repository.
|
||||
# This characteristic already existed in upstream `crossbeam-epoch@0.9.5`.
|
||||
#
|
||||
# As `buildRustPackage` vendors the dependencies of the `solana-cli` during the `buildPhase`,
|
||||
# which occurs after the `patchPhase`, this `crossbeam-epoch` is not patchable in this build.
|
||||
# The remaining solution is to make use of `cargoPatches` to remove the fork and bump to `crossbeam-epoch@0.9.16`,
|
||||
# which is the first version that removed the `build.rs`.
|
||||
cargoPatches = [ ./crossbeam-epoch.patch ];
|
||||
|
||||
cargoHash = "sha256-adzcLrOiUUYhz57gme/hEmD4E3kVcKCp0/jSoavZfjw=";
|
||||
cargoHash = "sha256-J7gyR7K1hauV+VrzoNzRrooLuSkjk8U6A3aFn9O2yFY=";
|
||||
|
||||
strictDeps = true;
|
||||
cargoBuildFlags = builtins.map (n: "--bin=${n}") solanaPkgs;
|
||||
RUSTFLAGS = "-Amismatched_lifetime_syntaxes -Adead_code";
|
||||
LIBCLANG_PATH = "${libclang.lib}/lib";
|
||||
|
||||
# Even tho the tests work, a shit ton of them try to connect to a local RPC
|
||||
# or access internet in other ways, eventually failing due to Nix sandbox.
|
||||
@@ -82,6 +71,8 @@ rustPlatform.buildRustPackage rec {
|
||||
];
|
||||
buildInputs = [
|
||||
openssl
|
||||
clang
|
||||
libclang
|
||||
rustPlatform.bindgenHook
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isLinux [ udev ];
|
||||
@@ -97,10 +88,9 @@ rustPlatform.buildRustPackage rec {
|
||||
--bash <($out/bin/solana completion --shell bash) \
|
||||
--fish <($out/bin/solana completion --shell fish)
|
||||
|
||||
mkdir -p $out/bin/sdk/bpf
|
||||
cp -a ./sdk/bpf/* $out/bin/sdk/bpf/
|
||||
mkdir -p $out/bin/sdk/sbf
|
||||
cp -a ./sdk/sbf/* $out/bin/sdk/sbf
|
||||
mkdir -p $out/bin/platform-tools-sdk
|
||||
cp -r ./platform-tools-sdk/sbf $out/bin/platform-tools-sdk
|
||||
|
||||
mkdir -p $out/bin/deps
|
||||
find . -name libsolana_program.dylib -exec cp {} $out/bin/deps \;
|
||||
find . -name libsolana_program.rlib -exec cp {} $out/bin/deps \;
|
||||
@@ -126,6 +116,7 @@ rustPlatform.buildRustPackage rec {
|
||||
netfox
|
||||
happysalada
|
||||
aikooo7
|
||||
JacoMalan1
|
||||
];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user