kristenk
authored
new-build had assumed that each component could only directly depend on one version of each package. However, a component can depend on two different versions of a package by listing it as a build-depends and build-tool-depends dependency. The incorrect assumption caused new-build to mix up the two instances of the dependency when converting the solver's package-based install plan (SolverInstallPlan) to the component-based install plan (ElaboratedInstallPlan). This commit fixes the bug by keeping build-depends and build-tool-depends dependencies separate between reading them from the SolverPackage and passing them to D.Backpack.ConfiguredComponent.toConfiguredComponent. This commit changes the signature of D.Backpack.ConfiguredComponent.toConfiguredComponent to allow distinguishing between the two types of dependencies.