darwin.stdenv: rework for the new SDK

While it would be nice if this could be split, there are too many
changes as part of the cleanup and improvements, including:

- Refactoring all propagated packages into functions that can be used to
  ensure that packages are propagated only at the expected stages;
- Using a sanity-checking merge function to ensure that packages are
  only propagated by one of the above functions;
- Reducing the number of Python builds during the bootstrap to one;
- Removing the extra sysctl stage;
- Using the LLVM bootstrap to build LLVM, clang, libc++, etc;
- Propagating llvmPackages_<version> in the final stdenv, so that
  packages needing that version specifically don’t have to rebuild it;
- Bootstrapping with the new Darwin SDK; and
- Reducing the overall number of paths build during a bootstrap by ~33%.
This commit is contained in:
Randy Eckenrode 2024-09-24 21:43:34 -04:00
parent 1fd1796e65
commit 76a5ef680e
No known key found for this signature in database
GPG Key ID: 64C1CD4EC2A600D9

File diff suppressed because it is too large Load Diff