diff options
author | oxalica <oxalicc@pm.me> | 2020-01-19 03:34:16 +0800 |
---|---|---|
committer | oxalica <oxalicc@pm.me> | 2020-03-10 19:12:35 +0800 |
commit | 3ea54e69727b0195f25a2be909ae821223621a64 (patch) | |
tree | 897b5c71f5fc4f53dbd22379784978255c747916 /pkgs/development/tools/rust/rust-analyzer/generic.nix | |
parent | 5a8777ae505512bacf37f4bb68631289fb8a9031 (diff) | |
download | nixpkgs-3ea54e69727b0195f25a2be909ae821223621a64.tar nixpkgs-3ea54e69727b0195f25a2be909ae821223621a64.tar.gz nixpkgs-3ea54e69727b0195f25a2be909ae821223621a64.tar.bz2 nixpkgs-3ea54e69727b0195f25a2be909ae821223621a64.tar.lz nixpkgs-3ea54e69727b0195f25a2be909ae821223621a64.tar.xz nixpkgs-3ea54e69727b0195f25a2be909ae821223621a64.tar.zst nixpkgs-3ea54e69727b0195f25a2be909ae821223621a64.zip |
rust-analyzer: init at unstable-2020-03-09
Diffstat (limited to 'pkgs/development/tools/rust/rust-analyzer/generic.nix')
-rw-r--r-- | pkgs/development/tools/rust/rust-analyzer/generic.nix | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/development/tools/rust/rust-analyzer/generic.nix b/pkgs/development/tools/rust/rust-analyzer/generic.nix new file mode 100644 index 00000000000..de755ec17ff --- /dev/null +++ b/pkgs/development/tools/rust/rust-analyzer/generic.nix @@ -0,0 +1,45 @@ +{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin +, useJemalloc ? false +, doCheck ? true + +# Version specific args +, rev, version, sha256, cargoSha256 }: + +rustPlatform.buildRustPackage { + pname = "rust-analyzer-unwrapped"; + inherit version cargoSha256; + + src = fetchFromGitHub { + owner = "rust-analyzer"; + repo = "rust-analyzer"; + inherit rev sha256; + }; + + preBuild = "pushd crates/rust-analyzer"; + # Do not checking other crates in checkPhase. + preInstall = "popd"; + + cargoBuildFlags = lib.optional useJemalloc "--features=jemalloc"; + + nativeBuildInputs = lib.optionals doCheck [ rustPlatform.rustcSrc ]; + + buildInputs = lib.optionals stdenv.hostPlatform.isDarwin + [ darwin.apple_sdk.frameworks.CoreServices ]; + + inherit doCheck; + # Skip tests running `rustup` for `cargo fmt`. + preCheck = '' + fakeRustup=$(mktemp -d) + ln -s $(command -v true) $fakeRustup/rustup + export PATH=$PATH''${PATH:+:}$fakeRustup + export RUST_SRC_PATH=${rustPlatform.rustcSrc} + ''; + + meta = with stdenv.lib; { + description = "An experimental modular compiler frontend for the Rust language"; + homepage = "https://github.com/rust-analyzer/rust-analyzer"; + license = with licenses; [ mit asl20 ]; + maintainers = with maintainers; [ oxalica ]; + platforms = platforms.all; + }; +} |