From 3989b8da4341237d4a4c3334fc11d98c3c0f7ae2 Mon Sep 17 00:00:00 2001 From: Anthony Cowley Date: Sun, 2 Oct 2016 16:01:07 -0400 Subject: rustc: fix build on darwin The OS is identified as "10.4" rather than "osx". This commit removes the 'rt' build script's hard coding of the "osx" suffix when building on darwin since the cmake configuration falls back to building a 10.4 compatible libclang_rt. --- pkgs/development/compilers/rust/rustc.nix | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'pkgs/development/compilers/rust') 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 -- cgit 1.4.1