Repository navigation
Add linux-riscv64 as a known platform - #203
Merged
Tobias-Fischer merged 1 commit intoNov 13, 2026
Merged
Conversation
get_conda_subdir() has no entry for a linux riscv64 host, so vinca
raises "Unsupported platform" there, and an explicit --platform
linux-riscv64 fails in resolve_pkgname_from_indexes() with a KeyError
because the platform is missing from map_platform_python_to_conda.
Map ("linux", "riscv64") to linux-riscv64 and let linux-riscv64 use the
"linux" entries of the dependency mappings, as linux-64 and
linux-aarch64 do. Add test cases for the host detection and for the
dependency lookup.
Tested with the full vinca test suite on x86-64 Linux, Python 3.12
(352 passed, 4 skipped), and ruff format and ruff check on the touched
test and platforms files. Not run: the pyrefly check as CI runs it, or
anything on a riscv64 host.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
vinca does not know
linux-riscv64. On a riscv64 Linux hostget_conda_subdir()raises "Unsupported platform", andvinca --platform linux-riscv64fails with aKeyErrorinresolve_pkgname_from_indexes(), because the platform is missing frommap_platform_python_to_conda.This adds the platform in the two places that need it:
platforms.py:("linux", "riscv64")islinux-riscv64.resolve.py:linux-riscv64takes thelinuxentries of the dependency mappings, aslinux-64andlinux-aarch64do.Tests (
vinca/test_platforms.py): alinux/riscv64row in the host-detection table, and a new test thatlinux-64,linux-aarch64andlinux-riscv64all resolve through thelinuxmapping.What exists and what does not
linux-riscv64subdir. As far as I checked (repodata of 2026-10-31), it has no ROS packages and lacks many of the dependencies ROS recipes need (for example benchmark, cppcheck, uncrustify, console_bridge, a boost matching the ROS distros' pin).linux-riscv64packages, and I am not proposing that here. This change only lets vinca generate recipes for that platform, which I need as a first step toward building the missing dependencies.vinca --multiple --platform linux-riscv64, run on an earlier vinca release (837434e) with a ros-lyrical checkout, generated 2153 recipes (1077ros2-*and 1076ros-lyrical-*compatibility packages), the same split as for the other platforms. I have not re-run that generation on current master.variant_algebra._PLATFORMS,pinning.py's--platformchoices orgenerate_gha.py, which also list platforms. Those are about pinning and CI generation for the published platforms; I would rather ask before adding riscv64 there.Testing
vinca/test_platforms.pyalone: 14 passed (10 before the change).ruff format --checkandruff checkpass onplatforms.pyandtest_platforms.py.ruff check(0.17.5) reports 4 findings inresolve.pythat are on lines this PR does not touch and are present without it.pyrefly checkon the three touched files: 0 errors.pixi runtasks as CI runs them (Python 3.14, pinned tool versions), Windows and macOS, and anything on an actual riscv64 host.AI assistance: Claude was used to prepare and test this change.