Re: git: 925129531a5c - main - lang/spidermonkey102: New port

From: Piotr Kubaj <pkubaj_at_anongoth.pl>
Date: Tue, 13 Sep 2022 17:21:14 UTC
On 22-09-13 16:49:30, Neel Chauhan wrote:
>The branch main has been updated by nc:
>
>URL: https://cgit.FreeBSD.org/ports/commit/?id=925129531a5cef8f8ccdbfbb04f3f8143bcae535
>
>commit 925129531a5cef8f8ccdbfbb04f3f8143bcae535
>Author:     Neel Chauhan <nc@FreeBSD.org>
>AuthorDate: 2022-09-13 16:49:27 +0000
>Commit:     Neel Chauhan <nc@FreeBSD.org>
>CommitDate: 2022-09-13 16:49:27 +0000
>
>    lang/spidermonkey102: New port
>---
> lang/Makefile                                      |   1 +
> lang/spidermonkey102/Makefile                      |  90 ++++++
> lang/spidermonkey102/distinfo                      |   3 +
> .../files/extra-patch-config_makefiles_rust.mk     |  10 +
> .../files/patch-build_moz.configure_init.configure |  12 +
> .../files/patch-config_gcc__hidden.h               |  17 +
> lang/spidermonkey102/files/patch-js_moz.configure  |  11 +
> .../spidermonkey102/files/patch-js_src_Makefile.in |  11 +
> .../files/patch-js_src_jit_ExecutableAllocator.h   |  14 +
> .../patch-js_src_jit_ProcessExecutableMemory.h     |  12 +
> .../files/patch-modules_fdlibm_src_math__private.h |  46 +++
> lang/spidermonkey102/files/patch-moz.configure     |  14 +
> lang/spidermonkey102/pkg-descr                     |   1 +
> lang/spidermonkey102/pkg-plist                     | 346 +++++++++++++++++++++
> 14 files changed, 588 insertions(+)
>
>diff --git a/lang/Makefile b/lang/Makefile
>index 178e246fbb47..4713b8ed51a2 100644
>--- a/lang/Makefile
>+++ b/lang/Makefile
>@@ -337,6 +337,7 @@
>     SUBDIR += smlnj
>     SUBDIR += snobol4
>     SUBDIR += solidity
>+    SUBDIR += spidermonkey102
>     SUBDIR += spidermonkey17
>     SUBDIR += spidermonkey78
>     SUBDIR += spidermonkey91
>diff --git a/lang/spidermonkey102/Makefile b/lang/spidermonkey102/Makefile
>new file mode 100644
>index 000000000000..6a34e1f04d1d
>--- /dev/null
>+++ b/lang/spidermonkey102/Makefile
>@@ -0,0 +1,90 @@
>+PORTNAME=	spidermonkey
>+DISTVERSION=	102.3.0
>+CATEGORIES=	lang
>+MASTER_SITES=	MOZILLA/firefox/releases/${DISTVERSION}esr/source
>+PKGNAMESUFFIX=	${SP_VER}
>+DISTNAME=	firefox-${DISTVERSION}esr.source
>+
>+MAINTAINER=	nc@FreeBSD.org
>+COMMENT=	Standalone JavaScript based from Mozilla 91-esr

91?
>+WWW=		https://spidermonkey.dev/
>+
>+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} \
>+		autoconf2.13:devel/autoconf2.13 \
>+		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=		102
>+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-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 <bsd.port.pre.mk>
>+
>+.if ${ARCH} == amd64
>+CONFIGURE_TARGET=	x86_64-portbld-freebsd${OSREL}
>+.elif ${ARCH} == powerpc
>+EXTRA_PATCHES=	${FILESDIR}/extra-patch-config_makefiles_rust.mk
>+.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
>+
>+pre-configure:
>+	(cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf2.13)
>+
>+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}/lib/libmozjs-${SP_VER}.*
>+
>+.include <bsd.port.post.mk>
>diff --git a/lang/spidermonkey102/distinfo b/lang/spidermonkey102/distinfo
>new file mode 100644
>index 000000000000..bde06f99bd73
>--- /dev/null
>+++ b/lang/spidermonkey102/distinfo
>@@ -0,0 +1,3 @@
>+TIMESTAMP = 1663086793
>+SHA256 (firefox-102.3.0esr.source.tar.xz) = 308e23b6dcf964e342cf95fd0c8a386127371b620a489ae26e537d728341b55a
>+SIZE (firefox-102.3.0esr.source.tar.xz) = 478260896
>diff --git a/lang/spidermonkey102/files/extra-patch-config_makefiles_rust.mk b/lang/spidermonkey102/files/extra-patch-config_makefiles_rust.mk
>new file mode 100644
>index 000000000000..4a11a0bd1008
>--- /dev/null
>+++ b/lang/spidermonkey102/files/extra-patch-config_makefiles_rust.mk
>@@ -0,0 +1,10 @@
>+--- config/makefiles/rust.mk.orig	2022-04-02 10:37:19 UTC
>++++ config/makefiles/rust.mk
>+@@ -221,7 +221,6 @@
>+ ifneq (,$(PKG_CONFIG_LIBDIR))
>+ export PKG_CONFIG_LIBDIR
>+ endif
>+-export RUST_BACKTRACE=full
>+ export MOZ_TOPOBJDIR=$(topobjdir)
>+ export MOZ_FOLD_LIBS
>+ export PYTHON3
>diff --git a/lang/spidermonkey102/files/patch-build_moz.configure_init.configure b/lang/spidermonkey102/files/patch-build_moz.configure_init.configure
>new file mode 100644
>index 000000000000..e2105d02928f
>--- /dev/null
>+++ b/lang/spidermonkey102/files/patch-build_moz.configure_init.configure
>@@ -0,0 +1,12 @@
>+--- build/moz.configure/init.configure.orig	2022-03-30 19:25:29 UTC
>++++ build/moz.configure/init.configure
>+@@ -729,6 +729,9 @@ def split_triplet(triplet, allow_msvc=False, allow_was
>+     elif cpu in ("x86_64", "ia64"):
>+         canonical_cpu = cpu
>+         endianness = "little"
>++    elif cpu in ("amd64"):
>++        canonical_cpu = "x86_64"
>++        endianness = "little"
>+     elif cpu in ("s390", "s390x"):
>+         canonical_cpu = cpu
>+         endianness = "big"
>diff --git a/lang/spidermonkey102/files/patch-config_gcc__hidden.h b/lang/spidermonkey102/files/patch-config_gcc__hidden.h
>new file mode 100644
>index 000000000000..d9a2d9be37f5
>--- /dev/null
>+++ b/lang/spidermonkey102/files/patch-config_gcc__hidden.h
>@@ -0,0 +1,17 @@
>+Toggle symbol visibility, otherwise certain symbols are marked as local
>+which are actually supposed to be used (e.g. by gjs):
>+
>+void js::UnsafeTraceManuallyBarrieredEdge<jsid>(JSTracer*, jsid*, char const*)
>+void JS::TraceEdge<JSObject*>(JSTracer*, JS::Heap<JSObject*>*, char const*)
>+void js::UnsafeTraceManuallyBarrieredEdge<JSObject*>(JSTracer*, JSObject**, char const*)
>+void js::UnsafeTraceManuallyBarrieredEdge<JS::Value>(JSTracer*, JS::Value*, char const*)
>+
>+Index: config/gcc_hidden.h
>+--- config/gcc_hidden.h.orig	2022-03-30 19:25:29 UTC
>++++ config/gcc_hidden.h
>+@@ -3,4 +3,4 @@
>+  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
>+
>+ /* Begin all files as hidden visibility */
>+-#pragma GCC visibility push(hidden)
>++#pragma GCC visibility push(default)
>diff --git a/lang/spidermonkey102/files/patch-js_moz.configure b/lang/spidermonkey102/files/patch-js_moz.configure
>new file mode 100644
>index 000000000000..ceec1a21abe7
>--- /dev/null
>+++ b/lang/spidermonkey102/files/patch-js_moz.configure
>@@ -0,0 +1,11 @@
>+--- js/moz.configure.orig	2022-04-15 17:29:44 UTC
>++++ js/moz.configure
>+@@ -919,7 +919,7 @@ has_readline = check_symbol(
>+
>+ has_readline = check_symbol(
>+     "readline",
>+-    flags=["-lreadline"],
>++    flags=["-lreadline", "-L%%LOCALBASE%%/lib"],
>+     when="--enable-readline",
>+     onerror=lambda: die("No system readline library found"),
>+ )
>diff --git a/lang/spidermonkey102/files/patch-js_src_Makefile.in b/lang/spidermonkey102/files/patch-js_src_Makefile.in
>new file mode 100644
>index 000000000000..2dca25000935
>--- /dev/null
>+++ b/lang/spidermonkey102/files/patch-js_src_Makefile.in
>@@ -0,0 +1,11 @@
>+Index: js/src/Makefile.in
>+--- js/src/Makefile.in.orig	2022-03-30 19:25:41 UTC
>++++ js/src/Makefile.in
>+@@ -106,7 +106,6 @@ install::
>+
>+ install::
>+ 	$(MAKE) -C build install
>+-	$(MAKE) -C shell install
>+
>+ ifdef HAVE_DTRACE
>+ javascript-trace.h: $(srcdir)/devtools/javascript-trace.d
>diff --git a/lang/spidermonkey102/files/patch-js_src_jit_ExecutableAllocator.h b/lang/spidermonkey102/files/patch-js_src_jit_ExecutableAllocator.h
>new file mode 100644
>index 000000000000..421523e23bd9
>--- /dev/null
>+++ b/lang/spidermonkey102/files/patch-js_src_jit_ExecutableAllocator.h
>@@ -0,0 +1,14 @@
>+Index: js/src/jit/ExecutableAllocator.h
>+--- js/src/jit/ExecutableAllocator.h.orig	2022-03-30 19:25:41 UTC
>++++ js/src/jit/ExecutableAllocator.h
>+@@ -39,6 +39,10 @@
>+ #include "js/TypeDecls.h"
>+ #include "js/Vector.h"
>+
>++#if defined(__OpenBSD__) && defined(__mips64__)
>++#include <mips64/sysarch.h>
>++#endif
>++
>+ namespace JS {
>+ struct CodeSizes;
>+ }  // namespace JS
>diff --git a/lang/spidermonkey102/files/patch-js_src_jit_ProcessExecutableMemory.h b/lang/spidermonkey102/files/patch-js_src_jit_ProcessExecutableMemory.h
>new file mode 100644
>index 000000000000..1f4c09b095fb
>--- /dev/null
>+++ b/lang/spidermonkey102/files/patch-js_src_jit_ProcessExecutableMemory.h
>@@ -0,0 +1,12 @@
>+Index: js/src/jit/ProcessExecutableMemory.h
>+--- js/src/jit/ProcessExecutableMemory.h.orig	2022-03-30 19:25:41 UTC
>++++ js/src/jit/ProcessExecutableMemory.h
>+@@ -14,7 +14,7 @@ namespace jit {
>+
>+ // Limit on the number of bytes of executable memory to prevent JIT spraying
>+ // attacks.
>+-#if JS_BITS_PER_WORD == 32
>++#if JS_BITS_PER_WORD == 32 || defined(__OpenBSD__)
>+ static const size_t MaxCodeBytesPerProcess = 140 * 1024 * 1024;
>+ #else
>+ // This is the largest number which satisfies various alignment static
>diff --git a/lang/spidermonkey102/files/patch-modules_fdlibm_src_math__private.h b/lang/spidermonkey102/files/patch-modules_fdlibm_src_math__private.h
>new file mode 100644
>index 000000000000..8be5854b5160
>--- /dev/null
>+++ b/lang/spidermonkey102/files/patch-modules_fdlibm_src_math__private.h
>@@ -0,0 +1,46 @@
>+--- modules/fdlibm/src/math_private.h.orig	2022-04-16 03:20:29 UTC
>++++ modules/fdlibm/src/math_private.h
>+@@ -30,7 +30,9 @@
>+  * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
>+  */
>+
>++#ifndef __FreeBSD__
>+ typedef double      __double_t;
>++#endif
>+ typedef __double_t  double_t;
>+
>+ /*
>+@@ -636,6 +638,33 @@ rnint(__double_t x)
>+  * sometimes be more efficient because no rounding is required.
>+  */
>+ #if (defined(amd64) || defined(__i386__)) && defined(__GNUCLIKE_ASM)
>++
>++#if defined(__i386__)
>++static __inline int
>++irintf(float x)
>++{
>++	int n;
>++	__asm("fistl %0" : "=m" (n) : "t" (x));
>++	return (n);
>++}
>++
>++static __inline int
>++irintd(double x)
>++{
>++	int n;
>++	__asm("fistl %0" : "=m" (n) : "t" (x));
>++	return (n);
>++}
>++
>++static __inline int
>++irintl(long x)
>++{
>++	int n;
>++	__asm("fistl %0" : "=m" (n) : "t" (x));
>++	return (n);
>++}
>++#endif
>++
>+ #define	irint(x)						\
>+     (sizeof(x) == sizeof(float) &&				\
>+     sizeof(__float_t) == sizeof(long double) ? irintf(x) :	\
>diff --git a/lang/spidermonkey102/files/patch-moz.configure b/lang/spidermonkey102/files/patch-moz.configure
>new file mode 100644
>index 000000000000..94ae8c5f0b07
>--- /dev/null
>+++ b/lang/spidermonkey102/files/patch-moz.configure
>@@ -0,0 +1,14 @@
>+- Fix awk detection
>+
>+Index: moz.configure
>+--- moz.configure.orig	2022-03-30 19:25:49 UTC
>++++ moz.configure
>+@@ -708,7 +708,7 @@ add_old_configure_assignment("CLANG_PLUGIN", clang_plu
>+
>+ # Awk detection
>+ # ==============================================================
>+-awk = check_prog("AWK", ("gawk", "mawk", "nawk", "awk"))
>++awk = check_prog('AWK', ('awk',))
>+
>+ # Until the AWK variable is not necessary in old-configure
>+
>diff --git a/lang/spidermonkey102/pkg-descr b/lang/spidermonkey102/pkg-descr
>new file mode 100644
>index 000000000000..bfa153b8c457
>--- /dev/null
>+++ b/lang/spidermonkey102/pkg-descr
>@@ -0,0 +1 @@
>+Spidermonkey is the JavaScript interpreter from the Mozilla project.
>diff --git a/lang/spidermonkey102/pkg-plist b/lang/spidermonkey102/pkg-plist
>new file mode 100644
>index 000000000000..f745ff2b97a6
>--- /dev/null
>+++ b/lang/spidermonkey102/pkg-plist
>@@ -0,0 +1,346 @@
>+bin/js%%SP_VER%%-config
>+include/mozjs-%%SP_VER%%/BaseProfiler.h
>+include/mozjs-%%SP_VER%%/BaseProfilingCategory.h
>+include/mozjs-%%SP_VER%%/double-conversion/double-conversion.h
>+include/mozjs-%%SP_VER%%/double-conversion/double-to-string.h
>+include/mozjs-%%SP_VER%%/double-conversion/string-to-double.h
>+include/mozjs-%%SP_VER%%/double-conversion/utils.h
>+include/mozjs-%%SP_VER%%/encoding_rs_mem.h
>+include/mozjs-%%SP_VER%%/fdlibm.h
>+include/mozjs-%%SP_VER%%/js-config.h
>+include/mozjs-%%SP_VER%%/js/AllocPolicy.h
>+include/mozjs-%%SP_VER%%/js/AllocationLogging.h
>+include/mozjs-%%SP_VER%%/js/AllocationRecording.h
>+include/mozjs-%%SP_VER%%/js/Array.h
>+include/mozjs-%%SP_VER%%/js/ArrayBuffer.h
>+include/mozjs-%%SP_VER%%/js/ArrayBufferMaybeShared.h
>+include/mozjs-%%SP_VER%%/js/BigInt.h
>+include/mozjs-%%SP_VER%%/js/BuildId.h
>+include/mozjs-%%SP_VER%%/js/CallAndConstruct.h
>+include/mozjs-%%SP_VER%%/js/CallArgs.h
>+include/mozjs-%%SP_VER%%/js/CallNonGenericMethod.h
>+include/mozjs-%%SP_VER%%/js/CharacterEncoding.h
>+include/mozjs-%%SP_VER%%/js/Class.h
>+include/mozjs-%%SP_VER%%/js/ComparisonOperators.h
>+include/mozjs-%%SP_VER%%/js/CompilationAndEvaluation.h
>+include/mozjs-%%SP_VER%%/js/CompileOptions.h
>+include/mozjs-%%SP_VER%%/js/Context.h
>+include/mozjs-%%SP_VER%%/js/ContextOptions.h
>+include/mozjs-%%SP_VER%%/js/Conversions.h
>+include/mozjs-%%SP_VER%%/js/Date.h
>+include/mozjs-%%SP_VER%%/js/Debug.h
>+include/mozjs-%%SP_VER%%/js/Equality.h
>+include/mozjs-%%SP_VER%%/js/ErrorInterceptor.h
>+include/mozjs-%%SP_VER%%/js/ErrorReport.h
>+include/mozjs-%%SP_VER%%/js/Exception.h
>+include/mozjs-%%SP_VER%%/js/ForOfIterator.h
>+include/mozjs-%%SP_VER%%/js/GCAPI.h
>+include/mozjs-%%SP_VER%%/js/GCAnnotations.h
>+include/mozjs-%%SP_VER%%/js/GCHashTable.h
>+include/mozjs-%%SP_VER%%/js/GCPolicyAPI.h
>+include/mozjs-%%SP_VER%%/js/GCTypeMacros.h
>+include/mozjs-%%SP_VER%%/js/GCVariant.h
>+include/mozjs-%%SP_VER%%/js/GCVector.h
>+include/mozjs-%%SP_VER%%/js/GlobalObject.h
>+include/mozjs-%%SP_VER%%/js/HashTable.h
>+include/mozjs-%%SP_VER%%/js/HeapAPI.h
>+include/mozjs-%%SP_VER%%/js/HelperThreadAPI.h
>+include/mozjs-%%SP_VER%%/js/Id.h
>+include/mozjs-%%SP_VER%%/js/Initialization.h
>+include/mozjs-%%SP_VER%%/js/Interrupt.h
>+include/mozjs-%%SP_VER%%/js/JSON.h
>+include/mozjs-%%SP_VER%%/js/LocaleSensitive.h
>+include/mozjs-%%SP_VER%%/js/MapAndSet.h
>+include/mozjs-%%SP_VER%%/js/MemoryCallbacks.h
>+include/mozjs-%%SP_VER%%/js/MemoryFunctions.h
>+include/mozjs-%%SP_VER%%/js/MemoryMetrics.h
>+include/mozjs-%%SP_VER%%/js/Modules.h
>+include/mozjs-%%SP_VER%%/js/Object.h
>+include/mozjs-%%SP_VER%%/js/OffThreadScriptCompilation.h
>+include/mozjs-%%SP_VER%%/js/Principals.h
>+include/mozjs-%%SP_VER%%/js/Printf.h
>+include/mozjs-%%SP_VER%%/js/ProfilingCategory.h
>+include/mozjs-%%SP_VER%%/js/ProfilingCategoryList.h
>+include/mozjs-%%SP_VER%%/js/ProfilingFrameIterator.h
>+include/mozjs-%%SP_VER%%/js/ProfilingStack.h
>+include/mozjs-%%SP_VER%%/js/Promise.h
>+include/mozjs-%%SP_VER%%/js/PropertyAndElement.h
>+include/mozjs-%%SP_VER%%/js/PropertyDescriptor.h
>+include/mozjs-%%SP_VER%%/js/PropertySpec.h
>+include/mozjs-%%SP_VER%%/js/ProtoKey.h
>+include/mozjs-%%SP_VER%%/js/Proxy.h
>+include/mozjs-%%SP_VER%%/js/Realm.h
>+include/mozjs-%%SP_VER%%/js/RealmIterators.h
>+include/mozjs-%%SP_VER%%/js/RealmOptions.h
>+include/mozjs-%%SP_VER%%/js/RefCounted.h
>+include/mozjs-%%SP_VER%%/js/RegExp.h
>+include/mozjs-%%SP_VER%%/js/RegExpFlags.h
>+include/mozjs-%%SP_VER%%/js/Result.h
>+include/mozjs-%%SP_VER%%/js/RootingAPI.h
>+include/mozjs-%%SP_VER%%/js/SavedFrameAPI.h
>+include/mozjs-%%SP_VER%%/js/ScalarType.h
>+include/mozjs-%%SP_VER%%/js/ScriptPrivate.h
>+include/mozjs-%%SP_VER%%/js/SharedArrayBuffer.h
>+include/mozjs-%%SP_VER%%/js/SliceBudget.h
>+include/mozjs-%%SP_VER%%/js/SourceText.h
>+include/mozjs-%%SP_VER%%/js/StableStringChars.h
>+include/mozjs-%%SP_VER%%/js/Stack.h
>+include/mozjs-%%SP_VER%%/js/Stream.h
>+include/mozjs-%%SP_VER%%/js/StreamConsumer.h
>+include/mozjs-%%SP_VER%%/js/String.h
>+include/mozjs-%%SP_VER%%/js/StructuredClone.h
>+include/mozjs-%%SP_VER%%/js/SweepingAPI.h
>+include/mozjs-%%SP_VER%%/js/Symbol.h
>+include/mozjs-%%SP_VER%%/js/TelemetryTimers.h
>+include/mozjs-%%SP_VER%%/js/TraceKind.h
>+include/mozjs-%%SP_VER%%/js/TraceLoggerAPI.h
>+include/mozjs-%%SP_VER%%/js/TracingAPI.h
>+include/mozjs-%%SP_VER%%/js/Transcoding.h
>+include/mozjs-%%SP_VER%%/js/TypeDecls.h
>+include/mozjs-%%SP_VER%%/js/UbiNode.h
>+include/mozjs-%%SP_VER%%/js/UbiNodeBreadthFirst.h
>+include/mozjs-%%SP_VER%%/js/UbiNodeCensus.h
>+include/mozjs-%%SP_VER%%/js/UbiNodeDominatorTree.h
>+include/mozjs-%%SP_VER%%/js/UbiNodePostOrder.h
>+include/mozjs-%%SP_VER%%/js/UbiNodeShortestPaths.h
>+include/mozjs-%%SP_VER%%/js/UbiNodeUtils.h
>+include/mozjs-%%SP_VER%%/js/UniquePtr.h
>+include/mozjs-%%SP_VER%%/js/Utility.h
>+include/mozjs-%%SP_VER%%/js/Value.h
>+include/mozjs-%%SP_VER%%/js/ValueArray.h
>+include/mozjs-%%SP_VER%%/js/Vector.h
>+include/mozjs-%%SP_VER%%/js/WaitCallbacks.h
>+include/mozjs-%%SP_VER%%/js/Warnings.h
>+include/mozjs-%%SP_VER%%/js/WasmFeatures.h
>+include/mozjs-%%SP_VER%%/js/WasmModule.h
>+include/mozjs-%%SP_VER%%/js/WeakMap.h
>+include/mozjs-%%SP_VER%%/js/WeakMapPtr.h
>+include/mozjs-%%SP_VER%%/js/Wrapper.h
>+include/mozjs-%%SP_VER%%/js/WrapperCallbacks.h
>+include/mozjs-%%SP_VER%%/js/Zone.h
>+include/mozjs-%%SP_VER%%/js/experimental/CTypes.h
>+include/mozjs-%%SP_VER%%/js/experimental/CodeCoverage.h
>+include/mozjs-%%SP_VER%%/js/experimental/Intl.h
>+include/mozjs-%%SP_VER%%/js/experimental/JSStencil.h
>+include/mozjs-%%SP_VER%%/js/experimental/JitInfo.h
>+include/mozjs-%%SP_VER%%/js/experimental/PCCountProfiling.h
>+include/mozjs-%%SP_VER%%/js/experimental/SourceHook.h
>+include/mozjs-%%SP_VER%%/js/experimental/TypedData.h
>+include/mozjs-%%SP_VER%%/js/friend/DOMProxy.h
>+include/mozjs-%%SP_VER%%/js/friend/DumpFunctions.h
>+include/mozjs-%%SP_VER%%/js/friend/ErrorMessages.h
>+include/mozjs-%%SP_VER%%/js/friend/ErrorNumbers.msg
>+include/mozjs-%%SP_VER%%/js/friend/JSMEnvironment.h
>+include/mozjs-%%SP_VER%%/js/friend/PerformanceHint.h
>+include/mozjs-%%SP_VER%%/js/friend/StackLimits.h
>+include/mozjs-%%SP_VER%%/js/friend/UsageStatistics.h
>+include/mozjs-%%SP_VER%%/js/friend/WindowProxy.h
>+include/mozjs-%%SP_VER%%/js/friend/XrayJitInfo.h
>+include/mozjs-%%SP_VER%%/js/shadow/Function.h
>+include/mozjs-%%SP_VER%%/js/shadow/Object.h
>+include/mozjs-%%SP_VER%%/js/shadow/Realm.h
>+include/mozjs-%%SP_VER%%/js/shadow/Shape.h
>+include/mozjs-%%SP_VER%%/js/shadow/String.h
>+include/mozjs-%%SP_VER%%/js/shadow/Symbol.h
>+include/mozjs-%%SP_VER%%/js/shadow/Zone.h
>+include/mozjs-%%SP_VER%%/jsapi.h
>+include/mozjs-%%SP_VER%%/jsfriendapi.h
>+include/mozjs-%%SP_VER%%/jspubtd.h
>+include/mozjs-%%SP_VER%%/jstypes.h
>+include/mozjs-%%SP_VER%%/malloc_decls.h
>+include/mozjs-%%SP_VER%%/mozilla/Algorithm.h
>+include/mozjs-%%SP_VER%%/mozilla/Alignment.h
>+include/mozjs-%%SP_VER%%/mozilla/AllocPolicy.h
>+include/mozjs-%%SP_VER%%/mozilla/AlreadyAddRefed.h
>+include/mozjs-%%SP_VER%%/mozilla/Array.h
>+include/mozjs-%%SP_VER%%/mozilla/ArrayUtils.h
>+include/mozjs-%%SP_VER%%/mozilla/Assertions.h
>+include/mozjs-%%SP_VER%%/mozilla/AtomicBitfields.h
>+include/mozjs-%%SP_VER%%/mozilla/Atomics.h
>+include/mozjs-%%SP_VER%%/mozilla/Attributes.h
>+include/mozjs-%%SP_VER%%/mozilla/AutoProfilerLabel.h
>+include/mozjs-%%SP_VER%%/mozilla/AwakeTimeStamp.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseAndGeckoProfilerDetail.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfileJSONWriter.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfilerCounts.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfilerDetail.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfilerLabels.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfilerMarkerTypes.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfilerMarkers.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfilerMarkersDetail.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfilerMarkersPrerequisites.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfilerRAIIMacro.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfilerState.h
>+include/mozjs-%%SP_VER%%/mozilla/BaseProfilerUtils.h
>+include/mozjs-%%SP_VER%%/mozilla/BinarySearch.h
>+include/mozjs-%%SP_VER%%/mozilla/BitSet.h
>+include/mozjs-%%SP_VER%%/mozilla/BlocksRingBuffer.h
>+include/mozjs-%%SP_VER%%/mozilla/BloomFilter.h
>+include/mozjs-%%SP_VER%%/mozilla/Buffer.h
>+include/mozjs-%%SP_VER%%/mozilla/BufferList.h
>+include/mozjs-%%SP_VER%%/mozilla/Casting.h
>+include/mozjs-%%SP_VER%%/mozilla/ChaosMode.h
>+include/mozjs-%%SP_VER%%/mozilla/Char16.h
>+include/mozjs-%%SP_VER%%/mozilla/CheckedInt.h
>+include/mozjs-%%SP_VER%%/mozilla/CompactPair.h
>+include/mozjs-%%SP_VER%%/mozilla/Compiler.h
>+include/mozjs-%%SP_VER%%/mozilla/Compression.h
>+include/mozjs-%%SP_VER%%/mozilla/DbgMacro.h
>+include/mozjs-%%SP_VER%%/mozilla/DebugOnly.h
>+include/mozjs-%%SP_VER%%/mozilla/Decimal.h
>+include/mozjs-%%SP_VER%%/mozilla/DefineEnum.h
>+include/mozjs-%%SP_VER%%/mozilla/DoubleConversion.h
>+include/mozjs-%%SP_VER%%/mozilla/DoublyLinkedList.h
>+include/mozjs-%%SP_VER%%/mozilla/EndianUtils.h
>+include/mozjs-%%SP_VER%%/mozilla/EnumSet.h
>+include/mozjs-%%SP_VER%%/mozilla/EnumTypeTraits.h
>+include/mozjs-%%SP_VER%%/mozilla/EnumeratedArray.h
>+include/mozjs-%%SP_VER%%/mozilla/EnumeratedRange.h
>+include/mozjs-%%SP_VER%%/mozilla/FStream.h
>+include/mozjs-%%SP_VER%%/mozilla/FastBernoulliTrial.h
>+include/mozjs-%%SP_VER%%/mozilla/FloatingPoint.h
>+include/mozjs-%%SP_VER%%/mozilla/FunctionRef.h
>+include/mozjs-%%SP_VER%%/mozilla/FunctionTypeTraits.h
>+include/mozjs-%%SP_VER%%/mozilla/Fuzzing.h
>+include/mozjs-%%SP_VER%%/mozilla/HashFunctions.h
>+include/mozjs-%%SP_VER%%/mozilla/HashTable.h
>+include/mozjs-%%SP_VER%%/mozilla/HelperMacros.h
>+include/mozjs-%%SP_VER%%/mozilla/InitializedOnce.h
>+include/mozjs-%%SP_VER%%/mozilla/IntegerPrintfMacros.h
>+include/mozjs-%%SP_VER%%/mozilla/IntegerRange.h
>+include/mozjs-%%SP_VER%%/mozilla/IntegerTypeTraits.h
>+include/mozjs-%%SP_VER%%/mozilla/JSONWriter.h
>+include/mozjs-%%SP_VER%%/mozilla/JsRust.h
>+include/mozjs-%%SP_VER%%/mozilla/Latin1.h
>+include/mozjs-%%SP_VER%%/mozilla/Likely.h
>+include/mozjs-%%SP_VER%%/mozilla/LinkedList.h
>+include/mozjs-%%SP_VER%%/mozilla/MacroArgs.h
>+include/mozjs-%%SP_VER%%/mozilla/MacroForEach.h
>+include/mozjs-%%SP_VER%%/mozilla/MathAlgorithms.h
>+include/mozjs-%%SP_VER%%/mozilla/Maybe.h
>+include/mozjs-%%SP_VER%%/mozilla/MaybeOneOf.h
>+include/mozjs-%%SP_VER%%/mozilla/MaybeStorageBase.h
>+include/mozjs-%%SP_VER%%/mozilla/MemoryChecking.h
>+include/mozjs-%%SP_VER%%/mozilla/MemoryReporting.h
>+include/mozjs-%%SP_VER%%/mozilla/MmapFaultHandler.h
>+include/mozjs-%%SP_VER%%/mozilla/ModuloBuffer.h
>+include/mozjs-%%SP_VER%%/mozilla/NonDereferenceable.h
>+include/mozjs-%%SP_VER%%/mozilla/NotNull.h
>+include/mozjs-%%SP_VER%%/mozilla/Opaque.h
>+include/mozjs-%%SP_VER%%/mozilla/OperatorNewExtensions.h
>+include/mozjs-%%SP_VER%%/mozilla/PairHash.h
>+include/mozjs-%%SP_VER%%/mozilla/Path.h
>+include/mozjs-%%SP_VER%%/mozilla/PlatformConditionVariable.h
>+include/mozjs-%%SP_VER%%/mozilla/PlatformMutex.h
>+include/mozjs-%%SP_VER%%/mozilla/PlatformRWLock.h
>+include/mozjs-%%SP_VER%%/mozilla/PodOperations.h
>+include/mozjs-%%SP_VER%%/mozilla/Poison.h
>+include/mozjs-%%SP_VER%%/mozilla/PowerOfTwo.h
>+include/mozjs-%%SP_VER%%/mozilla/Printf.h
>+include/mozjs-%%SP_VER%%/mozilla/ProfileBufferChunk.h
>+include/mozjs-%%SP_VER%%/mozilla/ProfileBufferChunkManager.h
>+include/mozjs-%%SP_VER%%/mozilla/ProfileBufferChunkManagerSingle.h
>+include/mozjs-%%SP_VER%%/mozilla/ProfileBufferChunkManagerWithLocalLimit.h
>+include/mozjs-%%SP_VER%%/mozilla/ProfileBufferControlledChunkManager.h
>+include/mozjs-%%SP_VER%%/mozilla/ProfileBufferEntryKinds.h
>+include/mozjs-%%SP_VER%%/mozilla/ProfileBufferEntrySerialization.h
>+include/mozjs-%%SP_VER%%/mozilla/ProfileBufferIndex.h
>+include/mozjs-%%SP_VER%%/mozilla/ProfileChunkedBuffer.h
>+include/mozjs-%%SP_VER%%/mozilla/ProfileChunkedBufferDetail.h
>+include/mozjs-%%SP_VER%%/mozilla/ProgressLogger.h
>+include/mozjs-%%SP_VER%%/mozilla/ProportionValue.h
>+include/mozjs-%%SP_VER%%/mozilla/RandomNum.h
>+include/mozjs-%%SP_VER%%/mozilla/Range.h
>+include/mozjs-%%SP_VER%%/mozilla/RangedArray.h
>+include/mozjs-%%SP_VER%%/mozilla/RangedPtr.h
>+include/mozjs-%%SP_VER%%/mozilla/ReentrancyGuard.h
>+include/mozjs-%%SP_VER%%/mozilla/RefCountType.h
>+include/mozjs-%%SP_VER%%/mozilla/RefCounted.h
>+include/mozjs-%%SP_VER%%/mozilla/RefPtr.h
>+include/mozjs-%%SP_VER%%/mozilla/Result.h
>+include/mozjs-%%SP_VER%%/mozilla/ResultExtensions.h
>+include/mozjs-%%SP_VER%%/mozilla/ResultVariant.h
>+include/mozjs-%%SP_VER%%/mozilla/ReverseIterator.h
>+include/mozjs-%%SP_VER%%/mozilla/RollingMean.h
>+include/mozjs-%%SP_VER%%/mozilla/SHA1.h
>+include/mozjs-%%SP_VER%%/mozilla/SPSCQueue.h
>+include/mozjs-%%SP_VER%%/mozilla/Saturate.h
>+include/mozjs-%%SP_VER%%/mozilla/ScopeExit.h
>+include/mozjs-%%SP_VER%%/mozilla/Scoped.h
>+include/mozjs-%%SP_VER%%/mozilla/SegmentedVector.h
>+include/mozjs-%%SP_VER%%/mozilla/SharedLibrary.h
>+include/mozjs-%%SP_VER%%/mozilla/SmallPointerArray.h
>+include/mozjs-%%SP_VER%%/mozilla/Span.h
>+include/mozjs-%%SP_VER%%/mozilla/SplayTree.h
>+include/mozjs-%%SP_VER%%/mozilla/Sprintf.h
>+include/mozjs-%%SP_VER%%/mozilla/StackWalk.h
>+include/mozjs-%%SP_VER%%/mozilla/StaticAnalysisFunctions.h
>+include/mozjs-%%SP_VER%%/mozilla/TaggedAnonymousMemory.h
>+include/mozjs-%%SP_VER%%/mozilla/Tainting.h
>+include/mozjs-%%SP_VER%%/mozilla/TemplateLib.h
>+include/mozjs-%%SP_VER%%/mozilla/TextUtils.h
>+include/mozjs-%%SP_VER%%/mozilla/ThreadLocal.h
>+include/mozjs-%%SP_VER%%/mozilla/ThreadSafeWeakPtr.h
>+include/mozjs-%%SP_VER%%/mozilla/ThreadSafety.h
>+include/mozjs-%%SP_VER%%/mozilla/TimeStamp.h
>+include/mozjs-%%SP_VER%%/mozilla/ToString.h
>+include/mozjs-%%SP_VER%%/mozilla/Tuple.h
>+include/mozjs-%%SP_VER%%/mozilla/TypeTraits.h
>+include/mozjs-%%SP_VER%%/mozilla/TypedEnumBits.h
>+include/mozjs-%%SP_VER%%/mozilla/Types.h
>+include/mozjs-%%SP_VER%%/mozilla/UniquePtr.h
>+include/mozjs-%%SP_VER%%/mozilla/UniquePtrExtensions.h
>+include/mozjs-%%SP_VER%%/mozilla/Unused.h
>+include/mozjs-%%SP_VER%%/mozilla/Uptime.h
>+include/mozjs-%%SP_VER%%/mozilla/Utf8.h
>+include/mozjs-%%SP_VER%%/mozilla/Variant.h
>+include/mozjs-%%SP_VER%%/mozilla/Vector.h
>+include/mozjs-%%SP_VER%%/mozilla/WeakPtr.h
>+include/mozjs-%%SP_VER%%/mozilla/WrappingOperations.h
>+include/mozjs-%%SP_VER%%/mozilla/XorShift128PlusRNG.h
>+include/mozjs-%%SP_VER%%/mozilla/cxxalloc.h
>+include/mozjs-%%SP_VER%%/mozilla/fallible.h
>+include/mozjs-%%SP_VER%%/mozilla/glue/Debug.h
>+include/mozjs-%%SP_VER%%/mozilla/glue/WinUtils.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/Bidi.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/BidiClass.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/BidiEmbeddingLevel.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/Calendar.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/Collator.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/Currency.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/DateIntervalFormat.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/DateTimeFormat.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/DateTimePart.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/DateTimePatternGenerator.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/DisplayNames.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/FormatBuffer.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/ICU4CGlue.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/ICU4CLibrary.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/ICUError.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/IDNA.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/ListFormat.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/Locale.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/LocaleCanonicalizer.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/MeasureUnit.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/MeasureUnitGenerated.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/NumberFormat.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/NumberParser.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/NumberPart.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/NumberRangeFormat.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/NumberingSystem.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/PluralRules.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/RelativeTimeFormat.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/String.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/TimeZone.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/UnicodeProperties.h
>+include/mozjs-%%SP_VER%%/mozilla/intl/UnicodeScriptCodes.h
>+include/mozjs-%%SP_VER%%/mozilla/leb128iterator.h
>+include/mozjs-%%SP_VER%%/mozilla/mozalloc.h
>+include/mozjs-%%SP_VER%%/mozilla/mozalloc_abort.h
>+include/mozjs-%%SP_VER%%/mozilla/mozalloc_oom.h
>+include/mozjs-%%SP_VER%%/mozjemalloc_types.h
>+include/mozjs-%%SP_VER%%/mozmemory.h
>+include/mozjs-%%SP_VER%%/mozmemory_wrap.h
>+lib/libmozjs-%%SP_VER%%.so
>+lib/libmozjs-%%SP_VER%%.so.1
>+libdata/pkgconfig/mozjs-%%SP_VER%%.pc