1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-18 19:49:40 +00:00

Add spidermonkey52 52.8.0.

Spidermonkey is Mozilla's JS engine. This version is based on Firefox
ESR 52. There is no standalone release for so build it out of the
ESR distfile.

Obtained from:	gnome devel repo
This commit is contained in:
Koop Mast 2018-05-20 21:30:35 +00:00
parent 1e5bc56722
commit f0bb8e49ed
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=470485
7 changed files with 344 additions and 0 deletions

View File

@ -344,6 +344,7 @@
SUBDIR += spidermonkey185
SUBDIR += spidermonkey24
SUBDIR += spidermonkey38
SUBDIR += spidermonkey52
SUBDIR += spl
SUBDIR += squeak
SUBDIR += squirrel

View File

@ -0,0 +1,91 @@
# Created by: Kubilay Kocak <koobs@FreeBSD.org>
# $FreeBSD$
PORTNAME= spidermonkey
PORTVERSION= 52.8.0
PORTREVISION= 0
CATEGORIES= lang
MASTER_SITES= MOZILLA/firefox/releases/${PORTVERSION}esr/source
DISTNAME= firefox-${PORTVERSION}esr.source
PKGNAMESUFFIX= ${SP_VER}
MAINTAINER= kwm@FreeBSD.org
COMMENT= Standalone JavaScript based from Mozilla 52-esr
BUILD_DEPENDS= autoconf-2.13:devel/autoconf213
LIB_DEPENDS= libnspr4.so:devel/nspr \
libffi.so:devel/libffi \
libicudata.so:devel/icu
HAS_CONFIGURE= yes
USES= compiler:c++14-lang gmake localbase pathfix pkgconfig \
python:2.7,build tar:xz
# python:2.7,build readline tar:xz
USE_LDCONFIG= yes
SP_VER= 52
WRKSRC= ${WRKDIR}/firefox-${PORTVERSION}esr/js/src
PATCH_WRKSRC= ${WRKDIR}/firefox-${PORTVERSION}esr/
CONFIGURE_ARGS= --with-pthreads \
--target=${CONFIGURE_TARGET} \
--with-intl-api \
--with-system-zlib \
--disable-gold \
--with-system-icu \
--with-system-nspr
OPTIONS_DEFINE= DEBUG GCZEAL JEMALLOC OPTIMIZE READLINE UTF8 DTRACE
OPTIONS_DEFAULT=METHODJIT OPTIMIZE READLINE
OPTIONS_SUB= yes
DEBUG_CONFIGURE_ENABLE= debug debug-symbols
DEBUG_CONFIGURE_DISABLE=debug
DTRACE_CONFIGURE_ENABLE=dtrace profiling
DTRACE_LIBS= -lelf
GCZEAL_DESC= Enable Zealous garbage collecting
GCZEAL_CONFIGURE_ENABLE=gczeal
JEMALLOC_DESC= Use jemalloc as memory allocator
JEMALLOC_CONFIGURE_ENABLE= jemalloc
OPTIMIZE_DESC= Enable compiler optimizations
OPTIMIZE_CONFIGURE_ENABLE= optimize
READLINE_DESC= Link js shell to the readline library
READLINE_USES= readline
READLINE_CONFIGURE_ENABLE= readline
UTF8_DESC= Treat strings as UTF8 instead of ISO-8859-1
UTF8_CFLAGS= -DJS_C_STRINGS_ARE_UTF8
.include <bsd.port.pre.mk>
.if ${ARCH} == amd64
CONFIGURE_TARGET=x86_64-portbld-freebsd${OSREL}
.endif
post-patch:
# Skip some tests because bundled icu differs from system
@${RM} ${WRKSRC}/tests/test262/intl402/ch10/10.2/10.2.3_b.js \
${WRKSRC}/tests/Intl/DateTimeFormat/format.js \
${WRKSRC}/tests/ecma_6/String/normalize-generateddata-part1-not-listed.js
pre-configure:
cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf-2.13
regression-test: build
@${ECHO_MSG} -n "===> Running jstests.py: "
@cd ${WRKSRC} && ${SETENV} TZ=PST8PDT ${PYTHON_CMD} tests/jstests.py \
-d -s --no-progress ./js/src/shell/js
post-install:
${RM} ${STAGEDIR}${PREFIX}/lib/libjs_static.ajs
${LN} -fs libmozjs-${SP_VER}.so ${STAGEDIR}${PREFIX}/lib/libmozjs-${SP_VER}.so.1
.if ! ${PORT_OPTIONS:MDTRACE}
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/js${SP_VER}
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmozjs-${SP_VER}.*
.endif
.include <bsd.port.post.mk>

View File

@ -0,0 +1,3 @@
TIMESTAMP = 1525963979
SHA256 (firefox-52.8.0esr.source.tar.xz) = babed4fe0ae95783e39358aedf7111b20fd9442f73b3b41b025fa4951fe76287
SIZE (firefox-52.8.0esr.source.tar.xz) = 214054520

View File

@ -0,0 +1,23 @@
Proposed workaround/fix for:
https://bugzilla.mozilla.org/show_bug.cgi?id=1426865
diff --git a/js/public/TypeDecls.h b/js/public/TypeDecls.h
index acb93f9..cbd4b04 100644
--- js/public/TypeDecls.h
+++ js/public/TypeDecls.h
@@ -22,6 +22,8 @@
#include "js-config.h"
+#pragma GCC visibility push(default)
+
struct JSContext;
class JSFunction;
class JSObject;
@@ -76,4 +78,6 @@ typedef PersistentRooted<Value> PersistentRootedValue;
} // namespace JS
+#pragma GCC visibility pop
+
#endif /* js_TypeDecls_h */

View File

@ -0,0 +1,62 @@
From 1dd00ba521afd812ba42d94be8772603d3590b43 Mon Sep 17 00:00:00 2001
From: Till Schneidereit <till@tillschneidereit.net>
Date: Thu, 1 Oct 2015 12:59:09 +0200
Subject: [PATCH] Disable MOZ_GLUE_IN_PROGRAM in stand-alone builds on all
platforms
Otherwise, build fails not being able to find HashBytes.
Patch ported forward to mozjs52 by Philip Chimento
<philip.chimento@gmail.com>.
https://bugzilla.mozilla.org/show_bug.cgi?id=1176787
---
diff --git a/js/src/old-configure.in b/js/src/old-configure.in
index 1c5c9e214..ff0617e31 100644
--- js/src/old-configure.in
+++ js/src/old-configure.in
@@ -1623,16 +1623,21 @@ dnl ========================================================
dnl = Enable jemalloc
dnl ========================================================
-case "${OS_TARGET}" in
-Android|WINNT|Darwin)
+dnl In stand-alone builds we always only want to link executables against mozglue.
+if test "$JS_STANDALONE"; then
MOZ_GLUE_IN_PROGRAM=
- ;;
-*)
- dnl On !Android !Windows !OSX, we only want to link executables against mozglue
- MOZ_GLUE_IN_PROGRAM=1
- AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
- ;;
-esac
+else
+ case "${OS_TARGET}" in
+ Android|WINNT|Darwin)
+ MOZ_GLUE_IN_PROGRAM=
+ ;;
+ *)
+ dnl On !Android !Windows !OSX, we only want to link executables against mozglue
+ MOZ_GLUE_IN_PROGRAM=1
+ AC_DEFINE(MOZ_GLUE_IN_PROGRAM)
+ ;;
+ esac
+fi
if test "$MOZ_MEMORY"; then
if test "x$MOZ_DEBUG" = "x1"; then
diff --git a/mozglue/build/moz.build b/mozglue/build/moz.build
index d28974778..e3be5a2b9 100644
--- mozglue/build/moz.build
+++ mozglue/build/moz.build
@@ -6,7 +6,7 @@
# Build mozglue as a shared lib on Windows, OSX and Android.
# If this is ever changed, update MOZ_SHARED_MOZGLUE in browser/installer/Makefile.in
-if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android'):
+if CONFIG['OS_TARGET'] in ('WINNT', 'Darwin', 'Android') and not CONFIG['JS_STANDALONE']:
SharedLibrary('mozglue')
else:
Library('mozglue')

View File

@ -0,0 +1,3 @@
Spidermonkey is the JavaScript interpreter from the Mozilla project.
WWW: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey

View File

@ -0,0 +1,161 @@
bin/js52
bin/js52-config
include/mozjs-52/fdlibm.h
%%JEMALLOC%%include/mozjs-52/jemalloc_types.h
include/mozjs-52/js-config.h
include/mozjs-52/js.msg
include/mozjs-52/js/CallArgs.h
include/mozjs-52/js/CallNonGenericMethod.h
include/mozjs-52/js/CharacterEncoding.h
include/mozjs-52/js/Class.h
include/mozjs-52/js/Conversions.h
include/mozjs-52/js/Date.h
include/mozjs-52/js/Debug.h
include/mozjs-52/js/GCAPI.h
include/mozjs-52/js/GCAnnotations.h
include/mozjs-52/js/GCHashTable.h
include/mozjs-52/js/GCPolicyAPI.h
include/mozjs-52/js/GCVariant.h
include/mozjs-52/js/GCVector.h
include/mozjs-52/js/HashTable.h
include/mozjs-52/js/HeapAPI.h
include/mozjs-52/js/Id.h
include/mozjs-52/js/Initialization.h
include/mozjs-52/js/LegacyIntTypes.h
include/mozjs-52/js/MemoryMetrics.h
include/mozjs-52/js/Principals.h
include/mozjs-52/js/ProfilingFrameIterator.h
include/mozjs-52/js/ProfilingStack.h
include/mozjs-52/js/Proxy.h
include/mozjs-52/js/Realm.h
include/mozjs-52/js/RequiredDefines.h
include/mozjs-52/js/RootingAPI.h
include/mozjs-52/js/SliceBudget.h
include/mozjs-52/js/StructuredClone.h
include/mozjs-52/js/SweepingAPI.h
include/mozjs-52/js/TraceKind.h
include/mozjs-52/js/TracingAPI.h
include/mozjs-52/js/TrackedOptimizationInfo.h
include/mozjs-52/js/TypeDecls.h
include/mozjs-52/js/UbiNode.h
include/mozjs-52/js/UbiNodeBreadthFirst.h
include/mozjs-52/js/UbiNodeCensus.h
include/mozjs-52/js/UbiNodeDominatorTree.h
include/mozjs-52/js/UbiNodePostOrder.h
include/mozjs-52/js/UbiNodeShortestPaths.h
include/mozjs-52/js/UniquePtr.h
include/mozjs-52/js/Utility.h
include/mozjs-52/js/Value.h
include/mozjs-52/js/Vector.h
include/mozjs-52/js/WeakMapPtr.h
include/mozjs-52/jsalloc.h
include/mozjs-52/jsapi.h
include/mozjs-52/jsbytecode.h
include/mozjs-52/jsclist.h
include/mozjs-52/jscpucfg.h
include/mozjs-52/jsfriendapi.h
include/mozjs-52/jsperf.h
include/mozjs-52/jsprf.h
include/mozjs-52/jsprototypes.h
include/mozjs-52/jspubtd.h
include/mozjs-52/jstypes.h
include/mozjs-52/jsversion.h
include/mozjs-52/jswrapper.h
include/mozjs-52/mozilla/Alignment.h
include/mozjs-52/mozilla/AllocPolicy.h
include/mozjs-52/mozilla/AlreadyAddRefed.h
include/mozjs-52/mozilla/Array.h
include/mozjs-52/mozilla/ArrayUtils.h
include/mozjs-52/mozilla/Assertions.h
include/mozjs-52/mozilla/Atomics.h
include/mozjs-52/mozilla/Attributes.h
include/mozjs-52/mozilla/BinarySearch.h
include/mozjs-52/mozilla/BloomFilter.h
include/mozjs-52/mozilla/BufferList.h
include/mozjs-52/mozilla/Casting.h
include/mozjs-52/mozilla/ChaosMode.h
include/mozjs-52/mozilla/Char16.h
include/mozjs-52/mozilla/CheckedInt.h
include/mozjs-52/mozilla/Compiler.h
include/mozjs-52/mozilla/Compression.h
include/mozjs-52/mozilla/DebugOnly.h
include/mozjs-52/mozilla/Decimal.h
include/mozjs-52/mozilla/EndianUtils.h
include/mozjs-52/mozilla/EnumSet.h
include/mozjs-52/mozilla/EnumTypeTraits.h
include/mozjs-52/mozilla/EnumeratedArray.h
include/mozjs-52/mozilla/EnumeratedRange.h
include/mozjs-52/mozilla/FastBernoulliTrial.h
include/mozjs-52/mozilla/FloatingPoint.h
include/mozjs-52/mozilla/Function.h
include/mozjs-52/mozilla/GuardObjects.h
include/mozjs-52/mozilla/HashFunctions.h
include/mozjs-52/mozilla/IndexSequence.h
include/mozjs-52/mozilla/IntegerPrintfMacros.h
include/mozjs-52/mozilla/IntegerRange.h
include/mozjs-52/mozilla/IntegerTypeTraits.h
include/mozjs-52/mozilla/JSONWriter.h
include/mozjs-52/mozilla/Likely.h
include/mozjs-52/mozilla/LinkedList.h
include/mozjs-52/mozilla/MacroArgs.h
include/mozjs-52/mozilla/MacroForEach.h
include/mozjs-52/mozilla/MathAlgorithms.h
include/mozjs-52/mozilla/Maybe.h
include/mozjs-52/mozilla/MaybeOneOf.h
include/mozjs-52/mozilla/MemoryChecking.h
include/mozjs-52/mozilla/MemoryReporting.h
include/mozjs-52/mozilla/Move.h
include/mozjs-52/mozilla/NotNull.h
include/mozjs-52/mozilla/NullPtr.h
include/mozjs-52/mozilla/Opaque.h
include/mozjs-52/mozilla/OperatorNewExtensions.h
include/mozjs-52/mozilla/Pair.h
include/mozjs-52/mozilla/PodOperations.h
include/mozjs-52/mozilla/Poison.h
include/mozjs-52/mozilla/Range.h
include/mozjs-52/mozilla/RangedArray.h
include/mozjs-52/mozilla/RangedPtr.h
include/mozjs-52/mozilla/ReentrancyGuard.h
include/mozjs-52/mozilla/RefCountType.h
include/mozjs-52/mozilla/RefCounted.h
include/mozjs-52/mozilla/RefPtr.h
include/mozjs-52/mozilla/ReverseIterator.h
include/mozjs-52/mozilla/RollingMean.h
include/mozjs-52/mozilla/SHA1.h
include/mozjs-52/mozilla/Saturate.h
include/mozjs-52/mozilla/ScopeExit.h
include/mozjs-52/mozilla/Scoped.h
include/mozjs-52/mozilla/SegmentedVector.h
include/mozjs-52/mozilla/SizePrintfMacros.h
include/mozjs-52/mozilla/SplayTree.h
include/mozjs-52/mozilla/Sprintf.h
include/mozjs-52/mozilla/StackWalk.h
include/mozjs-52/mozilla/StaticAnalysisFunctions.h
include/mozjs-52/mozilla/TaggedAnonymousMemory.h
include/mozjs-52/mozilla/TemplateLib.h
include/mozjs-52/mozilla/TextUtils.h
include/mozjs-52/mozilla/ThreadLocal.h
include/mozjs-52/mozilla/TimeStamp.h
include/mozjs-52/mozilla/ToString.h
include/mozjs-52/mozilla/Tuple.h
include/mozjs-52/mozilla/TypeTraits.h
include/mozjs-52/mozilla/TypedEnumBits.h
include/mozjs-52/mozilla/Types.h
include/mozjs-52/mozilla/UniquePtr.h
include/mozjs-52/mozilla/UniquePtrExtensions.h
include/mozjs-52/mozilla/Unused.h
include/mozjs-52/mozilla/Variant.h
include/mozjs-52/mozilla/Vector.h
include/mozjs-52/mozilla/WeakPtr.h
include/mozjs-52/mozilla/XorShift128PlusRNG.h
include/mozjs-52/mozilla/double-conversion.h
include/mozjs-52/mozilla/fallible.h
include/mozjs-52/mozilla/mozalloc.h
include/mozjs-52/mozilla/mozalloc_abort.h
include/mozjs-52/mozilla/mozalloc_oom.h
include/mozjs-52/mozilla/utils.h
%%JEMALLOC%%include/mozjs-52/mozmemory.h
%%JEMALLOC%%include/mozjs-52/mozmemory_wrap.h
lib/libmozjs-52.so
lib/libmozjs-52.so.1
libdata/pkgconfig/mozjs-52.pc