-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
python3Packages.sip: ./fix-manylinux-version.patch powerpc64le->ppc64le #168053
Conversation
The upgrade of python3Packages.sip from 6.1.1 -> 6.5.0 in 2c9237 broke many dependent packages (notably, PyQt5) on most non-x86_64 platforms. This was reported in #163589 and fixed in #165992 at 0bcbce26. However the fix is not quite complete; Python seems to have several competing naming schemes for platforms (none of which aligns with the standard gcc/autoconf platform tuples). The `py_platform` identifier for 64-bit PowerPC machines is "powerpc64le", but the `wheel` tag for these machines uses the identifier `ppc64le`. Since the code in `sipbuild/project.py` branches based on one but updates the other, we need a rosetta stone here. Let's update ./fix-manylinux-version.patch from 0bcbce26 to add it. Tested on powerpc64le-linux Raptor Computing Systems Talos II.
For the record, I grabbed the list of tags and supported versions from PEP 600, which does not mention powerpc64le at all. I found an issue which suggests that ppc64le vs. powerpc64le depends on what the distro decides. I'm not sure if the community has come to a consensus on if powerpc64le is a valid tag or not for the Python wheel specifically. A comment there suggests that the valid wheels should in fact be called powerpc64le and ppc64le be deprecated. In any case, does a replacement for ppc64 -> powerpc64 also need to be created? |
Yeah, this situation is a total mess. I'm digging into it further. It looks like the problem is actually further upstream, the I've got a rebuild testing that right now, but it'll take a few hours. Why, oh why can't everybody just use the binutils/gcc/autoconf tuples instead of cooking up their own taxonomy... Someday I am going to submit a PR for |
Yes, I believe that was the correct thing to do.
My reading is that the PEP600 standard adopted the architecture names that Fedora was using in 2014. Since 2014, Fedora may or may not have switched to the binutils/gcc/autoconf name |
The thing is, that comment seems to be a Fedora maintainer suggesting that they regret the choice of To be clear, what exactly is the problem you see on your system? Theoretically, if your Python reports itself as I wonder if it would best to simply patch sip's |
Description of changes
The upgrade of python3Packages.sip from 6.1.1 -> 6.5.0 in 2c9237 broke
many dependent packages (notably, PyQt5) on most non-x86_64 platforms.
This was reported in #163589 and fixed in #165992 at 0bcbce26.
However the fix is not quite complete; Python seems to have several
competing naming schemes for platforms (none of which aligns with the
standard gcc/autoconf platform tuples). The
py_platform
identifierfor 64-bit PowerPC machines is "powerpc64le", but the
wheel
tag forthese machines uses the identifier
ppc64le
. Since the code insipbuild/project.py
branches based on one but updates the other, weneed a rosetta stone here. Let's update ./fix-manylinux-version.patch
from 0bcbce26 to add it.
Tested on powerpc64le-linux Raptor Computing Systems Talos II.
CC: @tpwrules @FRidh @r-burns @CrystalGamma
Things done
Marked as draft while I verify with a rebuild.
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage