Skip to content

volrover3 publish: install the recipe's declared closure via install-deps - #44

Closed
transfix wants to merge 1 commit into
masterfrom
fix/volrover3-cvcgl-imgui-deps
Closed

transfix wants to merge 1 commit into
masterfrom
fix/volrover3-cvcgl-imgui-deps

Conversation

@transfix

Copy link
Copy Markdown
Owner

Your question, answered

why doesn't the volrover3 recipe include cvc/libcvc, vtk, imgui etc as recipe dependencies?

It does — recipes/volrover3/recipe.yaml declares cvcgl, libcvc, vtk, qt6, yaml-cpp, glew, python311, pycvc-gl-cp311, pyside6-cp311, shiboken6-cp311. The problem was that the publish workflow didn't use them — it hand-maintained a parallel cvcpkg install libcvc vtk cvcgl yaml-cpp python311 list that kept drifting from the recipe. That drift is exactly how cvcgl, yaml-cpp, python311, and (most recently) imgui each had to be chased down and re-added here by hand.

imgui specifically is not a direct volrover3 dependency and shouldn't be listed as one — volrover3 never touches ImGui directly. It's a transitive dep of cvcgl (cvcGL's config does find_dependency(imgui CONFIG) now that the overlay is compiled into libcvcGL.a, libcvc#370). The only reason it "went missing" is the hardcoded list didn't resolve transitively.

Fix

Replace the hardcoded list with cvcpkg install-deps recipes/volrover3, which installs the recipe's build + runtime deps transitively. The recipe is now the single source of truth; imgui rides in via cvcgl automatically. Host tools (cmake/ninja) are excluded by default; the system-deps step still provides the top-level VolumeRover2 configure-gate packages (Boost/FFTW/GSL/log4cplus) that aren't volrover3's own deps.

Note on platform coverage

install-deps pulls the full runtime closure too (pyside6/shiboken6/pycvc-gl), so a platform where that closure isn't published yet will fail this step rather than publish a volrover3 bundle whose declared runtime deps can't be installed. The matrix is continue-on-error + fail-fast: false, so linux (where the closure is published) still builds and publishes independently. Verifying via a dry-run dispatch.

…deps

The publish-cvcpkg volrover3 job hand-maintained a parallel
`cvcpkg install libcvc vtk cvcgl yaml-cpp python311` list that kept drifting
from what recipes/volrover3 actually declares — cvcgl, yaml-cpp, python311 and
(most recently) imgui each had to be chased down and added here by hand after
the recipe already listed the real dependency.

Replace it with `cvcpkg install-deps recipes/volrover3`, which installs the
recipe's build + runtime deps transitively. The recipe is now the single source
of truth for what volrover3 links, and imgui rides in automatically via cvcgl
(cvcGL's config does find_dependency(imgui CONFIG) now that the overlay is
compiled into libcvcGL.a — libcvc#370), so there is no explicit imgui line to
forget. Host tools (cmake/ninja) are excluded by default; the system-deps step
still provides the top-level VolumeRover2 configure-gate packages
(Boost/FFTW/GSL/log4cplus) that are not volrover3's own dependencies.
@transfix

Copy link
Copy Markdown
Owner Author

Superseded by the combined namespace-port PR (includes this install-deps commit + the cvc::gl source port needed for CI to build green).

@transfix transfix closed this Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant