about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2011-12-19 23:58:57 +0000
committerShea Levy <shea@shealevy.com>2011-12-19 23:58:57 +0000
commitec305ac161ab11d09e6fd0e62db7d007cd1ed26e (patch)
tree57412a92f2e41a3ffc01341de134876a791a330f /pkgs
parent66b4a5a009bcf5acd440e9f0fd4702d8de630f04 (diff)
downloadnixlib-ec305ac161ab11d09e6fd0e62db7d007cd1ed26e.tar
nixlib-ec305ac161ab11d09e6fd0e62db7d007cd1ed26e.tar.gz
nixlib-ec305ac161ab11d09e6fd0e62db7d007cd1ed26e.tar.bz2
nixlib-ec305ac161ab11d09e6fd0e62db7d007cd1ed26e.tar.lz
nixlib-ec305ac161ab11d09e6fd0e62db7d007cd1ed26e.tar.xz
nixlib-ec305ac161ab11d09e6fd0e62db7d007cd1ed26e.tar.zst
nixlib-ec305ac161ab11d09e6fd0e62db7d007cd1ed26e.zip
clang builds on darwin now
Also, get rid of the clang bootstrap, there's no need for it

svn path=/nixpkgs/trunk/; revision=30973
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/llvm/clang.nix6
-rw-r--r--pkgs/top-level/all-packages.nix16
2 files changed, 9 insertions, 13 deletions
diff --git a/pkgs/development/compilers/llvm/clang.nix b/pkgs/development/compilers/llvm/clang.nix
index 8450dbe17710..4d8bb3fe834e 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 caa473e32254..f706fcde7704 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;