new-freeze freezes the dependencies of unused components.
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
I reproduced this issue by adding an executable to a package that is used only as a library dependency in one of the tests in #5135: https://github.com/grayjay/cabal/commit/abba0dc340e200557751c8d1260fb9d5f1e0e860. The new executable has a dependency on the package `exe-dependency`. Since `exe-dependency` isn't required by any other component, new-build shouldn't need to build it. However, new-freeze adds a constraint on the package. (The commit adds an assertion checking for the constraint, and it passes.) I think that this type of constraint shouldn't be necessary in new-build, especially once we implement component-based dependency solving, and the solver doesn't need to choose dependencies for unused components.
I think this is related to the old-freeze issue #1896.
Contributor guide
Assessment
This issue has not been assessed yet.