Open
Description
The cabal solver seems to treat pre-installed packages specially (e.g. those shipped with GHC).
To reproduce:
git clone https://github.com/hasufell/toto.git
cd toto
ghcup run --ghc 9.4.8 -- cabal build
This should cause a failure, because ghc-9.4.8 ships with filepath-1.4.2.2, but the package above uses modules from 1.4.100.1. The package has no upper bounds on filepath. For any other non-pre-installed package, the solver would pick the latest.
I understand that this is by design, but I question this design here, because:
- it makes it harder for core library maintainers to ship bugfixes
- it's a potential security risk
@mpickering found out that there used to be a --upgrade-dependencies
switch, which is now disabled.
I argue that the default should be to pick the latest possible version anyway.
CCing some potentially interested parties: @simonpj @frasertweedale
Activity