*/*njs: fix build on FreeBSD 15

/usr/local/include/quickjs/quickjs.h:996:34: error: cast from 'JSCFunctionMagic *' (aka 'struct JSValue (*)(struct JSContext *, struct JSValue, int, struct JSValue *, int)') to 'JSCFunction *' (aka 'struct JSValue (*)(struct JSContext *, struct JSValue, int, struct JSValue *)') converts to incompatible function type [-Werror,-Wcast-function-type-mismatch]
  996 |     return JS_NewCFunction2(ctx, (JSCFunction *)func, name, length, cproto, magic);
      |                                  ^~~~~~~~~~~~~~~~~~~
1 error generated.
This commit is contained in:
Sergey A. Osokin 2024-12-21 15:00:20 -05:00
parent 391b7d80e1
commit e038a67fc3
2 changed files with 18 additions and 4 deletions

View file

@ -13,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libpcre2-8.so:devel/pcre2 \
libquickjs.so:lang/quickjs
USES= cpe ssl
USES= compiler:c11 cpe ssl
CPE_VENDOR= f5
@ -24,6 +24,13 @@ CONFIGURE_ARGS= --cc-opt="-I${LOCALBASE}/include/quickjs" \
--ld-opt="-L${LOCALBASE}/lib" \
--with-quickjs
.include <bsd.port.pre.mk>
# Fixes build failed for Clang 19.1.3+
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1500026 && ${CHOSEN_COMPILER_TYPE} == clang
CFLAGS+= -Wno-error=cast-function-type-mismatch
.endif
post-patch:
${REINPLACE_CMD} 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/src/njs.pc.in
@ -37,4 +44,4 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/build/libnjs.a ${STAGEDIR}${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/build/njs.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig
.include <bsd.port.mk>
.include <bsd.port.post.mk>

View file

@ -13,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libpcre2-8.so:devel/pcre2 \
libquickjs.so:lang/quickjs
USES= cpe ssl
USES= compiler:c11 cpe ssl
CPE_VENDOR= f5
@ -27,10 +27,17 @@ CONFIGURE_ARGS= --cc-opt="-I${LOCALBASE}/include/quickjs" \
PLIST_FILES= bin/njs
.include <bsd.port.pre.mk>
# Fixes build failed for Clang 19.1.3+
.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1500026 && ${CHOSEN_COMPILER_TYPE} == clang
CFLAGS+= -Wno-error=cast-function-type-mismatch
.endif
do-build:
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} njs
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/build/njs ${STAGEDIR}${PREFIX}/bin
.include <bsd.port.mk>
.include <bsd.port.post.mk>