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

Cleanup wheels from useless artefacts #473

Closed
SylvainCorlay opened this issue Mar 24, 2020 · 2 comments · Fixed by #476
Closed

Cleanup wheels from useless artefacts #473

SylvainCorlay opened this issue Mar 24, 2020 · 2 comments · Fixed by #476
Labels
Status: Triage Issues/PRs that need to be triaged

Comments

@SylvainCorlay
Copy link
Contributor

Is it possible to exclude items which are in the cmake install manifest from the wheel?

As it turns out, we were able to do a fully static build of everything in our scikit-build wheel to avoid relocation issues, but te resulting wheel includes the .a, as well as the cmake config files and other artefacts from the dependencies. Since all we produce is an executable, we could completely remove all of that...

@jcfr jcfr added the Status: Triage Issues/PRs that need to be triaged label Mar 24, 2020
@jcfr
Copy link
Contributor

jcfr commented Mar 24, 2020

Thanks for the report.

Since scikit-build performs the install of the project, I suspect they are install rules associated with static libraries.

To address this, I am thinking of few possible approaches:

  • (1) provide a scikit-build specific option allowing to choose components to install. We should then be able to only install these. I think we could achieve this by improving the _parse_manifest function used here
  • (1a) If scikit-build detects they are components associated with install rules, it could automatically select Runtime and RuntimeLibraries components by building up on what would be implemented in (1)... but I fear this could break existing packages.
  • (2) Systematically filter out some of the artifacts based on file extension.

I think (1) would be a reasonable trad-off.

@SylvainCorlay
Copy link
Contributor Author

I think that (1) and then (1a) at a later stage are probably the best way to do so.

If there was a hook to filter items in the manifest manually, we would certainly do that for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Triage Issues/PRs that need to be triaged
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants