From 67915acae1b8a3a234f06c46a0a293b834e8c03e Mon Sep 17 00:00:00 2001 From: Randy Eckenrode Date: Tue, 26 Nov 2024 21:11:46 -0500 Subject: [PATCH] libffi: use darwin.libffi on Darwin --- pkgs/top-level/all-packages.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4182436fa084..2f5a47a8cb58 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9642,7 +9642,12 @@ with pkgs; python = python3; }; - libffi = callPackage ../development/libraries/libffi { }; + # Use Apple’s fork of libffi by default, which provides APIs and trampoline functionality that is not yet + # merged upstream. This is needed by some packages (such as cffi). + # + # `libffiReal` is provided in case the upstream libffi package is needed on Darwin instead of the fork. + libffiReal = callPackage ../development/libraries/libffi { }; + libffi = if stdenv.hostPlatform.isDarwin then darwin.libffi else libffiReal; libffi_3_3 = callPackage ../development/libraries/libffi/3.3.nix { }; libffiBoot = libffi.override { doCheck = false;