Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python3.withPackages: don't propagate build dependencies #297484

Open
2 of 3 tasks
SomeoneSerge opened this issue Mar 20, 2024 · 0 comments
Open
2 of 3 tasks

python3.withPackages: don't propagate build dependencies #297484

SomeoneSerge opened this issue Mar 20, 2024 · 0 comments
Labels
6.topic: cuda Parallel computing platform and API 6.topic: python

Comments

@SomeoneSerge
Copy link
Contributor

SomeoneSerge commented Mar 20, 2024

Issue description

Native extensions for python often can be used both as python packages and as shared libraries, e.g. consumable via CMake's find_package. Sometimes the *Config.cmake modules (&c) generated by these projects cannot be consumed without manually providing their transitive dependencies again. In these cases we simplify the setup using nix-support/propagated-build-inputs.

Currently, however, python3Packages use propagatedBuildInputs to specify the (python) runtime dependencies, which get written into the same ${!outputDev}/nix/propagated-build-inputs as the build-time native dependencies would. This sometimes forces us to bring entire toolchains (e.g. nvcc and the huge static libraries in case of cuda) into the runtime closures of python3.withPackages instances, increasing closures sizes and the frequency of rebuilds.

Related: #272179

@SomeoneSerge SomeoneSerge added 6.topic: python 6.topic: cuda Parallel computing platform and API labels Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: cuda Parallel computing platform and API 6.topic: python
Projects
Status: New
Development

No branches or pull requests

1 participant