Merge pull request #110293 from pjjw/python-extension-musl-fix

cpython: fix extensions when using a musl toolchain
This commit is contained in:
Florian Klink 2021-01-23 00:23:24 +01:00 committed by GitHub
commit e1c86b9a1d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -125,9 +125,15 @@ let
if parsed.cpu.significantByte.name == "littleEndian" then "arm" else "armeb"
else if isx86_32 then "i386"
else parsed.cpu.name;
pythonAbiName =
# python's build doesn't differentiate between musl and glibc in its
# abi detection, our wrapper should match.
if stdenv.hostPlatform.isMusl then
replaceStrings [ "musl" ] [ "gnu" ] parsed.abi.name
else parsed.abi.name;
multiarch =
if isDarwin then "darwin"
else "${multiarchCpu}-${parsed.kernel.name}-${parsed.abi.name}";
else "${multiarchCpu}-${parsed.kernel.name}-${pythonAbiName}";
abiFlags = optionalString (isPy36 || isPy37) "m";