You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Share the ~200MB VTK/Qt/TBB runtime cache across Pkg.updates; add update!()
A plain `Pkg.add`-installed package lives in a content-hashed folder
that gets a BRAND NEW hash on every single Pkg.update, even for a
one-line .jl change. deps/build.jl was extracting the full runtime zip
into that ephemeral folder, so every update silently re-downloaded and
re-extracted the whole ~200MB VTK/Qt/TBB bundle again. Fixed: the
runtime now lives at ~/.julia/gmtvtk_runtime/, keyed off the shared
Julia depot rather than the per-version package folder, so it's fetched
once ever. src/libgmtvtk.jl looks there too (falling back to it only
when there's no local deps/build/gmtvtk.dll, so an active dev build via
deps/build.bat always wins first). Verified both files resolve to the
identical path and the extraction layout is correct.
Add src/selfupdate.jl (InteractiveGMT.update!()): for a `] dev`-installed
checkout (fixed directory, never moves across updates -- unlike
Pkg.add), pulls the latest source in place via Julia's BUNDLED LibGit2
(no system git.exe required) and rebuilds. Pkg.update() deliberately
skips dev'd packages, so this fills that gap. Verified fetch+merge!
against this actual repo.
Adds LibGit2 + Pkg (both stdlibs) to Project.toml deps -- needed by
selfupdate.jl, same reasoning as the earlier Downloads fix.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
0 commit comments