diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/rust')
4 files changed, 12 insertions, 17 deletions
diff --git a/nixpkgs/pkgs/development/compilers/rust/cargo.nix b/nixpkgs/pkgs/development/compilers/rust/cargo.nix index 65614b9480e7..dfea7f6c8ef6 100644 --- a/nixpkgs/pkgs/development/compilers/rust/cargo.nix +++ b/nixpkgs/pkgs/development/compilers/rust/cargo.nix @@ -9,8 +9,7 @@ rustPlatform.buildRustPackage { # the rust source tarball already has all the dependencies vendored, no need to fetch them again cargoVendorDir = "vendor"; - preBuild = "pushd src/tools/cargo"; - postBuild = "popd"; + buildAndTestSubdir = "src/tools/cargo"; passthru.rustc = rustc; diff --git a/nixpkgs/pkgs/development/compilers/rust/clippy.nix b/nixpkgs/pkgs/development/compilers/rust/clippy.nix index 4857b587847e..0546ad9bac1a 100644 --- a/nixpkgs/pkgs/development/compilers/rust/clippy.nix +++ b/nixpkgs/pkgs/development/compilers/rust/clippy.nix @@ -5,8 +5,7 @@ rustPlatform.buildRustPackage { # the rust source tarball already has all the dependencies vendored, no need to fetch them again cargoVendorDir = "vendor"; - preBuild = "pushd src/tools/clippy"; - postBuild = "popd"; + buildAndTestSubdir = "src/tools/clippy"; # changes hash of vendor directory otherwise dontUpdateAutotoolsGnuConfigScripts = true; 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/"; diff --git a/nixpkgs/pkgs/development/compilers/rust/rustfmt.nix b/nixpkgs/pkgs/development/compilers/rust/rustfmt.nix index f8ed0bce2e0d..66a18f40ad42 100644 --- a/nixpkgs/pkgs/development/compilers/rust/rustfmt.nix +++ b/nixpkgs/pkgs/development/compilers/rust/rustfmt.nix @@ -6,8 +6,7 @@ rustPlatform.buildRustPackage rec { # the rust source tarball already has all the dependencies vendored, no need to fetch them again cargoVendorDir = "vendor"; - preBuild = "pushd src/tools/rustfmt"; - preInstall = "popd"; + buildAndTestSubdir = "src/tools/rustfmt"; # changes hash of vendor directory otherwise dontUpdateAutotoolsGnuConfigScripts = true; @@ -17,12 +16,6 @@ rustPlatform.buildRustPackage rec { # As of 1.0.0 and rustc 1.30 rustfmt requires a nightly compiler RUSTC_BOOTSTRAP = 1; - # we run tests in debug mode so tests look for a debug build of - # rustfmt. Anyway this adds nearly no compilation time. - preCheck = '' - cargo build - ''; - meta = with stdenv.lib; { description = "A tool for formatting Rust code according to style guidelines"; homepage = "https://github.com/rust-lang-nursery/rustfmt"; |