You can clone with
A user reported the following build failure, with a clean platform install:
> cabal install cabal-dev --global
In order, the following would be installed:
tar-0.3.2.0 (new package)
transformers-0.2.2.0 (new version)
mtl-188.8.131.52 (new version)
parsec-3.1.3 (reinstall) changes: mtl-2.1.2 -> 184.108.40.206
network-220.127.116.11 (new version)
HTTP-4000.2.6 (new version)
cabal-dev-0.9.1 (new package)
cabal.exe: The following packages are likely to be broken by the reinstalls:
Ultimately cabal-dev's dependencies are to blame here, but nowhere in the out is it clear why parsec is being reinstalled. It's not clear in the sense that even though cabal is telling us that it's because mtl is being upgraded, it's not clear why a new mtl is being installed. Perhaps we should explain why we're not using an already installed mtl.
This might be caused by a combination of some messages not being output at the default verbosity or not being their in the first place. We should consider what changes are needed so it would be clear from the above error what caused the need to upgrade parsec.
Here's a concrete proposal: any time a new package is being installed and there's an existing installed version output:
mtl-18.104.22.168 (new version) cabal-dev requires >= 2.0 && < 2.1
Do we have enough information in the solver to know why the new package needed to be installed?
Yes, this is similar to something I had in mind anyway.