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

Add get_musl_major_minor from PEP 656. #10088

Closed

Conversation

dHannasch
Copy link

Since packaging supports PEP 656 wheels (pypa/packaging#411), I think all that is necessary to allow pip to install them is to have the platform check pick up the platform tag.

For example, right now rpy2-3.4.5-cp39-cp39-musllinux_1_2_x86_64.whl (tag cp39-cp39-musllinux_1_2_x86_64 @ 140319066709760) seems ready to install except for the fact that, on an actual musllinux system, get_supported() returns only [<cp39-cp39-linux_x86_64 @ 140319067309696>, <cp39-abi3-linux_x86_64 @ 140319066714880>, <cp39-none-linux_x86_64 @ 140319066715456>, <cp38-abi3-linux_x86_64 @ 140319066714240>, <cp37-abi3-linux_x86_64 @ 140319066715712>, <cp36-abi3-linux_x86_64 @ 140319066715968>, <cp35-abi3-linux_x86_64 @ 140319066716224>, <cp34-abi3-linux_x86_64 @ 140319066716480>, <cp33-abi3-linux_x86_64 @ 140319066716736>, <cp32-abi3-linux_x86_64 @ 140319066716992>, <py39-none-linux_x86_64 @ 140319066714304>, <py3-none-linux_x86_64 @ 140319066714688>, <py38-none-linux_x86_64 @ 140319066717696>, <py37-none-linux_x86_64 @ 140319066717952>, <py36-none-linux_x86_64 @ 140319066726464>, <py35-none-linux_x86_64 @ 140319066726720>, <py34-none-linux_x86_64 @ 140319066726976>, <py33-none-linux_x86_64 @ 140319066727232>, <py32-none-linux_x86_64 @ 140319066727488>, <py31-none-linux_x86_64 @ 140319066727744>, <py30-none-linux_x86_64 @ 140319066728000>, <cp39-none-any @ 140319066728512>, <py39-none-any @ 140319066728256>, <py3-none-any @ 140319066728768>, <py38-none-any @ 140319066729024>, <py37-none-any @ 140319066729280>, <py36-none-any @ 140319066729536>, <py35-none-any @ 140319066729792>, <py34-none-any @ 140319066730048>, <py33-none-any @ 140319066730304>, <py32-none-any @ 140319066730624>, <py31-none-any @ 140319066730880>, <py30-none-any @ 140319066731136>].

By itself, this doesn't change any behavior. I haven't figured out the right place to slot into the various additions to the supported list. But if I'm on the right track at all, then we'll need the get_musl_major_minor function from PEP 656 in compatibility_tags.py, and if not, then I'm on completely the wrong track.

@uranusjr
Copy link
Member

Where does pip need this? pip did not need to know about parsing glibc versions for manylinux, so I fail to see why it needs to know about musl versions for musllinux. AFAICT pip can simply relies on packaging.tags.get_tags() to do everything it needs.

@uranusjr uranusjr added the S: awaiting response Waiting for a response/more information label Jun 21, 2021
@dHannasch dHannasch closed this Jun 21, 2021
@dHannasch dHannasch deleted the add-musllinux-to-tags-if-on-musllinux branch June 21, 2021 16:37
@dHannasch
Copy link
Author

pip simply relies on packaging.tags.get_tags() to do everything it needs.

Thank you! It turns out upgrading packaging (#10089) was all that was needed. I have that running and installing musllinux_1_2_x86_64 wheels in https://hub.docker.com/orgs/pythonpackagesonalpine/repositories right now. (Which of course means we're closing in on the day when https://hub.docker.com/orgs/pythonpackagesonalpine/repositories will be retired in favor of just installing wheels.)

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 28, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
S: awaiting response Waiting for a response/more information
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants