about summary refs log tree commit diff
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)
downloadnixlib-858eebe1f9bdb6c58bbd1b95055d03e97355d49c.tar
nixlib-858eebe1f9bdb6c58bbd1b95055d03e97355d49c.tar.gz
nixlib-858eebe1f9bdb6c58bbd1b95055d03e97355d49c.tar.bz2
nixlib-858eebe1f9bdb6c58bbd1b95055d03e97355d49c.tar.lz
nixlib-858eebe1f9bdb6c58bbd1b95055d03e97355d49c.tar.xz
nixlib-858eebe1f9bdb6c58bbd1b95055d03e97355d49c.tar.zst
nixlib-858eebe1f9bdb6c58bbd1b95055d03e97355d49c.zip
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";