about summary refs log tree commit diff
path: root/pkgs/development/compilers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/compilers')
-rw-r--r--pkgs/development/compilers/rust/rustc.nix15
1 files changed, 14 insertions, 1 deletions
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index f8f0e6df0d84..44964f53a44c 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -92,6 +92,13 @@ stdenv.mkDerivation {
 
     # Useful debugging parameter
     # export VERBOSE=1
+  '' +
+  # In src/compiler-rt/cmake/config-ix.cmake, the cmake build falls
+  # back to darwin 10.4. This causes the OS name to be recorded as
+  # "10.4" rather than the expected "osx". But mk/rt.mk expects the
+  # built library name to have an "_osx" suffix on darwin.
+  optionalString stdenv.isDarwin ''
+    substituteInPlace mk/rt.mk --replace "_osx" "_10.4"
   '';
 
   preConfigure = ''
@@ -118,7 +125,13 @@ stdenv.mkDerivation {
 
   preCheck = ''
     export TZDIR=${tzdata}/share/zoneinfo
-    ${optionalString stdenv.isDarwin "export TMPDIR=/tmp"}
+  '' +
+  # Ensure TMPDIR is set, and disable a test that removing the HOME
+  # variable from the environment falls back to another home
+  # directory.
+  optionalString stdenv.isDarwin ''
+    export TMPDIR=/tmp
+    sed -i '28s/home_dir().is_some()/true/' ./src/test/run-pass/env-home-dir.rs
   '';
 
   # Disable doCheck on Darwin to work around upstream issue