Open LecrisUT opened 4 months ago
The fix is to not add cmake to build-system, and maybe specifically filter 'cmake', 'ninja', 'patchelf', and any other PyPI redistrubtions with the auto-detection tool. They are not meant to be distributed outside of PyPI.
Duplicate of #80 and others, though this is more focused on redistributors, which would keep the versions in sync, at least. See my comment on #511.
One other problem with providing these metadata files is that it can cause some systems to add a Python dependency when one isn't needed (Conda-forge's ninja and cmake packages would then require Python, while they don't now), and it can also tie this to one version of Python (it would in Homebrew), when cmake and ninja do not require Python.
Beyond the build-system
, my worry is if the python files gain more functionalities like https://github.com/scikit-build/cmake-python-distributions/issues/36 such that it is used beyond the building of python packages.
One other problem with providing these metadata files is that it can cause some systems to add a Python dependency when one isn't needed
Oh good point. On distro packages it is possible to tune the dependencies of each sub-package. I guess you can mimic that behavior by splitting the packages, but that would lead desyncing and other issues.
Additional functionally will not be added to this package. Scikit-build-core or other packages support additional functionality. This is only a redistribution.
Ok, that's reassuring. Could the relevant feature requests be closed?
Also, maybe adding some notes/warning on the README such that people do not start using/relying on the python files here, and instead use other tools that check the availability of system cmake first
In Fedora many of the dependencies are auto-detected via
%pyproject_buildrequires
and sometimes cmake pinning is included in a projects[build-system]
.Just to make such packaging smoother it would be nice to have a way to generate only the python metadata (and python-only files) so that can be packaged in cmake. This most likely would require revisiting scikit-build-cli.
On this repo side, there is only 1 requirement, to make sure release candidate are tagged and released close to the release of cmake upstream.