summaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authorPeter Woodman <peter@shortbus.org>2021-01-21 04:05:50 -0500
committerFlorian Klink <flokli@flokli.de>2021-01-22 23:56:19 +0100
commit858eebe1f9bdb6c58bbd1b95055d03e97355d49c (patch)
treed1fa00ca354cd44588def744dd32a0f8afb35667 /pkgs
parentc6d4197e4f27877aae93dc92c68c75365aa17160 (diff)
cpython: fix extensions when using a musl toolchain
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix8
1 files changed, 7 insertions, 1 deletions
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 2e4e2f1f6db5..347245f8a01b 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -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";