diff --git a/lang/spidermonkey78/Makefile b/lang/spidermonkey78/Makefile index c753b8014da1..0ace36ef5937 100644 --- a/lang/spidermonkey78/Makefile +++ b/lang/spidermonkey78/Makefile @@ -1,87 +1,87 @@ PORTNAME= spidermonkey DISTVERSION= 78.7.0 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= lang MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source PKGNAMESUFFIX= ${SP_VER} DISTNAME= firefox-${DISTVERSION}esr.source MAINTAINER= swills@FreeBSD.org COMMENT= Standalone JavaScript based from Mozilla 78-esr LICENSE= MPL20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g} \ ${RUST_DEFAULT}>=1.35:lang/${RUST_DEFAULT} \ autoconf-2.13:devel/autoconf213 \ rust-cbindgen>=0.8.7:devel/rust-cbindgen LIB_DEPENDS= libffi.so:devel/libffi \ libicudata.so:devel/icu \ libnspr4.so:devel/nspr USES= compiler:c++17-lang gmake localbase pathfix pkgconfig python:build \ readline tar:xz USE_LDCONFIG= yes SP_VER= 78 HAS_CONFIGURE= yes WRKSRC= ${WRKDIR}/firefox-${DISTVERSION} PATCH_WRKSRC= ${WRKDIR}/firefox-${DISTVERSION}/ CONFIGURE_OUTSOURCE= yes CONFIGURE_SCRIPT= ../firefox-${DISTVERSION}/js/src/configure CONFIGURE_ARGS= --disable-debug \ --disable-debug-symbols \ --disable-gold \ --disable-jemalloc \ --disable-tests \ --enable-optimize \ --enable-readline \ --enable-shared-js \ --prefix=${PREFIX:Q} \ --target=${CONFIGURE_TARGET} \ --with-intl-api \ --with-system-icu \ --with-system-nspr \ --with-system-zlib CONFIGURE_ENV= HOST_CC=${CC} \ HOST_CXX=${CXX} BINARY_ALIAS= python3=${PYTHON_CMD} PLIST_SUB= SP_VER=${SP_VER} .include .if ${ARCH} == amd64 CONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL} .endif # Require newer Clang than what's in base system unless user opted out # or the base system is new enough. .if ${CHOSEN_COMPILER_TYPE} == gcc CONFIGURE_ENV+= LLVM_CONFIG=llvm-config${LLVM_DEFAULT} \ LLVM_OBJDUMP=llvm-objdump${LLVM_DEFAULT} BUILD_DEPENDS+= ${LOCALBASE}/bin/llvm-objdump${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} USE_GCC= yes .elif ${CC} == cc && ${CXX} == c++ && exists(/usr/lib/libc++.so) && \ ${COMPILER_VERSION} < 80 CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT} CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT} CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT} CONFIGURE_ENV+= LLVM_CONFIG=llvm-config${LLVM_DEFAULT} \ LLVM_OBJDUMP=llvm-objdump${LLVM_DEFAULT} BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} .endif post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/js/moz.configure post-install: ${RM} ${STAGEDIR}${PREFIX}/lib/libjs_static.ajs ${LN} -fs libmozjs-${SP_VER}.so ${STAGEDIR}${PREFIX}/lib/libmozjs-${SP_VER}.so.1 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/js${SP_VER} ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmozjs-${SP_VER}.* .include diff --git a/lang/spidermonkey78/files/patch-js_public_StructuredClone.h b/lang/spidermonkey78/files/patch-js_public_StructuredClone.h new file mode 100644 index 000000000000..de5de74a5b7d --- /dev/null +++ b/lang/spidermonkey78/files/patch-js_public_StructuredClone.h @@ -0,0 +1,13 @@ +https://bugzilla.mozilla.org/show_bug.cgi?id=1644600 + +--- js/public/StructuredClone.h.orig 2021-02-17 07:48:59 UTC ++++ js/public/StructuredClone.h +@@ -381,7 +381,7 @@ enum OwnTransferablePolicy { + namespace js { + class SharedArrayRawBuffer; + +-class SharedArrayRawBufferRefs { ++class JS_PUBLIC_API SharedArrayRawBufferRefs { + public: + SharedArrayRawBufferRefs() = default; + SharedArrayRawBufferRefs(SharedArrayRawBufferRefs&& other) = default; diff --git a/lang/spidermonkey78/files/patch-js_src_build_js-config.in b/lang/spidermonkey78/files/patch-js_src_build_js-config.in new file mode 100644 index 000000000000..97509e5b716b --- /dev/null +++ b/lang/spidermonkey78/files/patch-js_src_build_js-config.in @@ -0,0 +1,18 @@ +--- js/src/build/js-config.in.orig 2021-08-28 22:43:38 UTC ++++ js/src/build/js-config.in +@@ -8,7 +8,6 @@ mozilla_version='@MOZILLA_VERSION@' + JS_LIBRARY_NAME='@JS_LIBRARY_NAME@' + NSPR_CFLAGS='@NSPR_CFLAGS@' + JS_CONFIG_LIBS='@JS_CONFIG_LIBS@' +-MOZ_JS_LIBS='@JS_CONFIG_MOZ_JS_LIBS@' + + FILENAME=`basename "$0"` + +@@ -111,6 +110,7 @@ if test "$echo_cflags" = "yes"; then + echo "-std=gnu++11 -include $includedir/$JS_LIBRARY_NAME/js/RequiredDefines.h -isystem $includedir/$JS_LIBRARY_NAME $NSPR_CFLAGS" + fi + ++MOZ_JS_LIBS="@JS_CONFIG_MOZ_JS_LIBS@" + if test "$echo_libs" = "yes"; then + echo "$MOZ_JS_LIBS $JS_CONFIG_LIBS" + fi