Deterministic solver output
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
CC @grayjay
I wanted to add expect tests for the dependency solver but unfortunately the output wobbles depending on the state of built in packages. For example:
```
@@ -7,7 +7,6 @@
cabal: Could not resolve dependencies:
trying: custom-setup-1.0 (user goal)
next goal: custom-setup:setup.Cabal (dependency of custom-setup-1.0)
-rejecting: custom-setup:setup.Cabal-1.24.0.0/installed-1.2... (conflict: custom-setup => custom-setup:setup.Cabal<1.20)
-rejecting: custom-setup:setup.Cabal-1.18.0.0 (constraint from minimum version of Cabal used by Setup.hs requires >=1.20)
+rejecting: custom-setup:setup.Cabal-1.18.1.5/installed-inp..., custom-setup:setup.Cabal-1.18.0.0 (constraint from minimum version of Cabal used by Setup.hs requires >=1.20)
fail (backjumping, conflict set: custom-setup, custom-setup:setup.Cabal)
After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: custom-setup, custom-setup:setup.Cabal
```
Is there anything we could do to make this totally deterministic, even when the global packages change?
Contributor guide
Assessment
This issue has not been assessed yet.