pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

mozjs78: Import mozjs78.3 as wip/mozjs78



Module Name:	pkgsrc-wip
Committed By:	Dan Cîrnaț <dan%alt.md@localhost>
Pushed By:	cirnatdan
Date:		Sun Nov 8 18:47:10 2020 +0100
Changeset:	3531d0a076737a98b2f229b922496dcb4e2ee14f

Added Files:
	mozjs78/DESCR
	mozjs78/Makefile
	mozjs78/PLIST
	mozjs78/buildlink3.mk
	mozjs78/distinfo
	mozjs78/patches/patch-.._.._build_moz.configure_rust.configure
	mozjs78/patches/patch-configure.in
	mozjs78/patches/patch-jsfriendapi.h
	mozjs78/patches/patch-vm_ArrayBufferObject.cpp
	mozjs78/patches/patch-vm_JSONPrinter.cpp
	mozjs78/patches/patch-vm_JSONPrinter.h

Log Message:
mozjs78: Import mozjs78.3 as wip/mozjs78

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=3531d0a076737a98b2f229b922496dcb4e2ee14f

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 mozjs78/DESCR                                      |   2 +
 mozjs78/Makefile                                   |  74 ++++++
 mozjs78/PLIST                                      | 248 +++++++++++++++++++++
 mozjs78/buildlink3.mk                              |  16 ++
 mozjs78/distinfo                                   |  12 +
 .../patch-.._.._build_moz.configure_rust.configure |  17 ++
 mozjs78/patches/patch-configure.in                 |  12 +
 mozjs78/patches/patch-jsfriendapi.h                |  14 ++
 mozjs78/patches/patch-vm_ArrayBufferObject.cpp     |  24 ++
 mozjs78/patches/patch-vm_JSONPrinter.cpp           |  17 ++
 mozjs78/patches/patch-vm_JSONPrinter.h             |  17 ++
 11 files changed, 453 insertions(+)

diffs:
diff --git a/mozjs78/DESCR b/mozjs78/DESCR
new file mode 100644
index 0000000000..aba75b5566
--- /dev/null
+++ b/mozjs78/DESCR
@@ -0,0 +1,2 @@
+This directory contains SpiderMonkey 68, the JavaScript engine by
+Mozilla.
diff --git a/mozjs78/Makefile b/mozjs78/Makefile
new file mode 100644
index 0000000000..d223f51aec
--- /dev/null
+++ b/mozjs78/Makefile
@@ -0,0 +1,74 @@
+# $NetBSD: Makefile,v 1.11 2020/11/06 09:11:31 maya Exp $
+
+DISTNAME=	mozjs78_78.3.0.orig
+PKGNAME=	${DISTNAME:S/_/-/:S/.orig//}
+CATEGORIES=	lang
+MASTER_SITES=	http://deb.debian.org/debian/pool/main/m/mozjs78/
+EXTRACT_SUFX=	.tar.xz
+
+MAINTAINER=	pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=	https://packages.debian.org/bullseye/libmozjs-78-0
+COMMENT=	SpiderMonkey JavaScript library (78.x branch)
+LICENSE=	mpl-1.1
+
+WRKSRC=		${WRKDIR}/firefox-78.3.0/js/src
+USE_TOOLS+=	autoconf213 gmake perl pkg-config
+USE_LANGUAGES=	c c++
+
+# "ERROR: Only GCC 6.1 or newer is supported"
+GCC_REQD+=	6
+
+HAS_CONFIGURE=		yes
+CONFIGURE_DIRS=		build
+CONFIGURE_SCRIPT=	../configure
+CONFIGURE_ARGS+=	--prefix=${PREFIX}
+CONFIGURE_ARGS+=	--disable-debug
+CONFIGURE_ARGS+=	--with-system-icu
+CONFIGURE_ARGS+=	--with-system-zlib
+CONFIGURE_ARGS+=	--enable-readline
+CONFIGURE_ARGS+=	--disable-jemalloc
+CONFIGURE_ARGS+=	--disable-debug-symbols
+CONFIGURE_ARGS+=	--enable-strip
+CONFIGURE_ARGS+=	--with-intl-api
+# --disable-optimize
+# For rustc/cargo detection
+CONFIGURE_ARGS+=	--target=${MACHINE_GNU_PLATFORM}
+CONFIGURE_ARGS+=	--host=${MACHINE_GNU_PLATFORM}
+
+PKGCONFIG_OVERRIDE+=	build/js.pc.in
+PKGCONFIG_OVERRIDE+=	ctypes/libffi/libffi.pc.in
+
+# Python 2.7 and Python 3.6 or later are required simultaneously.
+PYTHON_VERSIONS_ACCEPTED=	27
+PYTHON_FOR_BUILD_ONLY=		tool
+.if !empty(PYTHON_VERSION_DEFAULT:M3[6789])
+TOOL_DEPENDS+=			python${PYTHON_VERSION_DEFAULT}-[0-9]*:../../lang/python${PYTHON_VERSION_DEFAULT}
+ALL_ENV+=			PYTHON3=${LOCALBASE}/bin/python${PYTHON_VERSION_DEFAULT:S/3/3./}
+.else
+TOOL_DEPENDS+=			python37-[0-9]*:../../lang/python37
+ALL_ENV+=			PYTHON3=${LOCALBASE}/bin/python3.7
+.endif
+
+pre-configure:
+	cd ${WRKSRC} && autoconf-2.13 old-configure.in > old-configure \
+		&& autoconf-2.13
+	mkdir ${WRKSRC}/build && touch ${WRKSRC}/build/old-configure.vars
+
+post-install:
+	cd ${DESTDIR}${PREFIX}/lib && \
+		${MV} libmozjs-78.so libmozjs-78.so.0.0.0 && \
+		${LN} -s libmozjs-78.so.0.0.0 libmozjs-78.so.0 && \
+		${LN} -s libmozjs-78.so.0 libmozjs-78.so
+	${RM} -f ${DESTDIR}${PREFIX}/lib/libjs_static.ajs
+	${CHMOD} -x ${DESTDIR}${PREFIX}/include/mozjs-78/js-config.h
+	${CHMOD} -x ${DESTDIR}${PREFIX}/lib/pkgconfig/mozjs-78.pc
+
+BUILDLINK_DEPMETHOD.clang=	build
+.include "../../lang/clang/buildlink3.mk"
+RUST_REQ=	1.34.0
+.include "../../lang/rust/rust.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../lang/python/tool.mk"
+.include "../../textproc/icu/buildlink3.mk"
+.include "../../mk/readline.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/mozjs78/PLIST b/mozjs78/PLIST
new file mode 100644
index 0000000000..5e5f5d9248
--- /dev/null
+++ b/mozjs78/PLIST
@@ -0,0 +1,248 @@
+@comment $NetBSD$
+bin/js78
+bin/js78-config
+include/mozjs-78/BaseProfiler.h
+include/mozjs-78/double-conversion/double-conversion.h
+include/mozjs-78/double-conversion/double-to-string.h
+include/mozjs-78/double-conversion/string-to-double.h
+include/mozjs-78/double-conversion/utils.h
+include/mozjs-78/encoding_rs_mem.h
+include/mozjs-78/fdlibm.h
+include/mozjs-78/js-config.h
+include/mozjs-78/js.msg
+include/mozjs-78/js/AllocPolicy.h
+include/mozjs-78/js/AllocationRecording.h
+include/mozjs-78/js/Array.h
+include/mozjs-78/js/ArrayBuffer.h
+include/mozjs-78/js/ArrayBufferMaybeShared.h
+include/mozjs-78/js/BigInt.h
+include/mozjs-78/js/BinASTFormat.h
+include/mozjs-78/js/BuildId.h
+include/mozjs-78/js/CallArgs.h
+include/mozjs-78/js/CallNonGenericMethod.h
+include/mozjs-78/js/CharacterEncoding.h
+include/mozjs-78/js/Class.h
+include/mozjs-78/js/ComparisonOperators.h
+include/mozjs-78/js/CompilationAndEvaluation.h
+include/mozjs-78/js/CompileOptions.h
+include/mozjs-78/js/ContextOptions.h
+include/mozjs-78/js/Conversions.h
+include/mozjs-78/js/Date.h
+include/mozjs-78/js/Debug.h
+include/mozjs-78/js/Equality.h
+include/mozjs-78/js/ErrorReport.h
+include/mozjs-78/js/Exception.h
+include/mozjs-78/js/ForOfIterator.h
+include/mozjs-78/js/GCAPI.h
+include/mozjs-78/js/GCAnnotations.h
+include/mozjs-78/js/GCHashTable.h
+include/mozjs-78/js/GCPolicyAPI.h
+include/mozjs-78/js/GCTypeMacros.h
+include/mozjs-78/js/GCVariant.h
+include/mozjs-78/js/GCVector.h
+include/mozjs-78/js/HashTable.h
+include/mozjs-78/js/HeapAPI.h
+include/mozjs-78/js/Id.h
+include/mozjs-78/js/Initialization.h
+include/mozjs-78/js/JSON.h
+include/mozjs-78/js/LocaleSensitive.h
+include/mozjs-78/js/MemoryFunctions.h
+include/mozjs-78/js/MemoryMetrics.h
+include/mozjs-78/js/Modules.h
+include/mozjs-78/js/OffThreadScriptCompilation.h
+include/mozjs-78/js/Principals.h
+include/mozjs-78/js/Printf.h
+include/mozjs-78/js/ProfilingCategory.h
+include/mozjs-78/js/ProfilingFrameIterator.h
+include/mozjs-78/js/ProfilingStack.h
+include/mozjs-78/js/Promise.h
+include/mozjs-78/js/PropertyDescriptor.h
+include/mozjs-78/js/PropertySpec.h
+include/mozjs-78/js/ProtoKey.h
+include/mozjs-78/js/Proxy.h
+include/mozjs-78/js/Realm.h
+include/mozjs-78/js/RealmOptions.h
+include/mozjs-78/js/RefCounted.h
+include/mozjs-78/js/RegExp.h
+include/mozjs-78/js/RegExpFlags.h
+include/mozjs-78/js/RequiredDefines.h
+include/mozjs-78/js/Result.h
+include/mozjs-78/js/RootingAPI.h
+include/mozjs-78/js/SavedFrameAPI.h
+include/mozjs-78/js/SharedArrayBuffer.h
+include/mozjs-78/js/SliceBudget.h
+include/mozjs-78/js/SourceText.h
+include/mozjs-78/js/StableStringChars.h
+include/mozjs-78/js/Stream.h
+include/mozjs-78/js/StructuredClone.h
+include/mozjs-78/js/SweepingAPI.h
+include/mozjs-78/js/Symbol.h
+include/mozjs-78/js/TraceKind.h
+include/mozjs-78/js/TraceLoggerAPI.h
+include/mozjs-78/js/TracingAPI.h
+include/mozjs-78/js/Transcoding.h
+include/mozjs-78/js/TypeDecls.h
+include/mozjs-78/js/UbiNode.h
+include/mozjs-78/js/UbiNodeBreadthFirst.h
+include/mozjs-78/js/UbiNodeCensus.h
+include/mozjs-78/js/UbiNodeDominatorTree.h
+include/mozjs-78/js/UbiNodePostOrder.h
+include/mozjs-78/js/UbiNodeShortestPaths.h
+include/mozjs-78/js/UbiNodeUtils.h
+include/mozjs-78/js/UniquePtr.h
+include/mozjs-78/js/Utility.h
+include/mozjs-78/js/Value.h
+include/mozjs-78/js/ValueArray.h
+include/mozjs-78/js/Vector.h
+include/mozjs-78/js/Warnings.h
+include/mozjs-78/js/WeakMapPtr.h
+include/mozjs-78/js/Wrapper.h
+include/mozjs-78/js/experimental/CodeCoverage.h
+include/mozjs-78/js/experimental/SourceHook.h
+include/mozjs-78/jsapi.h
+include/mozjs-78/jsfriendapi.h
+include/mozjs-78/jspubtd.h
+include/mozjs-78/jstypes.h
+include/mozjs-78/malloc_decls.h
+include/mozjs-78/mozilla/Algorithm.h
+include/mozjs-78/mozilla/Alignment.h
+include/mozjs-78/mozilla/AllocPolicy.h
+include/mozjs-78/mozilla/AlreadyAddRefed.h
+include/mozjs-78/mozilla/Array.h
+include/mozjs-78/mozilla/ArrayUtils.h
+include/mozjs-78/mozilla/Assertions.h
+include/mozjs-78/mozilla/Atomics.h
+include/mozjs-78/mozilla/Attributes.h
+include/mozjs-78/mozilla/AutoProfilerLabel.h
+include/mozjs-78/mozilla/BaseProfilerCounts.h
+include/mozjs-78/mozilla/BaseProfilerDetail.h
+include/mozjs-78/mozilla/BinarySearch.h
+include/mozjs-78/mozilla/BlocksRingBuffer.h
+include/mozjs-78/mozilla/BloomFilter.h
+include/mozjs-78/mozilla/Buffer.h
+include/mozjs-78/mozilla/BufferList.h
+include/mozjs-78/mozilla/Casting.h
+include/mozjs-78/mozilla/ChaosMode.h
+include/mozjs-78/mozilla/Char16.h
+include/mozjs-78/mozilla/CheckedInt.h
+include/mozjs-78/mozilla/CompactPair.h
+include/mozjs-78/mozilla/Compiler.h
+include/mozjs-78/mozilla/Compression.h
+include/mozjs-78/mozilla/DbgMacro.h
+include/mozjs-78/mozilla/DebugOnly.h
+include/mozjs-78/mozilla/Decimal.h
+include/mozjs-78/mozilla/DefineEnum.h
+include/mozjs-78/mozilla/DoubleConversion.h
+include/mozjs-78/mozilla/DoublyLinkedList.h
+include/mozjs-78/mozilla/EndianUtils.h
+include/mozjs-78/mozilla/EnumSet.h
+include/mozjs-78/mozilla/EnumTypeTraits.h
+include/mozjs-78/mozilla/EnumeratedArray.h
+include/mozjs-78/mozilla/EnumeratedRange.h
+include/mozjs-78/mozilla/FStream.h
+include/mozjs-78/mozilla/FastBernoulliTrial.h
+include/mozjs-78/mozilla/FloatingPoint.h
+include/mozjs-78/mozilla/FunctionRef.h
+include/mozjs-78/mozilla/FunctionTypeTraits.h
+include/mozjs-78/mozilla/GuardObjects.h
+include/mozjs-78/mozilla/HashFunctions.h
+include/mozjs-78/mozilla/HashTable.h
+include/mozjs-78/mozilla/HelperMacros.h
+include/mozjs-78/mozilla/InitializedOnce.h
+include/mozjs-78/mozilla/IntegerPrintfMacros.h
+include/mozjs-78/mozilla/IntegerRange.h
+include/mozjs-78/mozilla/IntegerTypeTraits.h
+include/mozjs-78/mozilla/JSONWriter.h
+include/mozjs-78/mozilla/JsRust.h
+include/mozjs-78/mozilla/Latin1.h
+include/mozjs-78/mozilla/Likely.h
+include/mozjs-78/mozilla/LinkedList.h
+include/mozjs-78/mozilla/MacroArgs.h
+include/mozjs-78/mozilla/MacroForEach.h
+include/mozjs-78/mozilla/MathAlgorithms.h
+include/mozjs-78/mozilla/Maybe.h
+include/mozjs-78/mozilla/MaybeOneOf.h
+include/mozjs-78/mozilla/MemoryChecking.h
+include/mozjs-78/mozilla/MemoryReporting.h
+include/mozjs-78/mozilla/MmapFaultHandler.h
+include/mozjs-78/mozilla/ModuloBuffer.h
+include/mozjs-78/mozilla/NonDereferenceable.h
+include/mozjs-78/mozilla/NotNull.h
+include/mozjs-78/mozilla/Opaque.h
+include/mozjs-78/mozilla/OperatorNewExtensions.h
+include/mozjs-78/mozilla/Path.h
+include/mozjs-78/mozilla/PlatformConditionVariable.h
+include/mozjs-78/mozilla/PlatformMutex.h
+include/mozjs-78/mozilla/PodOperations.h
+include/mozjs-78/mozilla/Poison.h
+include/mozjs-78/mozilla/PowerOfTwo.h
+include/mozjs-78/mozilla/Printf.h
+include/mozjs-78/mozilla/ProfileBufferChunk.h
+include/mozjs-78/mozilla/ProfileBufferChunkManager.h
+include/mozjs-78/mozilla/ProfileBufferChunkManagerSingle.h
+include/mozjs-78/mozilla/ProfileBufferChunkManagerWithLocalLimit.h
+include/mozjs-78/mozilla/ProfileBufferControlledChunkManager.h
+include/mozjs-78/mozilla/ProfileBufferEntrySerialization.h
+include/mozjs-78/mozilla/ProfileBufferIndex.h
+include/mozjs-78/mozilla/ProfileChunkedBuffer.h
+include/mozjs-78/mozilla/RandomNum.h
+include/mozjs-78/mozilla/Range.h
+include/mozjs-78/mozilla/RangedArray.h
+include/mozjs-78/mozilla/RangedPtr.h
+include/mozjs-78/mozilla/ReentrancyGuard.h
+include/mozjs-78/mozilla/RefCountType.h
+include/mozjs-78/mozilla/RefCounted.h
+include/mozjs-78/mozilla/RefPtr.h
+include/mozjs-78/mozilla/Result.h
+include/mozjs-78/mozilla/ResultExtensions.h
+include/mozjs-78/mozilla/ReverseIterator.h
+include/mozjs-78/mozilla/RollingMean.h
+include/mozjs-78/mozilla/SHA1.h
+include/mozjs-78/mozilla/SPSCQueue.h
+include/mozjs-78/mozilla/Saturate.h
+include/mozjs-78/mozilla/ScopeExit.h
+include/mozjs-78/mozilla/Scoped.h
+include/mozjs-78/mozilla/SegmentedVector.h
+include/mozjs-78/mozilla/SharedLibrary.h
+include/mozjs-78/mozilla/SmallPointerArray.h
+include/mozjs-78/mozilla/Span.h
+include/mozjs-78/mozilla/SplayTree.h
+include/mozjs-78/mozilla/Sprintf.h
+include/mozjs-78/mozilla/StackWalk.h
+include/mozjs-78/mozilla/StaticAnalysisFunctions.h
+include/mozjs-78/mozilla/TaggedAnonymousMemory.h
+include/mozjs-78/mozilla/Tainting.h
+include/mozjs-78/mozilla/TemplateLib.h
+include/mozjs-78/mozilla/TextUtils.h
+include/mozjs-78/mozilla/ThreadLocal.h
+include/mozjs-78/mozilla/ThreadSafeWeakPtr.h
+include/mozjs-78/mozilla/TimeStamp.h
+include/mozjs-78/mozilla/ToString.h
+include/mozjs-78/mozilla/Tuple.h
+include/mozjs-78/mozilla/TypeTraits.h
+include/mozjs-78/mozilla/TypedEnumBits.h
+include/mozjs-78/mozilla/Types.h
+include/mozjs-78/mozilla/UniquePtr.h
+include/mozjs-78/mozilla/UniquePtrExtensions.h
+include/mozjs-78/mozilla/Unused.h
+include/mozjs-78/mozilla/Utf8.h
+include/mozjs-78/mozilla/Variant.h
+include/mozjs-78/mozilla/Vector.h
+include/mozjs-78/mozilla/WeakPtr.h
+include/mozjs-78/mozilla/WrappingOperations.h
+include/mozjs-78/mozilla/XorShift128PlusRNG.h
+include/mozjs-78/mozilla/cxxalloc.h
+include/mozjs-78/mozilla/fallible.h
+include/mozjs-78/mozilla/glue/Debug.h
+include/mozjs-78/mozilla/glue/WinUtils.h
+include/mozjs-78/mozilla/leb128iterator.h
+include/mozjs-78/mozilla/mozalloc.h
+include/mozjs-78/mozilla/mozalloc_abort.h
+include/mozjs-78/mozilla/mozalloc_oom.h
+include/mozjs-78/mozjemalloc_types.h
+include/mozjs-78/mozmemory.h
+include/mozjs-78/mozmemory_wrap.h
+lib/libmozjs-78.so
+lib/libmozjs-78.so.0
+lib/libmozjs-78.so.0.0.0
+lib/pkgconfig/mozjs-78.pc
diff --git a/mozjs78/buildlink3.mk b/mozjs78/buildlink3.mk
new file mode 100644
index 0000000000..85bdb3d4e0
--- /dev/null
+++ b/mozjs78/buildlink3.mk
@@ -0,0 +1,16 @@
+# $NetBSD: buildlink3.mk,v 1.4 2020/11/05 09:06:57 ryoon Exp $
+
+BUILDLINK_TREE+=	mozjs78
+
+.if !defined(MOZJS78_BUILDLINK3_MK)
+MOZJS78_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.mozjs78+=	mozjs78>=78.3.0
+BUILDLINK_ABI_DEPENDS.mozjs78?=	mozjs78>=78.3.0
+BUILDLINK_PKGSRCDIR.mozjs78?=	../../wip/mozjs78
+
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../textproc/icu/buildlink3.mk"
+.endif	# MOZJS78_BUILDLINK3_MK
+
+BUILDLINK_TREE+=	-mozjs78
diff --git a/mozjs78/distinfo b/mozjs78/distinfo
new file mode 100644
index 0000000000..549db4f8e2
--- /dev/null
+++ b/mozjs78/distinfo
@@ -0,0 +1,12 @@
+$NetBSD: distinfo,v 1.4 2020/11/06 09:11:31 maya Exp $
+
+SHA1 (mozjs78_78.3.0.orig.tar.xz) = 0eb86875a91298d9198d0c7c818c09aeecc569e1
+RMD160 (mozjs78_78.3.0.orig.tar.xz) = f2d9b5d71c9603ec3b2d80b4ef930c0f00948584
+SHA512 (mozjs78_78.3.0.orig.tar.xz) = a28a582eae9d483ba7625236e2226392c9e26d5a10c4f34bee899ce27329dc0e9ba1dca96090597723a62d4f4a14f9dd339effae5db471a27eb32aa2ef2f0e8b
+Size (mozjs78_78.3.0.orig.tar.xz) = 58324248 bytes
+SHA1 (patch-.._.._build_moz.configure_rust.configure) = a40ef515b34781d703e9222e4c88746544556287
+SHA1 (patch-configure.in) = e8dab4a549e5cdf2e97d65b258970f9f6cc9c72c
+SHA1 (patch-jsfriendapi.h) = c6eea8b37d44a4b0f9ca0a325e482d01ef2c6e0f
+SHA1 (patch-vm_ArrayBufferObject.cpp) = 931695e3e02ec1d6ed0f722be1059c48878cd117
+SHA1 (patch-vm_JSONPrinter.cpp) = c2483309516249d23d448e48bc91e20a0b150fba
+SHA1 (patch-vm_JSONPrinter.h) = fd720eba1d4593f70d932029f64284e17396d075
diff --git a/mozjs78/patches/patch-.._.._build_moz.configure_rust.configure b/mozjs78/patches/patch-.._.._build_moz.configure_rust.configure
new file mode 100644
index 0000000000..ddc109e7a6
--- /dev/null
+++ b/mozjs78/patches/patch-.._.._build_moz.configure_rust.configure
@@ -0,0 +1,17 @@
+$NetBSD: patch-build_moz.configure_rust.configure,v 1.7 2020/10/20 20:15:30 maya Exp $
+
+* Do not match rumprun toolchain for NetBSD,
+  narrowed should be one not two.
+
+--- ../../build/moz.configure/rust.configure.orig	2020-09-25 09:22:51.000000000 +0000
++++ ../../build/moz.configure/rust.configure
+@@ -337,7 +337,8 @@ def rust_triple_alias(host_or_target, ho
+             narrowed = [
+                 c for c in candidates
+                 if c.target.raw_os == host_or_target.raw_os and
+-                   c.target.raw_cpu == host_or_target.raw_cpu
++                   c.target.raw_cpu == host_or_target.raw_cpu and
++                   not c.rust_target.endswith("-rumprun-netbsd")
+             ]
+             if len(narrowed) == 1:
+                 return narrowed[0].rust_target
diff --git a/mozjs78/patches/patch-configure.in b/mozjs78/patches/patch-configure.in
new file mode 100644
index 0000000000..199e319f60
--- /dev/null
+++ b/mozjs78/patches/patch-configure.in
@@ -0,0 +1,12 @@
+$NetBSD$
+
+Fix python3 executable name
+
+--- configure.in.orig	2020-09-25 09:22:52.000000000 +0000
++++ configure.in
+@@ -24,4 +24,4 @@ export OLD_CONFIGURE="$SRCDIR"/old-confi
+ 
+ set -- "$@" --enable-project=js
+ 
+-exec python3 "$TOPSRCDIR/configure.py" "$@"
++exec ${PYTHON3} "$TOPSRCDIR/configure.py" "$@"
diff --git a/mozjs78/patches/patch-jsfriendapi.h b/mozjs78/patches/patch-jsfriendapi.h
new file mode 100644
index 0000000000..3f8f267e3e
--- /dev/null
+++ b/mozjs78/patches/patch-jsfriendapi.h
@@ -0,0 +1,14 @@
+$NetBSD$
+
+Fix va_list error
+
+--- jsfriendapi.h.orig	2020-09-25 09:22:52.000000000 +0000
++++ jsfriendapi.h
+@@ -14,6 +14,7 @@
+ #include "mozilla/PodOperations.h"
+ #include "mozilla/UniquePtr.h"
+ 
++#include <stdarg.h>
+ #include "jspubtd.h"
+ 
+ #include "js/CallArgs.h"
diff --git a/mozjs78/patches/patch-vm_ArrayBufferObject.cpp b/mozjs78/patches/patch-vm_ArrayBufferObject.cpp
new file mode 100644
index 0000000000..1099f97386
--- /dev/null
+++ b/mozjs78/patches/patch-vm_ArrayBufferObject.cpp
@@ -0,0 +1,24 @@
+$NetBSD$
+
+MPROTECT fix
+
+--- vm/ArrayBufferObject.cpp.orig	2020-09-25 09:22:59.000000000 +0000
++++ vm/ArrayBufferObject.cpp
+@@ -164,9 +164,17 @@ void* js::MapBufferMemory(size_t mappedS
+     return nullptr;
+   }
+ #else   // XP_WIN
++
++#ifdef PROT_MPROTECT
++  void* data =
++      MozTaggedAnonymousMmap(nullptr, mappedSize, 
++                             PROT_MPROTECT(PROT_EXEC | PROT_WRITE | PROT_READ),
++                             MAP_PRIVATE | MAP_ANON, -1, 0, "wasm-reserved");
++#else
+   void* data =
+       MozTaggedAnonymousMmap(nullptr, mappedSize, PROT_NONE,
+                              MAP_PRIVATE | MAP_ANON, -1, 0, "wasm-reserved");
++#endif
+   if (data == MAP_FAILED) {
+     return nullptr;
+   }
diff --git a/mozjs78/patches/patch-vm_JSONPrinter.cpp b/mozjs78/patches/patch-vm_JSONPrinter.cpp
new file mode 100644
index 0000000000..ab566b69bf
--- /dev/null
+++ b/mozjs78/patches/patch-vm_JSONPrinter.cpp
@@ -0,0 +1,17 @@
+$NetBSD$
+
+For NetBSD/arm, size_t is unsigned long, which is neither
+uint32_t (= unsigned int) nor uint64_t (= unsigned long long).
+
+--- vm/JSONPrinter.cpp.orig	2020-09-25 09:22:59.000000000 +0000
++++ vm/JSONPrinter.cpp
+@@ -146,7 +146,8 @@ void JSONPrinter::property(const char* n
+   out_.printf("%" PRIu64, value);
+ }
+ 
+-#if defined(XP_DARWIN) || defined(__OpenBSD__)
++#if defined(XP_DARWIN) || defined(__OpenBSD__) || \
++    (defined(__NetBSD__) && defined(__arm__))
+ void JSONPrinter::property(const char* name, size_t value) {
+   propertyName(name);
+   out_.printf("%zu", value);
diff --git a/mozjs78/patches/patch-vm_JSONPrinter.h b/mozjs78/patches/patch-vm_JSONPrinter.h
new file mode 100644
index 0000000000..6490260ad2
--- /dev/null
+++ b/mozjs78/patches/patch-vm_JSONPrinter.h
@@ -0,0 +1,17 @@
+$NetBSD$
+
+For NetBSD/arm, size_t is unsigned long, which is neither
+uint32_t (= unsigned int) nor uint64_t (= unsigned long long).
+
+--- vm/JSONPrinter.h.orig	2020-09-25 09:22:59.000000000 +0000
++++ vm/JSONPrinter.h
+@@ -51,7 +51,8 @@ class JSONPrinter {
+   void property(const char* name, uint32_t value);
+   void property(const char* name, int64_t value);
+   void property(const char* name, uint64_t value);
+-#if defined(XP_DARWIN) || defined(__OpenBSD__)
++#if defined(XP_DARWIN) || defined(__OpenBSD__) || \
++    (defined(__NetBSD__) && defined(__arm__))
+   // On OSX and OpenBSD, size_t is long unsigned, uint32_t is unsigned, and
+   // uint64_t is long long unsigned. Everywhere else, size_t matches either
+   // uint32_t or uint64_t.


Home | Main Index | Thread Index | Old Index