diff --git a/devel/lightning/Makefile b/devel/lightning/Makefile index c2d441cbfcaf..2bf08dff09ef 100644 --- a/devel/lightning/Makefile +++ b/devel/lightning/Makefile @@ -1,35 +1,43 @@ PORTNAME= lightning PORTVERSION= 2.2.0 CATEGORIES= devel MASTER_SITES= GNU MAINTAINER= bofh@FreeBSD.org COMMENT= Generates assembly language code at run-time WWW= https://www.gnu.org/software/lightning/ LICENSE= LGPL3+ LICENSE_FILE= ${WRKSRC}/COPYING.LESSER ONLY_FOR_ARCHS= aarch64 amd64 arm armv6 armv7 i386 mips powerpc powerpc64 powerpc64le powerpcspe sparc64 -BROKEN_armv6= fails to link: ../lib/.libs/liblightning.so: undefined reference to `__addsf3' -BROKEN_armv7= fails to link: ../lib/.libs/liblightning.so: undefined reference to `__addsf3' USES= cpe libtool pathfix CPE_VENDOR= gnu GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-disassembler=no INSTALL_TARGET= install-strip TEST_TARGET= check USE_LDCONFIG= yes -PLIST_SUB= JIT_ARCH=${ARCH:S/i386/x86/:S/amd64/x86/:S/x86_64/x86/:S/sparc64/sparc/:C/powerpc.*/ppc/} +PLIST_SUB= JIT_ARCH=${ARCH:S/i386/x86/:S/amd64/x86/:S/x86_64/x86/:S/sparc64/sparc/:C/powerpc.C/ppc/:C/armv./arm/} INFO= lightning OPTIONS_DEFINE= ASSERTIONS ASSERTIONS_DESC=Enable runtime code generation assertions ASSERTIONS_CONFIGURE_ON=--enable-assertions=yes ASSERTIONS_CONFIGURE_OFF=--enable-assertions=no -.include +.include + +.if ${ARCH:Marmv?} +USE_GCC= yes +.endif + +pre-configure: + @${REINPLACE_CMD} -e \ + 's|%%CC%%|${CC:T}|' ${WRKSRC}/check/lightning.c + +.include diff --git a/devel/lightning/files/patch-check_lightning.c b/devel/lightning/files/patch-check_lightning.c new file mode 100644 index 000000000000..31cad88264e6 --- /dev/null +++ b/devel/lightning/files/patch-check_lightning.c @@ -0,0 +1,11 @@ +--- check/lightning.c.orig 2022-11-08 16:00:32 UTC ++++ check/lightning.c +@@ -4333,7 +4333,7 @@ main(int argc, char *argv[]) + #else + # define cc "gcc" + #endif +- opt_short = snprintf(cmdline, sizeof(cmdline), cc " -E -x c %s", argv[opt_index]); ++ opt_short = snprintf(cmdline, sizeof(cmdline), "%%CC%% -E -x c %s", argv[opt_index]); + opt_short += snprintf(cmdline + opt_short, + sizeof(cmdline) - opt_short, + " -D__WORDSIZE=%d", __WORDSIZE); diff --git a/devel/lightning/files/patch-lib_jit__arm-swf.c b/devel/lightning/files/patch-lib_jit__arm-swf.c new file mode 100644 index 000000000000..f2a77e8f03a1 --- /dev/null +++ b/devel/lightning/files/patch-lib_jit__arm-swf.c @@ -0,0 +1,20 @@ +--- lib/jit_arm-swf.c.orig 2022-11-30 10:43:45 UTC ++++ lib/jit_arm-swf.c +@@ -402,7 +402,7 @@ static void _swf_vaarg_d(jit_state_t*, jit_int32_t, ji + BICI(rt, rn, encode_arm_immediate(im)); \ + } while (0) + +-#if !defined(__GNUC__) ++#if !defined(__GNUC__) || defined(__llvm__) + float __addsf3(float u, float v) + { + return (u + v); +@@ -414,6 +414,8 @@ __adddf3(double u, double v) + return (u + v); + } + ++#endif ++#if !defined(__GNUC__) + float + __aeabi_fsub(float u, float v) + {