diff options
Diffstat (limited to 'pkgs/development/compilers/rust/rustc.nix')
-rw-r--r-- | pkgs/development/compilers/rust/rustc.nix | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix index bb0794aeb84e..19c4a590e454 100644 --- a/pkgs/development/compilers/rust/rustc.nix +++ b/pkgs/development/compilers/rust/rustc.nix @@ -53,6 +53,7 @@ stdenv.mkDerivation { RUSTFLAGS = "-Ccodegen-units=10"; # We need rust to build rust. If we don't provide it, configure will try to download it. + # Reference: https://github.com/rust-lang/rust/blob/master/src/bootstrap/configure.py configureFlags = configureFlags ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ] ++ [ "--enable-vendor" ] @@ -62,6 +63,13 @@ stdenv.mkDerivation { ++ optional (targets != []) "--target=${target}" ++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}"; + # The boostrap.py will generated a Makefile that then executes the build. + # The BOOTSTRAP_ARGS used by this Makefile must include all flags to pass + # to the bootstrap builder. + postConfigure = '' + substituteInPlace Makefile --replace 'BOOTSTRAP_ARGS :=' 'BOOTSTRAP_ARGS := --jobs $(NIX_BUILD_CORES)' + ''; + patches = patches ++ targetPatches; # the rust build system complains that nix alters the checksums @@ -100,9 +108,6 @@ stdenv.mkDerivation { # Useful debugging parameter # export VERBOSE=1 - '' + optionalString stdenv.isAarch64 '' - # https://github.com/rust-lang/rust/issues/49807 - rm -vr src/test/debuginfo/by-value-self-argument-in-trait-impl.rs '' + optionalString stdenv.isDarwin '' # Disable all lldb tests. # error: Can't run LLDB test because LLDB's python path is not set |