haskell / haskell/cabal

new-freeze freezes the dependencies of unused components.

Open
#5,136 2 comments 0 reactions 0 assignees View on GitHub
cabal-install: cmd/freeze
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.