From 858eebe1f9bdb6c58bbd1b95055d03e97355d49c Mon Sep 17 00:00:00 2001 From: Peter Woodman Date: Thu, 21 Jan 2021 04:05:50 -0500 Subject: [PATCH] cpython: fix extensions when using a musl toolchain --- pkgs/development/interpreters/python/cpython/default.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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";