pixi: Cleanup handling of dependencies built from source and showcase pixi+colcon integration to install dependencies from source #184
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Inspired by a comment by @S-Dafarra at the latest "Research Methods and Tools", I realized that I was being a bit sloppy in handling the installation of dependencies from source in the pixi workflow I added in this repo. Instead, it was a perfect occasion of how pixi and vcstool/colcon can work together, pixi handling binary dependencies, while vcstool/colcon handling (in a bit more manual way) the dependencies installed from source.
The
download_deps
andinstall_deps
steps drastically simplifying by using vcstool and colcon (the tools typically used in ROS 2 workflow). I feel that maintenance is also greatly improved in this way, as if one needs to add a source dependencies it is just needed to add an entry in thepixi_source_deps.yaml
file, and optionally add the CMake options used inpixi_source_deps_options.meta
.To keep the nice pattern of using
pixi_
prefix for pixi-related files, I renamed theset_install_prefix.*
script topixi_activation.*
, that also reflects better what they do as I integrated as I integrated setting theCMAKE_PREFIX_PATH
andPYTHONPATH
env variables that as @martinaxgloria discovered in robotology/icub-tests#71 can be used to ensure isolation w.r.t. robotology-superbuild's setup.sh sourced in the terminal.The final result is that there are a lot of
pixi_*
files hanging around in the root directory of the repo. I am unsure if it make sense to move them in a dedicated directory, for now let's leave them in the root directory of the repo.