Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

freshBootstrapTools: rename from stdenvBootstrapTools #183072

Merged
merged 6 commits into from Sep 25, 2022
Merged

freshBootstrapTools: rename from stdenvBootstrapTools #183072

merged 6 commits into from Sep 25, 2022

Commits on Sep 12, 2022

  1. release.nix: pass missing parameter

    Commit 5643714 introduced a tiny
    bug, neglecting to pass the `pkgs` parameter to `release.nix`.
    
    This bug went unnoticed because commit
    e663518 had introduced a much larger
    bug: an attribute collision resulted in `stdenvBootstrapTools` being
    shadowed, and therefore never evaluated.  As a result, the missing
    `pkgs` parameter did not lead to an error.
    
    This commit passes the missing parameter so that fixing the
    larger/earlier bug will not cause an eval failure.
    Adam Joseph committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    09d4fd0 View commit details
    Browse the repository at this point in the history
  2. freshBootstrapTools: rename from stdenvBootstrapTools

    `stdenvBootstrapTools` was defined in both `nixpkgs` and `releases`
    jobsets. This makes hydra view a bit confusing:
    
        $ git grep -F 'stdenvBootstrapTools =' | cat
        pkgs/top-level/all-packages.nix:  stdenvBootstrapTools = if stdenv.hostPlatform.isDarwin then
        pkgs/top-level/release.nix:      stdenvBootstrapTools = with lib;
    
    The change renames jobset to be distinct. At least it improves grep
    experience.
    trofi authored and Adam Joseph committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    bf4312d View commit details
    Browse the repository at this point in the history
  3. lib/attrsets.nix: add unionOfDisjoint

    Adam Joseph committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    47de66b View commit details
    Browse the repository at this point in the history
  4. pkgs/top-level/release.nix: disallow symbol clash between 'pkgs' and …

    …local jobs
    
    This change exposes symbol override that accidentally caused job loss on hydra:
    
        $ nix repl ./release.nix
        error: jobs: Unexpected attribute collision between 'jobs' and 'pkgs': stdenvBootstrapTools
    
    Added assert makes sure attribute clashes would not be re-introduced.
    trofi authored and Adam Joseph committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    e7bafc8 View commit details
    Browse the repository at this point in the history
  5. note that unionOfDisjoint is commutative, unlike //

    Adam Joseph committed Sep 12, 2022
    Configuration menu
    Copy the full SHA
    99da193 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2022

  1. unionOfDisjoint: use builtins.intersectAttrs

    This brings two benefits:
    
    1. The complete list of collisions is printed in the whenever any colliding
       attribute is accessed.
    
    2. The sets are intersected using a C++ primitive, which runs in O(n) time
       (intersecting pre-sorted lists) with small constants rather than interpreted
       Nix code.
    
    Thanks to @toonn for prompting this improvement.
    Adam Joseph committed Sep 25, 2022
    Configuration menu
    Copy the full SHA
    037cf2f View commit details
    Browse the repository at this point in the history