hix-0.7.2: Haskell/Nix development build tools
Safe HaskellNone
LanguageGHC2021

Hix.Managed.UpdateState

Synopsis

Documentation

projectStateWithEnv :: EnvContext -> EnvState -> ProjectState -> ProjectState Source #

Insert the transformed EnvState, which contains only the bounds for the current target set and the overrides for the current env.

All data is stored as diffs in EnvState (except for overrides), which are applied to the initial state.

Since the env is intended to be exclusively used with its associated target set, we simply overwrite the existing one completely.

Bounds are supposed to be universally valid, since they qualify the source rather than a build configuration, so they have to be updated in each of the env's target packages.

initial is the set of bounds that is preserved from the first run for each dependency. The EnvState only contains updates for them if an update for versions contains DiffAdded, which is handled in envStateWithMutations.