diff --git a/pkgs/development/tools/rust/rust-analyzer/generic.nix b/pkgs/development/tools/rust/rust-analyzer/generic.nix index ae6ad80cdd9a..d1dab3423bc5 100644 --- a/pkgs/development/tools/rust/rust-analyzer/generic.nix +++ b/pkgs/development/tools/rust/rust-analyzer/generic.nix @@ -24,6 +24,8 @@ rustPlatform.buildRustPackage { buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.CoreServices ]; + RUST_ANALYZER_REV = rev; + inherit doCheck; # Skip tests running `rustup` for `cargo fmt`. preCheck = '' @@ -33,6 +35,15 @@ rustPlatform.buildRustPackage { export RUST_SRC_PATH=${rustPlatform.rustcSrc} ''; + doInstallCheck = true; + installCheckPhase = '' + runHook preInstallCheck + versionOutput="$($out/bin/rust-analyzer --version)" + echo "'rust-analyzer --version' returns: $versionOutput" + [[ "$versionOutput" == "rust-analyzer ${rev}" ]] + runHook postInstallCheck + ''; + meta = with stdenv.lib; { description = "An experimental modular compiler frontend for the Rust language"; homepage = "https://github.com/rust-analyzer/rust-analyzer";