Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
base: 725b5499b89f
Choose a base ref
...
head repository: NixOS/nixpkgs
compare: 5f32434aef87
Choose a head ref
  • 2 commits
  • 1 file changed
  • 2 contributors

Commits on Mar 25, 2019

  1. pkgsMusl, pkgsi686Linux, pkgsStatic: fix infinite recursion with over…

    …lays
    
    Consider example:
    
    $ nix-instantiate ./nixos -A system --arg configuration '
        {
          boot.isContainer = true;
          nixpkgs.overlays = [ (self: super: {
            nix = self.pkgsStatic.nix;
          }) ];
        }'
    
    When resolving package through overlays, we figure out that
    
      nix == self.pkgsStatic.nix
      =>
      nix == (import <nixpkgs> { inherit overlays; }).nix
      =>
      nix == (import <nixpkgs> { overlays = [(self: super: { nix = self.pkgsStatic.nix; })];}).nix
    
    and we enter infinite recursion of nixpkgs evaluations.
    
    The proper fix should terminate recursion by assigning self fixpoint
    to inner custom package set. But I get infinite recursion somehow, so
    I use `super`. It is less correct modulo deep custom overrides, but behaves
    correctly for simple cases and doesn't OOM evaluator.
    
    Fixes #57984
    danbst committed Mar 25, 2019
    Copy the full SHA
    f729038 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #58246 from danbst/infinite-recursion-otherPackage…

    …Sets
    
    pkgsMusl, pkgsi686Linux, pkgsStatic: fix infinite recursion with overlays
    matthewbauer committed Mar 25, 2019
    Copy the full SHA
    5f32434 View commit details
    Browse the repository at this point in the history