Merge pull request #77972 from LnL7/enable-rustc-dev

rustPackages: make rustc-dev optional
This commit is contained in:
Daiderd Jordan 2020-01-20 13:36:48 +01:00 committed by GitHub
commit 778f317820
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 1 deletions

View File

@ -1,6 +1,7 @@
import ./default.nix {
rustcVersion = "1.38.0";
rustcSha256 = "101dlpsfkq67p0hbwx4acqq6n90dj4bbprndizpgh1kigk566hk4";
enableRustcDev = false;
# Note: the version MUST be one version prior to the version we're
# building

View File

@ -1,5 +1,6 @@
{ rustcVersion
, rustcSha256
, enableRustcDev ? true
, bootstrapVersion
, bootstrapHashes
, selectRustPackage
@ -70,6 +71,7 @@
rustc = self.callPackage ./rustc.nix ({
version = rustcVersion;
sha256 = rustcSha256;
inherit enableRustcDev;
# Use boot package set to break cycle
rustPlatform = bootRustPlatform;

View File

@ -4,6 +4,7 @@
, pkgconfig, openssl
, which, libffi
, withBundledLLVM ? false
, enableRustcDev ? true
, version
, sha256
}:
@ -132,12 +133,13 @@ in stdenv.mkDerivation rec {
outputs = [ "out" "man" "doc" ];
setOutputFlags = false;
postInstall = ''
postInstall = stdenv.lib.optionalString enableRustcDev ''
# install rustc-dev components. Necessary to build rls, clippy...
python x.py dist rustc-dev
tar xf build/dist/rustc-dev*tar.gz
cp -r rustc-dev*/rustc-dev*/lib/* $out/lib/
'' + ''
# remove references to llvm-config in lib/rustlib/x86_64-unknown-linux-gnu/codegen-backends/librustc_codegen_llvm-llvm.so
# and thus a transitive dependency on ncurses
find $out/lib -name "*.so" -type f -exec remove-references-to -t ${llvmShared} '{}' '+'