nixpkgs/pkgs/stdenv
John Ericson 5eaea6cee0 cross stdenv: let build package's build deps resolve to native packages
This fixes the "sliding window" principle:
  0. Run packages:       build = native;  host = foreign; target = foreign;
  1. Build packages:     build = native;  host = native;  target = foreign;
  2. Vanilla packages:   build = native;  host = native;  target = native;
  3. Vanilla packages:   build = native;  host = native;  target = native;
  n+3. ...

Each stage's build dependencies are resolved against the previous stage,
and the "foreigns" are shifted accordingly. Vanilla packages alone are
built against themsevles, since there are no more "foreign"s to shift away.

Before, build packages' build dependencies were resolved against
themselves:
  0. Run packages:       build = native;  host = foreign; target = foreign;
  1. Build packages:     build = native;  host = native;  target = foreign;
  2. Build packages:     build = native;  host = native;  target = foreign;
  n+2. ...

This is wrong because that principle is violated by the target
platform staying foreign.

This will change the hashes of many build packages and run packages, but
that is OK. This is an unavoidable cost of fixing cross compiling.

The cross compilation docs have been updated to reflect this fix.
2017-02-05 12:01:53 -05:00
..
cross cross stdenv: let build package's build deps resolve to native packages 2017-02-05 12:01:53 -05:00
custom top-level: Lay the groundwork for {build,host,target}Platform 2017-01-24 11:37:56 -05:00
cygwin Allow not rebasing in cygwin stdenv. 2016-05-20 17:17:10 +02:00
darwin top-level: Lay the groundwork for {build,host,target}Platform 2017-01-24 11:37:56 -05:00
freebsd top-level: Lay the groundwork for {build,host,target}Platform 2017-01-24 11:37:56 -05:00
generic stdenv: make is64bit evaluate true on aarch64 2017-01-29 20:28:14 +02:00
linux stdenv: Aarch64 bootstrap: Update bootstrap tarballs to hydra-built ones 2017-01-29 01:34:02 +02:00
native top-level: Lay the groundwork for {build,host,target}Platform 2017-01-24 11:37:56 -05:00
nix top-level: Lay the groundwork for {build,host,target}Platform 2017-01-24 11:37:56 -05:00
adapters.nix stdenv: Add updateAutoconfGnuConfigScriptsHook for aarch64 2017-01-25 00:01:52 +02:00
booter.nix top-level: Only splice as needed for performance 2017-01-24 11:37:56 -05:00
common-path.nix bzip2: split into multiple outputs, refactor 2015-04-18 19:32:52 +02:00
default.nix stdenv: Bringup aarch64 architecture support 2017-01-25 00:01:51 +02:00