feat: add override for virtual packages #1063
Closed
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.
This adds the ability to override detected virtual packages with ones defined on the CLI for the host environment during build (and for the run environment during test).
This should make it easier for cross-platform building & testing, as well as for "cross-platform" solvability checks.
TODO:
--virtual-package-for-host __cuda=12.0
is the best way to do thisLong-term we would like to figure out a more robust solution for virtual packages and cross-platform building. Ideally it would look a bit more like what we have in pixi (system-requirements).
It would make sense for the recipes themselves to decide on minimum system requirements. For example, a certain recipe might only build with
macos: 12.0
. That should be expressable in the recipe itself.Additionally, conda-forge should be able to set global minimum system requirements so that we know what default values to pick for every system. This should go in the next generation "variant configuration" file.