Skip to content

Commit dfb5e02

Browse files
allow stdlibs to change in the resolve if manifest came from a similar julia version
1 parent b3344eb commit dfb5e02

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/Operations.jl

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,17 @@ function resolve_versions!(env::EnvCache, registries::Vector{Registry.RegistryIn
337337
for pkg in pkgs
338338
names[pkg.uuid] = pkg.name
339339
end
340-
reqs = Resolve.Requires(pkg.uuid => VersionSpec(pkg.version) for pkg in pkgs)
340+
341+
pkgs_to_require = if env.manifest.julia_version.major == VERSION.major && env.manifest.julia_version.minor == VERSION.minor
342+
# if the manifest was previously resolved by the same major-minor julia version, don't require stdlib versions
343+
# to remain the same. This allows manifests that were generated on nightly julia versions, where stdlibs may change version
344+
# to be updated
345+
filter(pkg -> !is_stdlib(pkg.uuid), pkgs)
346+
else
347+
pkgs
348+
end
349+
350+
reqs = Resolve.Requires(pkg.uuid => VersionSpec(pkg.version) for pkg in pkgs_to_require)
341351
graph, compat_map = deps_graph(env, registries, names, reqs, fixed, julia_version)
342352
Resolve.simplify_graph!(graph)
343353
vers = Resolve.resolve(graph)

0 commit comments

Comments
 (0)