@@ -2664,6 +2664,9 @@ function create_expr_cache(pkg::PkgId, input::String, output::String, output_o::
2664
2664
2665
2665
deps_eltype = sprint (show, eltype (concrete_deps); context = :module => nothing )
2666
2666
deps = deps_eltype * " [" * join (deps_strs, " ," ) * " ]"
2667
+ # protect against PkgId and UUID being imported and losing Base prefix
2668
+ precomp_stack_pkgs = map (p-> " Base.PkgId(Base.UUID(\" $(p. uuid) \" ), \" $(p. name) \" )" , vcat (Base. precompilation_stack, pkg))
2669
+ precomp_stack = " Base.PkgId[$(join (precomp_stack_pkgs, " , " )) ]"
2667
2670
trace = isassigned (PRECOMPILE_TRACE_COMPILE) ? ` --trace-compile=$(PRECOMPILE_TRACE_COMPILE[]) ` : ` `
2668
2671
io = open (pipeline (addenv (` $(julia_cmd (;cpu_target):: Cmd )
2669
2672
$(flags)
@@ -2679,7 +2682,7 @@ function create_expr_cache(pkg::PkgId, input::String, output::String, output_o::
2679
2682
# write data over stdin to avoid the (unlikely) case of exceeding max command line size
2680
2683
write (io. in, """
2681
2684
empty!(Base.EXT_DORMITORY) # If we have a custom sysimage with `EXT_DORMITORY` prepopulated
2682
- Base.track_nested_precomp($( vcat (Base . precompilation_stack, pkg)) )
2685
+ Base.track_nested_precomp($precomp_stack )
2683
2686
Base.precompiling_extension = $(loading_extension)
2684
2687
Base.include_package_for_output($(pkg_str (pkg)) , $(repr (abspath (input))) , $(repr (depot_path)) , $(repr (dl_load_path)) ,
2685
2688
$(repr (load_path)) , $deps , $(repr (source_path (nothing ))) )
0 commit comments