darwin stdenv: fix llvmPackage overrides

It may seem nice and abstract to just override the default version, but
that breaks the alias relationship where the original llvmPackages_* is
no longer in sync. Put another away, modifying the referee rather
instead of breaking the reference "copy-on-write" is impossible.
This commit is contained in:
John Ericson 2018-06-13 16:25:12 -04:00
parent d1a2853933
commit d7895c2810

View File

@ -275,10 +275,9 @@ in rec {
libcxxabi libcxx ncurses libffi zlib gmp pcre gnugrep libcxxabi libcxx ncurses libffi zlib gmp pcre gnugrep
coreutils findutils diffutils patchutils; coreutils findutils diffutils patchutils;
llvmPackages = let llvmOverride = llvmPackages.llvm.override { inherit libcxxabi; }; llvmPackages_5 = super.llvmPackages_5 // {
in super.llvmPackages // { llvm = llvmPackages_5.llvm.override { inherit libcxxabi; };
llvm = llvmOverride; clang-unwrapped = llvmPackages_5.clang-unwrapped.override { llvm = self.llvmPackages_5.llvm; };
clang-unwrapped = llvmPackages.clang-unwrapped.override { llvm = llvmOverride; };
}; };
darwin = super.darwin // { darwin = super.darwin // {
@ -314,8 +313,8 @@ in rec {
libcxxabi libcxx ncurses libffi zlib llvm gmp pcre gnugrep libcxxabi libcxx ncurses libffi zlib llvm gmp pcre gnugrep
coreutils findutils diffutils patchutils; coreutils findutils diffutils patchutils;
llvmPackages = super.llvmPackages // { llvmPackages_5 = super.llvmPackages_5 // {
inherit (llvmPackages) llvm clang-unwrapped; inherit (llvmPackages_5) llvm clang-unwrapped;
}; };
darwin = super.darwin // { darwin = super.darwin // {