darwin stdenv: Float `persistentN` bindings into per-stage `let`s
This commit is contained in:
parent
19a5e00985
commit
61d241f405
|
@ -165,19 +165,20 @@ in rec {
|
|||
extraBuildInputs = [];
|
||||
};
|
||||
|
||||
persistent0 = _: _: _: {};
|
||||
|
||||
stage1 = prevStage: with prevStage; stageFun 1 prevStage {
|
||||
stage1 = prevStage: let
|
||||
persistent = _: _: {};
|
||||
in with prevStage; stageFun 1 prevStage {
|
||||
extraPreHook = "export NIX_CFLAGS_COMPILE+=\" -F${bootstrapTools}/Library/Frameworks\"";
|
||||
extraBuildInputs = [ pkgs.libcxx ];
|
||||
|
||||
allowedRequisites =
|
||||
[ bootstrapTools ] ++ (with pkgs; [ libcxx libcxxabi ]) ++ [ pkgs.darwin.Libsystem ];
|
||||
|
||||
overrides = persistent0 prevStage;
|
||||
overrides = persistent;
|
||||
};
|
||||
|
||||
persistent1 = prevStage: self: super: with prevStage; {
|
||||
stage2 = prevStage: let
|
||||
persistent = self: super: with prevStage; {
|
||||
inherit
|
||||
zlib patchutils m4 scons flex perl bison unifdef unzip openssl python
|
||||
libxml2 gettext sharutils gmp libarchive ncurses pkg-config libedit groff
|
||||
|
@ -189,8 +190,7 @@ in rec {
|
|||
dyld Libsystem xnu configd ICU libdispatch libclosure launchd;
|
||||
};
|
||||
};
|
||||
|
||||
stage2 = prevStage: with prevStage; stageFun 2 prevStage {
|
||||
in with prevStage; stageFun 2 prevStage {
|
||||
extraPreHook = ''
|
||||
export PATH_LOCALE=${pkgs.darwin.locale}/share/locale
|
||||
'';
|
||||
|
@ -202,10 +202,11 @@ in rec {
|
|||
(with pkgs; [ xz.bin xz.out libcxx libcxxabi ]) ++
|
||||
(with pkgs.darwin; [ dyld Libsystem CF ICU locale ]);
|
||||
|
||||
overrides = persistent1 prevStage;
|
||||
overrides = persistent;
|
||||
};
|
||||
|
||||
persistent2 = prevStage: self: super: with prevStage; {
|
||||
stage3 = prevStage: let
|
||||
persistent = self: super: with prevStage; {
|
||||
inherit
|
||||
patchutils m4 scons flex perl bison unifdef unzip openssl python
|
||||
gettext sharutils libarchive pkg-config groff bash subversion
|
||||
|
@ -218,8 +219,7 @@ in rec {
|
|||
dyld Libsystem xnu configd libdispatch libclosure launchd libiconv locale;
|
||||
};
|
||||
};
|
||||
|
||||
stage3 = prevStage: with prevStage; stageFun 3 prevStage {
|
||||
in with prevStage; stageFun 3 prevStage {
|
||||
shell = "${pkgs.bash}/bin/bash";
|
||||
|
||||
# We have a valid shell here (this one has no bootstrap-tools runtime deps) so stageFun
|
||||
|
@ -238,10 +238,11 @@ in rec {
|
|||
(with pkgs; [ xz.bin xz.out bash libcxx libcxxabi ]) ++
|
||||
(with pkgs.darwin; [ dyld ICU Libsystem locale ]);
|
||||
|
||||
overrides = persistent2 prevStage;
|
||||
overrides = persistent;
|
||||
};
|
||||
|
||||
persistent3 = prevStage: self: super: with prevStage; {
|
||||
stage4 = prevStage: let
|
||||
persistent = self: super: with prevStage; {
|
||||
inherit
|
||||
gnumake gzip gnused bzip2 gawk ed xz patch bash
|
||||
libcxxabi libcxx ncurses libffi zlib gmp pcre gnugrep
|
||||
|
@ -257,17 +258,18 @@ in rec {
|
|||
inherit (darwin) dyld Libsystem libiconv locale;
|
||||
};
|
||||
};
|
||||
|
||||
stage4 = prevStage: with prevStage; stageFun 4 prevStage {
|
||||
in with prevStage; stageFun 4 prevStage {
|
||||
shell = "${pkgs.bash}/bin/bash";
|
||||
extraBuildInputs = with pkgs; [ xz darwin.CF libcxx pkgs.bash ];
|
||||
extraPreHook = ''
|
||||
export PATH_LOCALE=${pkgs.darwin.locale}/share/locale
|
||||
'';
|
||||
overrides = persistent3 prevStage;
|
||||
overrides = persistent;
|
||||
};
|
||||
|
||||
persistent4 = prevStage: self: super: with prevStage; {
|
||||
stdenvDarwin = prevStage: let
|
||||
pkgs = prevStage;
|
||||
persistent = self: super: with prevStage; {
|
||||
inherit
|
||||
gnumake gzip gnused bzip2 gawk ed xz patch bash
|
||||
libcxxabi libcxx ncurses libffi zlib llvm gmp pcre gnugrep
|
||||
|
@ -284,8 +286,7 @@ in rec {
|
|||
# Need to get rid of these when cross-compiling.
|
||||
inherit binutils binutils-raw;
|
||||
};
|
||||
|
||||
stdenvDarwin = prevStage: let pkgs = prevStage; in import ../generic rec {
|
||||
in import ../generic rec {
|
||||
inherit config;
|
||||
inherit (pkgs.stdenv) fetchurlBoot;
|
||||
|
||||
|
@ -344,9 +345,9 @@ in rec {
|
|||
]);
|
||||
|
||||
overrides = self: super:
|
||||
let persistent = persistent4 prevStage self super; in persistent // {
|
||||
let persistent' = persistent self super; in persistent' // {
|
||||
clang = cc;
|
||||
llvmPackages = persistent.llvmPackages // { clang = cc; };
|
||||
llvmPackages = persistent'.llvmPackages // { clang = cc; };
|
||||
inherit cc;
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue