diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/rust/rls/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/rust/rls/default.nix | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/nixpkgs/pkgs/development/compilers/rust/rls/default.nix b/nixpkgs/pkgs/development/compilers/rust/rls/default.nix index 4cf507fbf5c7..63a3c96a8f92 100644 --- a/nixpkgs/pkgs/development/compilers/rust/rls/default.nix +++ b/nixpkgs/pkgs/development/compilers/rust/rls/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, rustPlatform +{ stdenv, makeWrapper, fetchFromGitHub, rustPlatform , openssh, openssl, pkgconfig, cmake, zlib, curl, libiconv , CoreFoundation, Security }: @@ -10,8 +10,9 @@ rustPlatform.buildRustPackage { dontUpdateAutotoolsGnuConfigScripts = true; cargoVendorDir = "vendor"; + buildAndTestSubdir = "src/tools/rls"; + preBuild = '' - pushd src/tools/rls # client tests are flaky rm tests/client.rs ''; @@ -23,18 +24,21 @@ rustPlatform.buildRustPackage { CARGO_BUILD_RUSTFLAGS = if stdenv.isDarwin then "-C rpath" else null; nativeBuildInputs = [ pkgconfig cmake ]; - buildInputs = [ openssh openssl curl zlib libiconv rustPlatform.rust.rustc.llvm ] + buildInputs = [ openssh openssl curl zlib libiconv makeWrapper rustPlatform.rust.rustc.llvm ] ++ (stdenv.lib.optionals stdenv.isDarwin [ CoreFoundation Security ]); doCheck = true; - preInstall = "popd"; - doInstallCheck = true; installCheckPhase = '' $out/bin/rls --version ''; + RUST_SRC_PATH = rustPlatform.rustcSrc; + postInstall = '' + wrapProgram $out/bin/rls --set-default RUST_SRC_PATH ${rustPlatform.rustcSrc} + ''; + meta = with stdenv.lib; { description = "Rust Language Server - provides information about Rust programs to IDEs and other tools"; homepage = "https://github.com/rust-lang/rls/"; |