solana-cli: 1.18.26 -> 2.3.8 (#440865)

authored by Yt and committed by GitHub d581d019 ac9aea21

+19 -81
-53
pkgs/by-name/so/solana-cli/crossbeam-epoch.patch
··· 1 - diff --git a/Cargo.lock b/Cargo.lock 2 - index 0194c34ed2..0d58655f70 100644 3 - --- a/Cargo.lock 4 - +++ b/Cargo.lock 5 - @@ -1419,14 +1419,14 @@ dependencies = [ 6 - 7 - [[package]] 8 - name = "crossbeam-epoch" 9 - -version = "0.9.5" 10 - -source = "git+https://github.com/anza-xyz/crossbeam?rev=fd279d707025f0e60951e429bf778b4813d1b6bf#fd279d707025f0e60951e429bf778b4813d1b6bf" 11 - +version = "0.9.16" 12 - +source = "registry+https://github.com/rust-lang/crates.io-index" 13 - +checksum = "2d2fe95351b870527a5d09bf563ed3c97c0cffb87cf1c78a591bf48bb218d9aa" 14 - dependencies = [ 15 - + "autocfg", 16 - "cfg-if 1.0.0", 17 - "crossbeam-utils", 18 - - "lazy_static", 19 - - "memoffset 0.6.4", 20 - - "scopeguard", 21 - + "memoffset 0.9.0", 22 - ] 23 - 24 - [[package]] 25 - @@ -3118,15 +3118,6 @@ dependencies = [ 26 - "libc", 27 - ] 28 - 29 - -[[package]] 30 - -name = "memoffset" 31 - -version = "0.6.4" 32 - -source = "registry+https://github.com/rust-lang/crates.io-index" 33 - -checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" 34 - -dependencies = [ 35 - - "autocfg", 36 - -] 37 - - 38 - [[package]] 39 - name = "memoffset" 40 - version = "0.7.1" 41 - diff --git a/Cargo.toml b/Cargo.toml 42 - index 2ff2094d67..a3ace4459a 100644 43 - --- a/Cargo.toml 44 - +++ b/Cargo.toml 45 - @@ -435,7 +435,7 @@ zstd = "0.11.2" 46 - 47 - [patch.crates-io] 48 - # for details, see https://github.com/anza-xyz/crossbeam/commit/fd279d707025f0e60951e429bf778b4813d1b6bf 49 - -crossbeam-epoch = { git = "https://github.com/anza-xyz/crossbeam", rev = "fd279d707025f0e60951e429bf778b4813d1b6bf" } 50 - +# crossbeam-epoch = { git = "https://github.com/anza-xyz/crossbeam", rev = "fd279d707025f0e60951e429bf778b4813d1b6bf" } 51 - 52 - # We include the following crates as our dependencies above from crates.io: 53 - #
+19 -28
pkgs/by-name/so/solana-cli/package.nix
··· 5 5 rustPlatform, 6 6 udev, 7 7 protobuf, 8 - rocksdb_8_3, 9 8 installShellFiles, 10 9 pkg-config, 11 10 openssl, 12 11 nix-update-script, 13 12 versionCheckHook, 13 + clang, 14 + libclang, 15 + rocksdb, 14 16 # Taken from https://github.com/solana-labs/solana/blob/master/scripts/cargo-install-all.sh#L84 15 17 solanaPkgs ? [ 16 - "cargo-build-bpf" 17 - "cargo-test-bpf" 18 18 "cargo-build-sbf" 19 19 "cargo-test-sbf" 20 20 "solana" 21 21 "solana-bench-tps" 22 22 "solana-faucet" 23 23 "solana-gossip" 24 - "solana-install" 24 + "agave-install" 25 25 "solana-keygen" 26 - "solana-ledger-tool" 26 + "agave-ledger-tool" 27 27 "solana-log-analyzer" 28 28 "solana-net-shaper" 29 - "solana-validator" 29 + "agave-validator" 30 30 "solana-test-validator" 31 31 ] 32 32 ++ [ ··· 36 36 ], 37 37 }: 38 38 let 39 - version = "1.18.26"; 40 - hash = "sha256-sJ0Zn5GMi64/S8zqomL/dYRVW8SOQWsP+bpcdatJC0A="; 41 - rocksdb = rocksdb_8_3; 39 + version = "2.3.8"; 40 + hash = "sha256-CqkedeQk66VXG6lQAIVGd7ci0KPltf2Qq69iErBAQGo="; 42 41 in 43 42 rustPlatform.buildRustPackage rec { 44 43 pname = "solana-cli"; 45 44 inherit version; 46 45 47 46 src = fetchFromGitHub { 48 - owner = "solana-labs"; 49 - repo = "solana"; 47 + owner = "anza-xyz"; 48 + repo = "agave"; 50 49 tag = "v${version}"; 51 50 inherit hash; 52 51 }; 53 52 54 - # The `crossbeam-epoch@0.9.5` crate used by the solana crates is their own fork, 55 - # which exists due to performance-related reasons. 56 - # The `solana-cli` build fails because this forked `crossbeam-epoch` crate contains a 57 - # symlink that points outside of the crate into the root of the repository. 58 - # This characteristic already existed in upstream `crossbeam-epoch@0.9.5`. 59 - # 60 - # As `buildRustPackage` vendors the dependencies of the `solana-cli` during the `buildPhase`, 61 - # which occurs after the `patchPhase`, this `crossbeam-epoch` is not patchable in this build. 62 - # The remaining solution is to make use of `cargoPatches` to remove the fork and bump to `crossbeam-epoch@0.9.16`, 63 - # which is the first version that removed the `build.rs`. 64 - cargoPatches = [ ./crossbeam-epoch.patch ]; 65 - 66 - cargoHash = "sha256-adzcLrOiUUYhz57gme/hEmD4E3kVcKCp0/jSoavZfjw="; 53 + cargoHash = "sha256-J7gyR7K1hauV+VrzoNzRrooLuSkjk8U6A3aFn9O2yFY="; 67 54 68 55 strictDeps = true; 69 56 cargoBuildFlags = builtins.map (n: "--bin=${n}") solanaPkgs; 57 + RUSTFLAGS = "-Amismatched_lifetime_syntaxes -Adead_code"; 58 + LIBCLANG_PATH = "${libclang.lib}/lib"; 70 59 71 60 # Even tho the tests work, a shit ton of them try to connect to a local RPC 72 61 # or access internet in other ways, eventually failing due to Nix sandbox. ··· 82 71 ]; 83 72 buildInputs = [ 84 73 openssl 74 + clang 75 + libclang 85 76 rustPlatform.bindgenHook 86 77 ] 87 78 ++ lib.optionals stdenv.hostPlatform.isLinux [ udev ]; ··· 97 88 --bash <($out/bin/solana completion --shell bash) \ 98 89 --fish <($out/bin/solana completion --shell fish) 99 90 100 - mkdir -p $out/bin/sdk/bpf 101 - cp -a ./sdk/bpf/* $out/bin/sdk/bpf/ 102 - mkdir -p $out/bin/sdk/sbf 103 - cp -a ./sdk/sbf/* $out/bin/sdk/sbf 91 + mkdir -p $out/bin/platform-tools-sdk 92 + cp -r ./platform-tools-sdk/sbf $out/bin/platform-tools-sdk 93 + 104 94 mkdir -p $out/bin/deps 105 95 find . -name libsolana_program.dylib -exec cp {} $out/bin/deps \; 106 96 find . -name libsolana_program.rlib -exec cp {} $out/bin/deps \; ··· 126 116 netfox 127 117 happysalada 128 118 aikooo7 119 + JacoMalan1 129 120 ]; 130 121 platforms = platforms.unix; 131 122 };