diff options
-rw-r--r-- | lang/Makefile | 1 | ||||
-rw-r--r-- | lang/spidermonkey68/Makefile | 78 | ||||
-rw-r--r-- | lang/spidermonkey68/distinfo | 3 | ||||
-rw-r--r-- | lang/spidermonkey68/files/patch-js_public_TypeDecls.h | 26 | ||||
-rw-r--r-- | lang/spidermonkey68/pkg-descr | 3 | ||||
-rw-r--r-- | lang/spidermonkey68/pkg-plist | 213 |
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 |