summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lang/Makefile1
-rw-r--r--lang/spidermonkey68/Makefile78
-rw-r--r--lang/spidermonkey68/distinfo3
-rw-r--r--lang/spidermonkey68/files/patch-js_public_TypeDecls.h26
-rw-r--r--lang/spidermonkey68/pkg-descr3
-rw-r--r--lang/spidermonkey68/pkg-plist213
6 files changed, 324 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
index 5056dd6e1ff6..d1e2aa6a128a 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -336,6 +336,7 @@
SUBDIR += spidermonkey24
SUBDIR += spidermonkey52
SUBDIR += spidermonkey60
+ SUBDIR += spidermonkey68
SUBDIR += spl
SUBDIR += squeak
SUBDIR += squirrel
diff --git a/lang/spidermonkey68/Makefile b/lang/spidermonkey68/Makefile
new file mode 100644
index 000000000000..e3a63387b9e9
--- /dev/null
+++ b/lang/spidermonkey68/Makefile
@@ -0,0 +1,78 @@
+# $FreeBSD$
+
+PORTNAME= spidermonkey
+DISTVERSION= 68.9.0
+CATEGORIES= lang
+MASTER_SITES= MOZILLA/firefox/releases/${DISTVERSION}esr/source
+PKGNAMESUFFIX= ${SP_VER}
+DISTNAME= firefox-${DISTVERSION}esr.source
+
+MAINTAINER= tcberner@FreeBSD.org
+COMMENT= Standalone JavaScript based from Mozilla 68-esr
+
+LICENSE= MPL20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= autoconf-2.13:devel/autoconf213 \
+ ${LOCALBASE}/bin/python${PYTHON3_DEFAULT}:lang/python${PYTHON3_DEFAULT:S/.//g} \
+ rust-cbindgen>=0.8.7:devel/rust-cbindgen \
+ ${RUST_DEFAULT}>=1.35:lang/${RUST_DEFAULT} \
+ ${LOCALBASE}/bin/clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
+LIB_DEPENDS= libnspr4.so:devel/nspr \
+ libffi.so:devel/libffi \
+ libicudata.so:devel/icu
+
+USES= compiler:c++14-lang gmake localbase pathfix pkgconfig \
+ python:2.7,build tar:xz
+USE_LDCONFIG= yes
+SP_VER= 68
+HAS_CONFIGURE= yes
+
+WRKSRC= ${WRKDIR}/firefox-${DISTVERSION}
+PATCH_WRKSRC= ${WRKDIR}/firefox-${DISTVERSION}/
+CONFIGURE_OUTSOURCE= yes
+CONFIGURE_SCRIPT= ../firefox-${DISTVERSION}/js/src/configure
+
+CONFIGURE_ARGS= --prefix=${PREFIX:Q} \
+ --target=${CONFIGURE_TARGET} \
+ --with-intl-api \
+ --with-system-zlib \
+ --disable-gold \
+ --disable-debug \
+ --disable-debug-symbols \
+ --disable-jemalloc \
+ --with-system-icu \
+ --with-system-nspr \
+ --enable-shared-js \
+ --enable-optimize \
+ --enable-readline
+
+CONFIGURE_ENV= HOST_CC=${CC} HOST_CXX=${CXX}
+
+CONFIGURE_ENV+= LLVM_CONFIG=llvm-config${LLVM_DEFAULT}
+
+CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT}
+CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}
+CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT}
+USES:= ${USES:Ncompiler\:*} # XXX avoid warnings
+
+BINARY_ALIAS= python=${PYTHON_CMD}
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == amd64
+CONFIGURE_TARGET=x86_64-portbld-freebsd${OSREL}
+.endif
+
+# Require newer Clang than what's in base system unless user opted out
+. if ${CC} == cc && ${CXX} == c++ && exists(/usr/lib/libc++.so)
+BUILD_DEPENDS+= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
+. endif
+
+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 <bsd.port.post.mk>
diff --git a/lang/spidermonkey68/distinfo b/lang/spidermonkey68/distinfo
new file mode 100644
index 000000000000..508389d7b9bc
--- /dev/null
+++ b/lang/spidermonkey68/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1596134656
+SHA256 (firefox-68.9.0esr.source.tar.xz) = 935105e1a8a97d64daffb372690e2b566b5f07641f01470929dbbc82d20d4407
+SIZE (firefox-68.9.0esr.source.tar.xz) = 317469120
diff --git a/lang/spidermonkey68/files/patch-js_public_TypeDecls.h b/lang/spidermonkey68/files/patch-js_public_TypeDecls.h
new file mode 100644
index 000000000000..6872c648187c
--- /dev/null
+++ b/lang/spidermonkey68/files/patch-js_public_TypeDecls.h
@@ -0,0 +1,26 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=1426865
+
+Add "dumb" patch to fix undefined symbols when trying to build gjs against
+this spidermonkey version.
+
+This issue was fix in firefox and backported to esr 68.
+
+--- js/public/TypeDecls.h.orig 2019-09-01 13:09:17 UTC
++++ js/public/TypeDecls.h
+@@ -20,6 +20,8 @@
+ #include <stddef.h>
+ #include <stdint.h>
+
++#pragma GCC visibility push(default)
++
+ #include "js-config.h"
+
+ typedef uint8_t jsbytecode;
+@@ -89,5 +91,7 @@ typedef PersistentRooted<JS::Symbol*> PersistentRooted
+ typedef PersistentRooted<Value> PersistentRootedValue;
+
+ } // namespace JS
++
++#pragma GCC visibility pop
+
+ #endif /* js_TypeDecls_h */
diff --git a/lang/spidermonkey68/pkg-descr b/lang/spidermonkey68/pkg-descr
new file mode 100644
index 000000000000..2db0b2ca559f
--- /dev/null
+++ b/lang/spidermonkey68/pkg-descr
@@ -0,0 +1,3 @@
+Spidermonkey is the JavaScript interpreter from the Mozilla project.
+
+WWW: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
diff --git a/lang/spidermonkey68/pkg-plist b/lang/spidermonkey68/pkg-plist
new file mode 100644
index 000000000000..771997f73992
--- /dev/null
+++ b/lang/spidermonkey68/pkg-plist
@@ -0,0 +1,213 @@
+bin/js68
+bin/js68-config
+include/mozjs-68/double-conversion/double-conversion.h
+include/mozjs-68/double-conversion/utils.h
+include/mozjs-68/fdlibm.h
+include/mozjs-68/js-config.h
+include/mozjs-68/js.msg
+include/mozjs-68/js/AllocPolicy.h
+include/mozjs-68/js/ArrayBuffer.h
+include/mozjs-68/js/BuildId.h
+include/mozjs-68/js/CallArgs.h
+include/mozjs-68/js/CallNonGenericMethod.h
+include/mozjs-68/js/CharacterEncoding.h
+include/mozjs-68/js/Class.h
+include/mozjs-68/js/CompilationAndEvaluation.h
+include/mozjs-68/js/CompileOptions.h
+include/mozjs-68/js/ContextOptions.h
+include/mozjs-68/js/Conversions.h
+include/mozjs-68/js/Date.h
+include/mozjs-68/js/Debug.h
+include/mozjs-68/js/Equality.h
+include/mozjs-68/js/ErrorReport.h
+include/mozjs-68/js/ForOfIterator.h
+include/mozjs-68/js/GCAPI.h
+include/mozjs-68/js/GCAnnotations.h
+include/mozjs-68/js/GCHashTable.h
+include/mozjs-68/js/GCPolicyAPI.h
+include/mozjs-68/js/GCVariant.h
+include/mozjs-68/js/GCVector.h
+include/mozjs-68/js/HashTable.h
+include/mozjs-68/js/HeapAPI.h
+include/mozjs-68/js/Id.h
+include/mozjs-68/js/Initialization.h
+include/mozjs-68/js/JSON.h
+include/mozjs-68/js/LocaleSensitive.h
+include/mozjs-68/js/MemoryFunctions.h
+include/mozjs-68/js/MemoryMetrics.h
+include/mozjs-68/js/OffThreadScriptCompilation.h
+include/mozjs-68/js/Principals.h
+include/mozjs-68/js/Printf.h
+include/mozjs-68/js/ProfilingCategory.h
+include/mozjs-68/js/ProfilingFrameIterator.h
+include/mozjs-68/js/ProfilingStack.h
+include/mozjs-68/js/Promise.h
+include/mozjs-68/js/PropertyDescriptor.h
+include/mozjs-68/js/PropertySpec.h
+include/mozjs-68/js/ProtoKey.h
+include/mozjs-68/js/Proxy.h
+include/mozjs-68/js/Realm.h
+include/mozjs-68/js/RealmOptions.h
+include/mozjs-68/js/RefCounted.h
+include/mozjs-68/js/RegExp.h
+include/mozjs-68/js/RegExpFlags.h
+include/mozjs-68/js/RequiredDefines.h
+include/mozjs-68/js/Result.h
+include/mozjs-68/js/RootingAPI.h
+include/mozjs-68/js/SavedFrameAPI.h
+include/mozjs-68/js/SharedArrayBuffer.h
+include/mozjs-68/js/SliceBudget.h
+include/mozjs-68/js/SourceText.h
+include/mozjs-68/js/StableStringChars.h
+include/mozjs-68/js/Stream.h
+include/mozjs-68/js/StructuredClone.h
+include/mozjs-68/js/SweepingAPI.h
+include/mozjs-68/js/Symbol.h
+include/mozjs-68/js/TraceKind.h
+include/mozjs-68/js/TraceLoggerAPI.h
+include/mozjs-68/js/TracingAPI.h
+include/mozjs-68/js/TrackedOptimizationInfo.h
+include/mozjs-68/js/Transcoding.h
+include/mozjs-68/js/TypeDecls.h
+include/mozjs-68/js/UbiNode.h
+include/mozjs-68/js/UbiNodeBreadthFirst.h
+include/mozjs-68/js/UbiNodeCensus.h
+include/mozjs-68/js/UbiNodeDominatorTree.h
+include/mozjs-68/js/UbiNodePostOrder.h
+include/mozjs-68/js/UbiNodeShortestPaths.h
+include/mozjs-68/js/UbiNodeUtils.h
+include/mozjs-68/js/UniquePtr.h
+include/mozjs-68/js/Utility.h
+include/mozjs-68/js/Value.h
+include/mozjs-68/js/Vector.h
+include/mozjs-68/js/Warnings.h
+include/mozjs-68/js/WeakMapPtr.h
+include/mozjs-68/js/Wrapper.h
+include/mozjs-68/js/experimental/SourceHook.h
+include/mozjs-68/jsapi.h
+include/mozjs-68/jsfriendapi.h
+include/mozjs-68/jsperf.h
+include/mozjs-68/jspubtd.h
+include/mozjs-68/jstypes.h
+include/mozjs-68/malloc_decls.h
+include/mozjs-68/mozilla/Algorithm.h
+include/mozjs-68/mozilla/Alignment.h
+include/mozjs-68/mozilla/AllocPolicy.h
+include/mozjs-68/mozilla/AlreadyAddRefed.h
+include/mozjs-68/mozilla/Array.h
+include/mozjs-68/mozilla/ArrayUtils.h
+include/mozjs-68/mozilla/Assertions.h
+include/mozjs-68/mozilla/Atomics.h
+include/mozjs-68/mozilla/Attributes.h
+include/mozjs-68/mozilla/AutoProfilerLabel.h
+include/mozjs-68/mozilla/BinarySearch.h
+include/mozjs-68/mozilla/BloomFilter.h
+include/mozjs-68/mozilla/Buffer.h
+include/mozjs-68/mozilla/BufferList.h
+include/mozjs-68/mozilla/Casting.h
+include/mozjs-68/mozilla/ChaosMode.h
+include/mozjs-68/mozilla/Char16.h
+include/mozjs-68/mozilla/CheckedInt.h
+include/mozjs-68/mozilla/Compiler.h
+include/mozjs-68/mozilla/Compression.h
+include/mozjs-68/mozilla/DbgMacro.h
+include/mozjs-68/mozilla/DebugOnly.h
+include/mozjs-68/mozilla/Decimal.h
+include/mozjs-68/mozilla/DefineEnum.h
+include/mozjs-68/mozilla/DoublyLinkedList.h
+include/mozjs-68/mozilla/EndianUtils.h
+include/mozjs-68/mozilla/EnumSet.h
+include/mozjs-68/mozilla/EnumTypeTraits.h
+include/mozjs-68/mozilla/EnumeratedArray.h
+include/mozjs-68/mozilla/EnumeratedRange.h
+include/mozjs-68/mozilla/FStream.h
+include/mozjs-68/mozilla/FastBernoulliTrial.h
+include/mozjs-68/mozilla/FloatingPoint.h
+include/mozjs-68/mozilla/FunctionTypeTraits.h
+include/mozjs-68/mozilla/GuardObjects.h
+include/mozjs-68/mozilla/HashFunctions.h
+include/mozjs-68/mozilla/HashTable.h
+include/mozjs-68/mozilla/HelperMacros.h
+include/mozjs-68/mozilla/IntegerPrintfMacros.h
+include/mozjs-68/mozilla/IntegerRange.h
+include/mozjs-68/mozilla/IntegerTypeTraits.h
+include/mozjs-68/mozilla/JSONWriter.h
+include/mozjs-68/mozilla/Likely.h
+include/mozjs-68/mozilla/LinkedList.h
+include/mozjs-68/mozilla/MacroArgs.h
+include/mozjs-68/mozilla/MacroForEach.h
+include/mozjs-68/mozilla/MathAlgorithms.h
+include/mozjs-68/mozilla/Maybe.h
+include/mozjs-68/mozilla/MaybeOneOf.h
+include/mozjs-68/mozilla/MemoryChecking.h
+include/mozjs-68/mozilla/MemoryReporting.h
+include/mozjs-68/mozilla/Move.h
+include/mozjs-68/mozilla/NonDereferenceable.h
+include/mozjs-68/mozilla/NotNull.h
+include/mozjs-68/mozilla/NullPtr.h
+include/mozjs-68/mozilla/Opaque.h
+include/mozjs-68/mozilla/OperatorNewExtensions.h
+include/mozjs-68/mozilla/Pair.h
+include/mozjs-68/mozilla/Path.h
+include/mozjs-68/mozilla/PlatformConditionVariable.h
+include/mozjs-68/mozilla/PlatformMutex.h
+include/mozjs-68/mozilla/PodOperations.h
+include/mozjs-68/mozilla/Poison.h
+include/mozjs-68/mozilla/Printf.h
+include/mozjs-68/mozilla/RandomNum.h
+include/mozjs-68/mozilla/Range.h
+include/mozjs-68/mozilla/RangedArray.h
+include/mozjs-68/mozilla/RangedPtr.h
+include/mozjs-68/mozilla/RecordReplay.h
+include/mozjs-68/mozilla/ReentrancyGuard.h
+include/mozjs-68/mozilla/RefCountType.h
+include/mozjs-68/mozilla/RefCounted.h
+include/mozjs-68/mozilla/RefPtr.h
+include/mozjs-68/mozilla/Result.h
+include/mozjs-68/mozilla/ResultExtensions.h
+include/mozjs-68/mozilla/ReverseIterator.h
+include/mozjs-68/mozilla/RollingMean.h
+include/mozjs-68/mozilla/SHA1.h
+include/mozjs-68/mozilla/SPSCQueue.h
+include/mozjs-68/mozilla/Saturate.h
+include/mozjs-68/mozilla/ScopeExit.h
+include/mozjs-68/mozilla/Scoped.h
+include/mozjs-68/mozilla/SegmentedVector.h
+include/mozjs-68/mozilla/SharedLibrary.h
+include/mozjs-68/mozilla/SmallPointerArray.h
+include/mozjs-68/mozilla/Span.h
+include/mozjs-68/mozilla/SplayTree.h
+include/mozjs-68/mozilla/Sprintf.h
+include/mozjs-68/mozilla/StackWalk.h
+include/mozjs-68/mozilla/StaticAnalysisFunctions.h
+include/mozjs-68/mozilla/TaggedAnonymousMemory.h
+include/mozjs-68/mozilla/TemplateLib.h
+include/mozjs-68/mozilla/TextUtils.h
+include/mozjs-68/mozilla/ThreadLocal.h
+include/mozjs-68/mozilla/ThreadSafeWeakPtr.h
+include/mozjs-68/mozilla/TimeStamp.h
+include/mozjs-68/mozilla/ToString.h
+include/mozjs-68/mozilla/Tuple.h
+include/mozjs-68/mozilla/TypeTraits.h
+include/mozjs-68/mozilla/TypedEnumBits.h
+include/mozjs-68/mozilla/Types.h
+include/mozjs-68/mozilla/UniquePtr.h
+include/mozjs-68/mozilla/UniquePtrExtensions.h
+include/mozjs-68/mozilla/Unused.h
+include/mozjs-68/mozilla/Utf8.h
+include/mozjs-68/mozilla/Variant.h
+include/mozjs-68/mozilla/Vector.h
+include/mozjs-68/mozilla/WeakPtr.h
+include/mozjs-68/mozilla/WrappingOperations.h
+include/mozjs-68/mozilla/XorShift128PlusRNG.h
+include/mozjs-68/mozilla/fallible.h
+include/mozjs-68/mozilla/glue/Debug.h
+include/mozjs-68/mozilla/mozalloc.h
+include/mozjs-68/mozilla/mozalloc_abort.h
+include/mozjs-68/mozilla/mozalloc_oom.h
+include/mozjs-68/mozjemalloc_types.h
+include/mozjs-68/mozmemory.h
+include/mozjs-68/mozmemory_wrap.h
+lib/libmozjs-68.so
+lib/libmozjs-68.so.1
+libdata/pkgconfig/mozjs-68.pc