about summary refs log tree commit diff
path: root/pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch
diff options
context:
space:
mode:
authorTimo Kaufmann <timokau@zoho.com>2019-12-16 23:02:26 +0100
committerTimo Kaufmann <timokau@zoho.com>2019-12-16 23:02:26 +0100
commit00c3761322ec4d2aa85e66f1c55452ded3f9e681 (patch)
tree48e1996ee9d25896e6999e2b05263bba99882a99 /pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch
parent3ad650a14b0477a0df2795abe185c66849a5012d (diff)
ecl: fix build with libffi 3.3
The build was broken by the recent libffi update
(53a04a2df0c0812fd983364184d519dc3356e7d2) because of this upstream
change:

https://github.com/libffi/libffi/commit/ef76205647bca77796882d31f6ab5e889f461f07

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
Diffstat (limited to 'pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch')
-rw-r--r--pkgs/development/compilers/ecl/ecl-1.16.2-libffi-3.3-abi.patch15
1 files changed, 15 insertions, 0 deletions
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 0000000000000..28dd7d0805b3c
--- /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
+ };