diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix index 8450dbe1771..4d8bb3fe834 100644 --- a/pkgs/development/compilers/llvm/clang.nix +++ b/pkgs/development/compilers/llvm/clang.nix @@ -1,11 +1,11 @@ -{ stdenv, fetchurl, perl, groff, llvm, cmake }: +{ stdenv, fetchurl, perl, groff, llvm, cmake, darwinInstallNameToolUtility }: let version = "3.0"; in stdenv.mkDerivation { name = "clang-${version}"; - buildInputs = [ perl llvm groff cmake ]; + buildInputs = [ perl llvm groff cmake ] ++ stdenv.lib.optional stdenv.isDarwin darwinInstallNameToolUtility; patches = stdenv.lib.optionals (stdenv.gcc.libc != null) [ ./clang-include-paths.patch ./clang-ld-flags.patch ]; @@ -33,7 +33,7 @@ stdenv.mkDerivation { description = "A C language family frontend for LLVM"; license = "BSD"; maintainers = with stdenv.lib.maintainers; [viric shlevy]; - platforms = with stdenv.lib.platforms; linux; + platforms = with stdenv.lib.platforms; all; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index caa473e3225..f706fcde770 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1665,17 +1665,12 @@ let ccl = builderDefsPackage ../development/compilers/ccl {}; - clangBootUnwrapped = callPackage ../development/compilers/llvm/clang.nix { + clangUnwrapped = callPackage ../development/compilers/llvm/clang.nix { # There is a bug in gcc-4.5 that prevents building a release build of # clang-3.0 - stdenv = stdenvAdapters.overrideGCC stdenv gcc46; - }; - - clangBoot = wrapClang clangBootUnwrapped; - - clangUnwrapped = let clangBootStdenv = stdenvAdapters.overrideGCC stdenv clangBoot; in clangBootUnwrapped.override { - stdenv = clangBootStdenv; - llvm = llvm.override { stdenv = clangBootStdenv; }; + stdenv = if stdenv.isLinux + then (stdenvAdapters.overrideGCC stdenv gcc46) + else stdenv; }; clang = wrapClang clangUnwrapped; @@ -2499,7 +2494,8 @@ let clang = baseClang; libc = glibc; shell = bash; - inherit stdenv binutils coreutils zlib; + binutils = stdenv.gcc.binutils; + inherit stdenv coreutils zlib; }; wrapClang = wrapClangWith (import ../build-support/clang-wrapper) glibc;