• kristenk's avatar
    Fix bug in converting SolverInstallPlan to ElaboratedInstallPlan (fixes #5409). · 2a3175f8
    kristenk authored and Mikhail Glushenkov's avatar Mikhail Glushenkov committed
    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.
    2a3175f8