From 3ea54e69727b0195f25a2be909ae821223621a64 Mon Sep 17 00:00:00 2001 From: oxalica Date: Sun, 19 Jan 2020 03:34:16 +0800 Subject: rust-analyzer: init at unstable-2020-03-09 --- .../tools/rust/rust-analyzer/generic.nix | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 pkgs/development/tools/rust/rust-analyzer/generic.nix (limited to 'pkgs/development/tools/rust/rust-analyzer/generic.nix') 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; + }; +} -- cgit 1.4.1