pi package:cabal-install-solver

Package instance. A package name and an instance.
Info associated with a package instance. Currently, dependencies, component names, flags and failure reasons. The component map records whether any components are unbuildable in the current environment (compiler, os, arch, and global flag constraints). Packages that have a failure reason recorded for them are disabled globally, for reasons external to the solver. We currently use this for shadowing which essentially is a GHC limitation, and for installed packages that are broken.
Convert both the installed package index and the source package index into one uniform solver index. We use allPackagesBySourcePackageId for the installed package index because that returns us several instances of the same package and version in order of preference. This allows us in principle to "shadow" packages if there are several installed packages of the same version. There are currently some shortcomings in both GHC and Cabal in resolving these situations. However, the right thing to do is to fix the problem there, so for now, shadowing is only activated if explicitly requested.
String representation of a package instance.