Skip to content

Centralize CPM dependency source metadata - #2601

Closed
msarahan wants to merge 3 commits into
NVIDIA:release/26.10from
msarahan:codex/cpm-dependency-metadata
Closed

msarahan wants to merge 3 commits into
NVIDIA:release/26.10from
msarahan:codex/cpm-dependency-metadata

Conversation

@msarahan

Copy link
Copy Markdown
Member

Maintaining the standalone cuvs build internally has highlighted a few pain points. One of them is hard-coded repos in cmake getter code. rapids-cmake has a nice override mechanism, but we can't use that mechanism when the URLs are defined in the cmake code instead of going through rapids-cmake.

This PR moves cuvs's direct third-party Git source declarations into a project CPM metadata catalog and resolves them through rapids_cpm_package_info. This lets parent builds replace sources through RAPIDS_CMAKE_CPM_OVERRIDE_VERSION_FILE without patching cuvs sources, while preserving cuvs's default pins. It also nicely consolidates all of the versions in one place. This PR adds a pre-commit guard to prevent future direct Git declarations in thirdparty getters.

Move cuVS's direct third-party Git source declarations into a project CPM metadata catalog and resolve them through rapids_cpm_package_info. Pin each catalog Git source to its resolved commit, retaining the prior tag or branch as ignored git_tag_alias metadata. This lets parent builds replace sources through RAPIDS_CMAKE_CPM_OVERRIDE_VERSION_FILE without patching cuVS sources while preserving auditable default pins. Cover library and example CMake getters, and enforce the source-metadata rule in the existing GitHub Actions checks job rather than local pre-commit.

Created with Codex (GPT-5).
@msarahan
msarahan requested review from a team as code owners September 13, 2026 20:26
@msarahan msarahan added the improvement Improves an existing functionality label Sep 13, 2026
@msarahan
msarahan requested a review from a team as a code owner September 13, 2026 20:26
@msarahan msarahan added the non-breaking Introduces a non-breaking change label Sep 13, 2026
@msarahan
msarahan requested a review from bdice September 13, 2026 20:26
Use the Artifactory PyPI remote for dependency resolution and fetch spdx-license-builder from the internal GitLab mirror at the RAPIDS branch.

Created with Codex (GPT-5).
@msarahan

Copy link
Copy Markdown
Member Author

@robertmaynard reached out to me and told me that this is not the right approach. We have an internal fork of rapids-cmake that is intended to override all of these, but it isn't specified as an override, and thus it doesn't affect these cmake-defined URLs. The right way is to specify the replacements as overrides. Per Robert's advice, I am closing this PR. If the cudf team wants it anyway, feel free to say so or reopen it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant