ecl: fix build with libffi 3.3
The build was broken by the recent libffi update (53a04a2df0
) because of this upstream change:ef76205647
I have changed the usage of FFI_SYSV as gentoo suggests: https://wiki.gentoo.org/wiki/Libffi_3.3_porting_notes/FFI_SYSV I'm not entirely sure if that is the right call here, but I haven't noticed any regressions in my testing and its definitely better than a broken build. Upstream: https://gitlab.com/embeddable-common-lisp/ecl/issues/302
This commit is contained in:
parent
3ad650a14b
commit
00c3761322
@ -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" ];
|
||||
|
@ -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}"
|
||||
|
@ -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
|
||||
};
|
15
pkgs/development/compilers/ecl/libffi-3.3-abi.patch
Normal file
15
pkgs/development/compilers/ecl/libffi-3.3-abi.patch
Normal file
@ -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
|
||||
};
|
Loading…
Reference in New Issue
Block a user