diff options
Diffstat (limited to 'pkgs/stdenv/cross/default.nix')
-rw-r--r-- | pkgs/stdenv/cross/default.nix | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix index 93c5a21d9d5a..575692ca0126 100644 --- a/pkgs/stdenv/cross/default.nix +++ b/pkgs/stdenv/cross/default.nix @@ -8,24 +8,22 @@ rec { }; vanillaStdenv = (import ../. (args // argClobber // { allPackages = args: allPackages (argClobber // args); - })).stdenv; + })).stdenv // { + # Needed elsewhere as a hacky way to pass the target + cross = crossSystem; + }; - # Yeah this isn't so cleanly just build-time packages yet. Notice the - # buildPackages <-> stdenvCross cycle. Yup, it's very weird. - # - # This works because the derivation used to build `stdenvCross` are in - # fact using `forceNativeDrv` to use the `nativeDrv` attribute of the resulting - # derivation built with `vanillaStdenv` (second argument of `makeStdenvCross`). - # - # Eventually, `forceNativeDrv` should be removed and the cycle broken. + # For now, this is just used to build the native stdenv. Eventually, it should + # be used to build compilers and other such tools targeting the cross + # platform. Then, `forceNativeDrv` can be removed. buildPackages = allPackages { # It's OK to change the built-time dependencies allowCustomOverrides = true; - bootStdenv = stdenvCross; + bootStdenv = vanillaStdenv; inherit system platform crossSystem config; }; stdenvCross = buildPackages.makeStdenvCross - vanillaStdenv crossSystem + buildPackages.stdenv crossSystem buildPackages.binutilsCross buildPackages.gccCrossStageFinal; } |