Closed KristofferC closed 2 months ago
This is not 100% satisfactory though because we download the packages before this step and IIUC it means we would download Enzyme in this case and only then prune the manifest to remove it. So perhaps we need to do this before we have downloaded anything.
(The reason Enzyme ends up here at all is because with the tiered resolver we first try to resolve things with all non-input packages having identical versions, so Enzyme being in the manifest then ends up as an output from the resolver).
At least this is better than status quo.
Fixes the manifest pruning issue in https://github.com/JuliaLang/Pkg.jl/issues/3863.
Before we run this fixup code we do not know which deps are weak and not (all are considered normal deps). Or well, we kind of know but we don't have the information easily retrievable. Manifest pruning before this stage will not prune orphan entries which are weak deps of some package which is why in #3863 Enzyme was not pruned away (it is a weak dep of DiffEqBase).
Solve this by just pruning after we have categorized things into weak/normal deps.