diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2018-06-14 10:22:33 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2018-06-14 19:22:15 -0400 |
commit | 6e7e22da70850e18d7949b95b215c011b9afda70 (patch) | |
tree | a3f196df67a891974613a40c4f064fd09e0fc2fb /pkgs/stdenv/darwin | |
parent | fc9644d4c9c9d29958e9bcf1676d48d4b3026bb4 (diff) |
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')
-rw-r--r-- | pkgs/stdenv/darwin/default.nix | 40 |
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 |