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