haskell / haskell/cabal

Move remaining dependency solver API and unit tests into cabal-install-solver package

Open
#10,614 0 comments 0 reactions 0 assignees View on GitHub
cabal-install: solver type: enhancement
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

This issue is a followup to #3781. The main dependency solver modules were moved into a separate package (`cabal-install-solver`), but some functions that act as an API are still in `cabal-install`. The dependency solver unit tests use that API, so they are also in `cabal-install`.

This change is much simpler now that the top-down solver was removed in #3598 and support for multiple solvers was removed in #9282.

Most of the remaining dependency solver API is in [Distribution.Client.Dependency](https://github.com/haskell/cabal/blob/master/cabal-install/src/Distribution/Client/Dependency.hs), including `resolveDependencies` and `DepResolverParams`:

https://github.com/haskell/cabal/blob/91769ab183f467f352c786c73f566e09ebb73aa7/cabal-install/src/Distribution/Client/Dependency.hs#L779-L790

https://github.com/haskell/cabal/blob/91769ab183f467f352c786c73f566e09ebb73aa7/cabal-install/src/Distribution/Client/Dependency.hs#L173-L176

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.