diff options
Diffstat (limited to 'pkgs/development/compilers/rust/binary.nix')
-rw-r--r-- | pkgs/development/compilers/rust/binary.nix | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/pkgs/development/compilers/rust/binary.nix b/pkgs/development/compilers/rust/binary.nix index 9ae7e51e5fef8..b84e390e0b0d7 100644 --- a/pkgs/development/compilers/rust/binary.nix +++ b/pkgs/development/compilers/rust/binary.nix @@ -1,4 +1,4 @@ -{ stdenv, makeWrapper, bash, curl, darwin +{ stdenv, makeWrapper, bash, curl, darwin, zlib , version , src , platform @@ -42,17 +42,23 @@ rec { ./install.sh --prefix=$out \ --components=${installComponents} - ${optionalString (stdenv.isLinux && bootstrapping) '' + ${optionalString (stdenv.isLinux && bootstrapping) ('' patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ "$out/bin/rustc" + '' + optionalString (stdenv.lib.versionAtLeast version "1.46") + # rustc bootstrap needs libz starting from 1.46 + '' + ln -s ${zlib}/lib/libz.so.1 $out/lib/libz.so.1 + ln -s ${zlib}/lib/libz.so $out/lib/libz.so + '' + '' patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ "$out/bin/rustdoc" patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ "$out/bin/cargo" - ''} + '')} # Do NOT, I repeat, DO NOT use `wrapProgram` on $out/bin/rustc # (or similar) here. It causes strange effects where rustc loads |