about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorLuka Blaskovic <lblasc@tvbeat.com>2020-06-07 14:12:28 +0000
committerLuka Blaskovic <lblasc@tvbeat.com>2020-06-07 14:18:41 +0000
commitf7bc0a3996a7b4d5fab08c404edaba0eeff31043 (patch)
treecfdaac1b925819c5b2413ba55ae16273b0519353 /pkgs
parent0710b5afecd55b059212d7d127a0b7625846661e (diff)
downloadnixlib-f7bc0a3996a7b4d5fab08c404edaba0eeff31043.tar
nixlib-f7bc0a3996a7b4d5fab08c404edaba0eeff31043.tar.gz
nixlib-f7bc0a3996a7b4d5fab08c404edaba0eeff31043.tar.bz2
nixlib-f7bc0a3996a7b4d5fab08c404edaba0eeff31043.tar.lz
nixlib-f7bc0a3996a7b4d5fab08c404edaba0eeff31043.tar.xz
nixlib-f7bc0a3996a7b4d5fab08c404edaba0eeff31043.tar.zst
nixlib-f7bc0a3996a7b4d5fab08c404edaba0eeff31043.zip
rls: set RUST_SRC_PATH
rls has racer baked in which needs to know where the rust source
is to be able to do completion for std libs. By default rls will use:
$(rustc --print sysroot)/lib/rustlib/src/rust/src
which is nonexistent, this commit sets the correct source path
in a same way like it's done in racer expression.
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/rust/rls/default.nix9
1 files changed, 7 insertions, 2 deletions
diff --git a/pkgs/development/compilers/rust/rls/default.nix b/pkgs/development/compilers/rust/rls/default.nix
index 4cf507fbf5c7..05a9d5049a4f 100644
--- a/pkgs/development/compilers/rust/rls/default.nix
+++ b/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 }:
 
@@ -23,7 +23,7 @@ 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;
@@ -35,6 +35,11 @@ rustPlatform.buildRustPackage {
     $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/";