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

Use fix and extend function for all-packages.nix #14000

Merged
merged 44 commits into from
Mar 24, 2016
Merged

Commits on Mar 20, 2016

  1. Configuration menu
    Copy the full SHA
    9444d6e View commit details
    Browse the repository at this point in the history
  2. Re-indent the top of pkgsFun.

    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    a39c5ff View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    11a566b View commit details
    Browse the repository at this point in the history
  4. Move helperfunctions and stdenvAdapters under pkgsFun.

    The `helperFunctions` and `stdenvAdapters` both use the `pkgs` attribute as
    input, either to inherit some properties, either to use it as argument.
    
    The `pkgs` binding used in both expressions of the `helperFunctions` and
    `stdenvAdapters` is no longer the result of the `applyGlobalOverrides`
    function, but the argument of the `pkgsFun` function.
    
    The `pkgsFun` functions is called twice under `applyGlobalOverrides`, and in
    both cases, the first argument of `pkgsFun` correspond to the result of
    `applyGlobalOverrides`.
    
    Thus, this modification will change the bindings, but the evaluation of
    `<nixpkgs>`.
    
    A third call the `pkgsFun` exists under `overridePackages` in the set of all
    packages. Previously, the `helperFunctions` and `stdenvAdapaters` would use
    the functions defined as part of the default `<nixpkgs>` set.  With this
    modification, the `helperFunctions` and the `stdenvAdapters` are now using
    the fix-point of the newly evaluated package set.
    
    This implies that this modification allow the user to use
    `overridePackages`, which is already not recommended for performance
    reasons, to override the inputs of the `helperFucntions` and
    `stdenvAdapaters` too, where this was not possible before.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    5f4cb91 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f9a2988 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a6e260c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a5188bd View commit details
    Browse the repository at this point in the history
  8. 1 Configuration menu
    Copy the full SHA
    00963c3 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    acaa99c View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    71b2fd9 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a8374f2 View commit details
    Browse the repository at this point in the history
  12. Remove with helperFunction above the list of all packages.

    This modification change the names bound to the `helperFunctions` attribute
    set, to be bound to `self` which is constructed by merging the same
    `helperFunctions` set with the set of all packages.
    
    This patch works as expected because none of the helperFunction names is
    aliased by the name of a package.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    a658645 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    ffcb668 View commit details
    Browse the repository at this point in the history
  14. Under pkgsFun, expand self attribute, and rename self_ to self.

    Note, the aliases are now computed against the set of packages defined in
    the set of all packages, and no longer apply to any overriden package.
    
    I think this is better as this reduces the amount of surprizes.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    8d355b8 View commit details
    Browse the repository at this point in the history
  15. Swap conditions of stdenvOverrides to prevent infinite loops while ev…

    …aluating stdenvCross.
    
    While evaluating the derivation of xbursttools:
      the condition `pkgs.stdenv ? overrides` causes the evaluation of
      `stdenvCross`.  This evaluation comes too early during the execution, as
      it prevents the resolution of names such as `pkgs.lib`, and
      `stdenvAdapaters.makeStdenvCross`, which we want to take from `pkgs`
      instead of `self` in following patches.
    
    By swapping the conditions, we effectively make the resolution of `pkgs.lib`
    and `stdenvAdapaters.makeStdenvCross` possible through the pkgs attribute.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    7f3a4f4 View commit details
    Browse the repository at this point in the history
  16. Split stdenv attribute set.

    Extract stdenvDefault from the set of all packages.  As this set of
    attributes are inter-dependant, probably due to stdenvOverrides, we have to
    keep them in a close set of inter-dependent options.
    
    I guess I will have to investigate more ...
    nbp committed Mar 20, 2016
    1 Configuration menu
    Copy the full SHA
    020bb40 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    be3531a View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    f7c86ee View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    0b67f7c View commit details
    Browse the repository at this point in the history
  20. 4 Configuration menu
    Copy the full SHA
    a09683e View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    f043ffc View commit details
    Browse the repository at this point in the history
  22. Configuration menu
    Copy the full SHA
    0543277 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    007500f View commit details
    Browse the repository at this point in the history
  24. Remove applyGlobalOverrides's pkgsOrig argument.

    This patch change the behaviour or overridePackages:
    
     - Before, overridePackages was based on top of the set of packages
       overriden by `~/.nixpkgs/config.nix` file.
    
     - After, overridePackages should when given a function f, behave almost¹
       the same as-if the packageOverrides attribute of `~/.nixpkgs/config.nix`
       file attribute was set to f, assuming that we ignore the extra `self`
       argument.
    
    ¹ It is not yet exactly the same because we have many paths which are
    re-entering nixpkgs while taking the default attributes, such as the
    bootstrap phase of stdenv.  Thus if the nixpkgs configuration overrides any
    of the dependencies need for the bootstrap, then we might get different sha.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    5e3ce63 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    32e96bb View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    07e549e View commit details
    Browse the repository at this point in the history
  27. Reformat pkgsWithOverrides to later facilitate the identitication wit…

    …h the extend functions.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    a543a57 View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    ad31783 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    335a969 View commit details
    Browse the repository at this point in the history
  30. Configuration menu
    Copy the full SHA
    ae0471b View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    5cdaa7b View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    ff72cf1 View commit details
    Browse the repository at this point in the history
  33. Move stdenvAdapaters attribute from all-packages.nix into the stdenvA…

    …dapters of the top-level.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    01693ac View commit details
    Browse the repository at this point in the history
  34. Build aliases based on the previous set including all-packages, inste…

    …ad of only using all-packages.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    f8dedbb View commit details
    Browse the repository at this point in the history
  35. Configuration menu
    Copy the full SHA
    5783f66 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    a190baa View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    598ed87 View commit details
    Browse the repository at this point in the history
  38. Add bootStdenv condition around the overrider.

    This condition used to be implicit in the sense that the stdenvOverrides
    uses pkgs_6, instead of pkgs_7 as its super set, and also that each stage of
    the compiler is build again the bootstrap packages of the previous stage,
    thus overriden by the stdenv.override function.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    9e8c520 View commit details
    Browse the repository at this point in the history
  39. Move the customOverrides after the stdenvOverrides.

    This change is not backward compatible, in the sense that this allow you to
    override the packages which used to be overriden by the last stage of
    stdenv.  Note, this does not mean that these packages would be used by
    stdenv.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    21b8007 View commit details
    Browse the repository at this point in the history
  40. Change the customOverrides to use the stdenvOverrides instead of the …

    …original package set.
    nbp committed Mar 20, 2016
    Configuration menu
    Copy the full SHA
    800766f View commit details
    Browse the repository at this point in the history
  41. Configuration menu
    Copy the full SHA
    1bcefcd View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    5ae7356 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    aa7f0fc View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2016

  1. Fix comments typos.

    nbp committed Mar 24, 2016
    Configuration menu
    Copy the full SHA
    87ad35e View commit details
    Browse the repository at this point in the history