stdenv: only build LLVM once on darwin

This commit is contained in:
Gaelan Steele 2020-05-11 00:12:05 -07:00
parent 4ddd080d19
commit 23ce1eed34

View File

@ -307,7 +307,7 @@ in rec {
inherit inherit
gnumake gzip gnused bzip2 gawk ed xz patch bash python3 gnumake gzip gnused bzip2 gawk ed xz patch bash python3
ncurses libffi zlib gmp pcre gnugrep ncurses libffi zlib gmp pcre gnugrep
coreutils findutils diffutils patchutils ninja; coreutils findutils diffutils patchutils ninja libxml2;
# Hack to make sure we don't link ncurses in bootstrap tools. The proper # Hack to make sure we don't link ncurses in bootstrap tools. The proper
# solution is to avoid passing -L/nix-store/...-bootstrap-tools/lib, # solution is to avoid passing -L/nix-store/...-bootstrap-tools/lib,
@ -321,7 +321,7 @@ in rec {
llvmPackages_7 = super.llvmPackages_7 // (let llvmPackages_7 = super.llvmPackages_7 // (let
tools = super.llvmPackages_7.tools.extend (llvmSelf: _: { tools = super.llvmPackages_7.tools.extend (llvmSelf: _: {
clang-unwrapped = llvmPackages_7.clang-unwrapped.override { llvm = llvmSelf.llvm; }; clang-unwrapped = llvmPackages_7.clang-unwrapped.override { llvm = llvmSelf.llvm; };
llvm = llvmPackages_7.llvm.override { libxml2 = self.darwin.libxml2-nopython; }; llvm = llvmPackages_7.llvm.override { inherit libxml2; };
}); });
libraries = super.llvmPackages_7.libraries.extend (llvmSelf: _: { libraries = super.llvmPackages_7.libraries.extend (llvmSelf: _: {
inherit (llvmPackages_7) libcxx libcxxabi compiler-rt; inherit (llvmPackages_7) libcxx libcxxabi compiler-rt;
@ -332,9 +332,8 @@ in rec {
inherit (darwin) dyld Libsystem libiconv locale; inherit (darwin) dyld Libsystem libiconv locale;
cctools = super.darwin.cctools.override { enableTapiSupport = false; }; cctools = super.darwin.cctools.override { enableTapiSupport = false; };
libxml2-nopython = super.libxml2.override { pythonSupport = false; };
CF = super.darwin.CF.override { CF = super.darwin.CF.override {
libxml2 = libxml2-nopython; inherit libxml2;
python3 = prevStage.python3; python3 = prevStage.python3;
}; };
}; };
@ -419,9 +418,9 @@ in rec {
gnugrep llvmPackages.clang-unwrapped llvmPackages.clang-unwrapped.lib patch pcre.out gettext gnugrep llvmPackages.clang-unwrapped llvmPackages.clang-unwrapped.lib patch pcre.out gettext
binutils.bintools darwin.binutils darwin.binutils.bintools binutils.bintools darwin.binutils darwin.binutils.bintools
curl.out openssl.out libssh2.out nghttp2.lib libkrb5 curl.out openssl.out libssh2.out nghttp2.lib libkrb5
cc.expand-response-params cc.expand-response-params libxml2.out
]) ++ (with pkgs.darwin; [ ]) ++ (with pkgs.darwin; [
dyld Libsystem CF cctools ICU libiconv locale libxml2-nopython.out dyld Libsystem CF cctools ICU libiconv locale
]); ]);
overrides = lib.composeExtensions persistent (self: super: { overrides = lib.composeExtensions persistent (self: super: {