fix build after libffi update

this issue has been addressed by upstream ecl in a more elaborate manner than
i feel is appropriate for now. we'll pull in their fix when this port gets
updated to the next version.

breakage reported by naddy@
also tested by tb@ on i386
This commit is contained in:
jasper 2020-02-12 19:42:02 +00:00
parent 90f1081146
commit af27e15f7a
2 changed files with 28 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.38 2019/07/12 20:47:17 sthen Exp $
# $OpenBSD: Makefile,v 1.39 2020/02/12 19:42:02 jasper Exp $
COMMENT = embeddable common-lisp
CATEGORIES = lang
@ -8,7 +8,7 @@ BROKEN-mips64 = ecl_min fails
V = 16.1.3
DISTNAME = ecl-$V
SHARED_LIBS += ecl 6.0
REVISION = 2
REVISION = 3
HOMEPAGE = https://common-lisp.net/project/ecl/
MAINTAINER = Timo Myyra <timo.myyra@bittivirhe.fi>

View File

@ -0,0 +1,26 @@
$OpenBSD: patch-src_c_ffi_d,v 1.1 2020/02/12 19:42:02 jasper Exp $
libffi for x86_64 doesn't define FFI_SYSV anymore for FFI_UNIX64 should used instead
fixed upstream with https://gitlab.com/embeddable-common-lisp/ecl/commit/b2f09b4809441a92d6c11a2b39d5399580e56ae7
Index: src/c/ffi.d
--- src/c/ffi.d.orig
+++ src/c/ffi.d
@@ -132,10 +132,15 @@ static struct {
{@':stdcall', FFI_STDCALL},
#elif defined(X86_WIN64)
{@':win64', FFI_WIN64},
-#elif defined(X86_ANY) || defined(X86) || defined(X86_64)
+#elif defined(X86_ANY) || defined(X86)
+#if defined(X86_64)
+ {@':cdecl', FFI_UNIX64},
+ {@':sysv', FFI_UNIX64},
+ {@':unix64', FFI_UNIX64},
+#else
{@':cdecl', FFI_SYSV},
{@':sysv', FFI_SYSV},
- {@':unix64', FFI_UNIX64},
+#endif
#endif
};