Loading maintainers/maintainer-list.nix +6 −0 Original line number Diff line number Diff line Loading @@ -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"; pkgs/by-name/so/solana-agave/crossbeam-epoch.patch 0 → 100644 +49 −0 Original line number Diff line number Diff line 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" } pkgs/by-name/so/solana-agave/package.nix 0 → 100644 +103 −0 Original line number Diff line number Diff line { 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"; }; }) Loading
maintainers/maintainer-list.nix +6 −0 Original line number Diff line number Diff line Loading @@ -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";
pkgs/by-name/so/solana-agave/crossbeam-epoch.patch 0 → 100644 +49 −0 Original line number Diff line number Diff line 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" }
pkgs/by-name/so/solana-agave/package.nix 0 → 100644 +103 −0 Original line number Diff line number Diff line { 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"; }; })