Commit ef35af3b authored by Ihar Hrachyshka's avatar Ihar Hrachyshka
Browse files

python311: fix _ctypes build on darwin

In Python 3.12+, the -DUSING_APPLE_OS_LIBFFI=1 macro is always set:
https://github.com/python/cpython/commit/25590eb5dee5176f3ac60916b19450f8198e7ffc



Fixes #390348

Signed-off-by: default avatarIhar Hrachyshka <ihar.hrachyshka@gmail.com>
parent 8db87f29
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -434,6 +434,9 @@ in with passthru; stdenv.mkDerivation (finalAttrs: {
    for path in /usr /sw /opt /pkg; do
      substituteInPlace ./setup.py --replace-warn $path /no-such-path
    done
  '' + optionalString (stdenv.hostPlatform.isDarwin && pythonOlder "3.12") ''
    # Fix _ctypes module compilation
    export NIX_CFLAGS_COMPILE+=" -DUSING_APPLE_OS_LIBFFI=1"
  '' + optionalString stdenv.hostPlatform.isDarwin ''
    # Override the auto-detection in setup.py, which assumes a universal build
    export PYTHON_DECIMAL_WITH_MACHINE=${if stdenv.hostPlatform.isAarch64 then "uint128" else "x64"}