@@ -669,18 +669,16 @@ function setup_dependencies(prefix::Prefix,
669
669
deps_project = joinpath (prefix, triplet (platform), " .project" )
670
670
Pkg. activate (deps_project) do
671
671
# Update registry first, in case the jll packages we're looking for have just been registered/updated
672
- ctx = Pkg. Types. Context (;julia_version)
673
672
outs = verbose ? stdout : devnull
674
673
update_registry (outs)
675
674
676
- # Add all dependencies. Note: Pkg.add(ctx, deps) modifies in-place `deps` without
677
- # notice. We need to `deepcopy` the argument to prevent it from modying our
678
- # dependencies from under our feet: <https://github.com/JuliaLang/Pkg.jl/issues/3112>.
679
- Pkg_add (ctx, deepcopy (dependencies); platform= platform, io= outs)
675
+ # Add all dependencies.
676
+ Pkg_add (dependencies; platform= platform, io= outs, julia_version= julia_version)
680
677
681
678
# Ony Julia v1.6, `Pkg.add()` doesn't mutate `dependencies`, so we can't use the `UUID`
682
679
# that was found during resolution there. Instead, we'll make use of `ctx.env` to figure
683
680
# out the UUIDs of all our packages.
681
+ ctx = Pkg. Types. Context ()
684
682
dependency_uuids = Set ([uuid for (uuid, pkg) in ctx. env. manifest if pkg. name ∈ dependencies_names])
685
683
686
684
# Some JLLs are also standard libraries that may be present in the manifest because
@@ -718,7 +716,7 @@ function setup_dependencies(prefix::Prefix,
718
716
719
717
# Re-install stdlib dependencies, but this time with `julia_version = nothing`
720
718
if ! isempty (stdlib_pkgspecs)
721
- Pkg_add (ctx, stdlib_pkgspecs; io= outs, julia_version= nothing )
719
+ Pkg_add (stdlib_pkgspecs; io= outs, julia_version= nothing )
722
720
end
723
721
724
722
# Load their Artifacts.toml files
0 commit comments