diff --git a/pkgs/development/compilers/ecl/16.1.2.nix b/pkgs/development/compilers/ecl/16.1.2.nix index bede9fa4aa68..a7b2aa6be748 100644 --- a/pkgs/development/compilers/ecl/16.1.2.nix +++ b/pkgs/development/compilers/ecl/16.1.2.nix @@ -61,6 +61,7 @@ stdenv.mkDerivation { url = "https://git.sagemath.org/sage.git/plain/build/pkgs/ecl/patches/16.1.2-getcwd.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba"; sha256 = "1fbi8gn7rv8nqff5mpaijsrch3k3z7qc5cn4h1vl8qrr8xwqlqhb"; }) + ./ecl-1.16.2-libffi-3.3-abi.patch ]; hardeningDisable = [ "format" ]; diff --git a/pkgs/development/compilers/ecl/default.nix b/pkgs/development/compilers/ecl/default.nix index 33ed690772ea..375b38f1dc68 100644 --- a/pkgs/development/compilers/ecl/default.nix +++ b/pkgs/development/compilers/ecl/default.nix @@ -35,6 +35,10 @@ stdenv.mkDerivation { inherit (s) url sha256; }; + patches = [ + ./libffi-3.3-abi.patch + ]; + configureFlags = [ (if threadSupport then "--enable-threads" else "--disable-threads") "--with-gmp-prefix=${gmp.dev}" diff --git a/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch b/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch new file mode 100644 index 000000000000..28dd7d0805b3 --- /dev/null +++ b/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch @@ -0,0 +1,15 @@ +diff --git a/src/c/ffi.d b/src/c/ffi.d +index 8861303e..8a959c23 100644 +--- a/src/c/ffi.d ++++ b/src/c/ffi.d +@@ -145,8 +145,8 @@ static struct { + #elif defined(X86_WIN64) + {@':win64', FFI_WIN64}, + #elif defined(X86_ANY) || defined(X86) || defined(X86_64) +- {@':cdecl', FFI_SYSV}, +- {@':sysv', FFI_SYSV}, ++ {@':cdecl', FFI_UNIX64}, ++ {@':sysv', FFI_UNIX64}, + {@':unix64', FFI_UNIX64}, + #endif + }; diff --git a/pkgs/development/compilers/ecl/libffi-3.3-abi.patch b/pkgs/development/compilers/ecl/libffi-3.3-abi.patch new file mode 100644 index 000000000000..0a2b5f4dd568 --- /dev/null +++ b/pkgs/development/compilers/ecl/libffi-3.3-abi.patch @@ -0,0 +1,15 @@ +diff --git a/src/c/ffi.d b/src/c/ffi.d +index 8174977a..caa69f39 100644 +--- a/src/c/ffi.d ++++ b/src/c/ffi.d +@@ -133,8 +133,8 @@ static struct { + #elif defined(X86_WIN64) + {@':win64', FFI_WIN64}, + #elif defined(X86_ANY) || defined(X86) || defined(X86_64) +- {@':cdecl', FFI_SYSV}, +- {@':sysv', FFI_SYSV}, ++ {@':cdecl', FFI_UNIX64}, ++ {@':sysv', FFI_UNIX64}, + {@':unix64', FFI_UNIX64}, + #endif + };