about summary refs log tree commit diff
path: root/pkgs/stdenv/darwin/default.nix
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2018-06-14 10:22:33 -0400
committerJohn Ericson <John.Ericson@Obsidian.Systems>2018-06-14 19:22:15 -0400
commit6e7e22da70850e18d7949b95b215c011b9afda70 (patch)
treea3f196df67a891974613a40c4f064fd09e0fc2fb /pkgs/stdenv/darwin/default.nix
parentfc9644d4c9c9d29958e9bcf1676d48d4b3026bb4 (diff)
downloadnixlib-6e7e22da70850e18d7949b95b215c011b9afda70.tar
nixlib-6e7e22da70850e18d7949b95b215c011b9afda70.tar.gz
nixlib-6e7e22da70850e18d7949b95b215c011b9afda70.tar.bz2
nixlib-6e7e22da70850e18d7949b95b215c011b9afda70.tar.lz
nixlib-6e7e22da70850e18d7949b95b215c011b9afda70.tar.xz
nixlib-6e7e22da70850e18d7949b95b215c011b9afda70.tar.zst
nixlib-6e7e22da70850e18d7949b95b215c011b9afda70.zip
llvm 5: split out compiler-rt and remove libcxxabi dep
We already did them on non-mass-rebuild llvm 6. Also, this allows
simplifying the stdenv booting.

We were missing the libcxxabi dep in compile-rt in llvm 6, so fixed that
too.
Diffstat (limited to 'pkgs/stdenv/darwin/default.nix')
-rw-r--r--pkgs/stdenv/darwin/default.nix40
1 files changed, 16 insertions, 24 deletions
diff --git a/pkgs/stdenv/darwin/default.nix b/pkgs/stdenv/darwin/default.nix
index 7ef74c5ea7df..ee57c9e4e625 100644
--- a/pkgs/stdenv/darwin/default.nix
+++ b/pkgs/stdenv/darwin/default.nix
@@ -239,9 +239,11 @@ in rec {
         openssh sqlite sed serf openldap db cyrus-sasl expat apr-util
         findfreetype libssh curl cmake autoconf automake libtool cpio;
 
-      llvmPackages_5 = super.llvmPackages_5 // {
-        inherit (llvmPackages_5) libcxx libcxxabi;
-      };
+      llvmPackages_5 = super.llvmPackages_5 // (let
+        libraries = super.llvmPackages_5.libraries.extend (_: _: {
+          inherit (llvmPackages_5) libcxx libcxxabi;
+        });
+      in { inherit libraries; } // libraries);
 
       darwin = super.darwin // {
         inherit (darwin)
@@ -280,12 +282,14 @@ in rec {
         coreutils findutils diffutils patchutils;
 
       llvmPackages_5 = super.llvmPackages_5 // (let
-        tools = super.llvmPackages_5.tools.extend (_: _: {
-          llvm = llvmPackages_5.llvm.override { inherit libcxxabi; };
-          clang-unwrapped = llvmPackages_5.clang-unwrapped.override { llvm = self.llvmPackages_5.llvm; };
+        tools = super.llvmPackages_5.tools.extend (llvmSelf: _: {
+          inherit (llvmPackages_5) llvm;
+          # The .override that was here before had the side affect of removing
+          # the hacked-in "man" output.
+          clang-unwrapped = builtins.removeAttrs llvmPackages_5.clang-unwrapped [ "man" ];
         });
-        libraries = super.llvmPackages_5.libraries.extend (_: _: {
-          inherit (llvmPackages_5) libcxx libcxxabi;
+        libraries = super.llvmPackages_5.libraries.extend (llvmSelf: _: {
+          inherit (llvmPackages_5) libcxx libcxxabi compiler-rt;
         });
       in { inherit tools libraries; } // tools // libraries);
 
@@ -327,7 +331,7 @@ in rec {
           inherit (llvmPackages_5) llvm clang-unwrapped;
         });
         libraries = super.llvmPackages_5.libraries.extend (_: _: {
-          inherit (llvmPackages_5) libcxx libcxxabi;
+          inherit (llvmPackages_5) compiler-rt libcxx libcxxabi;
         });
       in { inherit tools libraries; } // tools // libraries);
 
@@ -361,20 +365,7 @@ in rec {
     initialPath = import ../common-path.nix { inherit pkgs; };
     shell       = "${pkgs.bash}/bin/bash";
 
-    cc = lib.callPackageWith {} ../../build-support/cc-wrapper {
-      inherit (pkgs) stdenvNoCC;
-      inherit shell;
-      nativeTools = false;
-      nativeLibc  = false;
-      buildPackages = {
-        inherit (prevStage) stdenv;
-      };
-      inherit (pkgs) coreutils gnugrep;
-      cc       = pkgs.llvmPackages.clang-unwrapped;
-      bintools = pkgs.darwin.binutils;
-      libc     = pkgs.darwin.Libsystem;
-      extraPackages = [ pkgs.libcxx ];
-    };
+    cc = pkgs.llvmPackages.libcxxClang;
 
     extraNativeBuildInputs = [];
     extraBuildInputs = [ pkgs.darwin.CF ];
@@ -390,7 +381,8 @@ in rec {
 
     allowedRequisites = (with pkgs; [
       xz.out xz.bin libcxx libcxxabi gmp.out gnumake findutils bzip2.out
-      bzip2.bin llvmPackages.llvm llvmPackages.llvm.lib zlib.out zlib.dev libffi.out coreutils ed diffutils gnutar
+      bzip2.bin llvmPackages.llvm llvmPackages.llvm.lib llvmPackages.compiler-rt llvmPackages.compiler-rt.dev
+      zlib.out zlib.dev libffi.out coreutils ed diffutils gnutar
       gzip ncurses.out ncurses.dev ncurses.man gnused bash gawk
       gnugrep llvmPackages.clang-unwrapped llvmPackages.clang-unwrapped.lib patch pcre.out gettext
       binutils.bintools darwin.binutils darwin.binutils.bintools