diff options
author | Koop Mast <kwm@FreeBSD.org> | 2018-05-20 21:30:35 +0000 |
---|---|---|
committer | Koop Mast <kwm@FreeBSD.org> | 2018-05-20 21:30:35 +0000 |
commit | f0bb8e49ed600232c74916f7c4ee56e25c285694 (patch) | |
tree | 0e1ad84e4841cb1302f0db100913981b76fe1216 /lang | |
parent | 1e5bc56722a7cc155c545fad8df27e455e5a99b5 (diff) | |
download | ports-f0bb8e49ed600232c74916f7c4ee56e25c285694.tar.gz ports-f0bb8e49ed600232c74916f7c4ee56e25c285694.zip |
Notes
Diffstat (limited to 'lang')
-rw-r--r-- | lang/Makefile | 1 | ||||
-rw-r--r-- | lang/spidermonkey52/Makefile | 91 | ||||
-rw-r--r-- | lang/spidermonkey52/distinfo | 3 | ||||
-rw-r--r-- | lang/spidermonkey52/files/patch-1426865 | 23 | ||||
-rw-r--r-- | lang/spidermonkey52/files/patch-disable-mozglue | 62 | ||||
-rw-r--r-- | lang/spidermonkey52/pkg-descr | 3 | ||||
-rw-r--r-- | lang/spidermonkey52/pkg-plist | 161 |
7 files changed, 344 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile index 2a8eca36cb31..81144022febf 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -344,6 +344,7 @@ SUBDIR += spidermonkey185 SUBDIR += spidermonkey24 SUBDIR += spidermonkey38 + SUBDIR += spidermonkey52 SUBDIR += spl SUBDIR += squeak SUBDIR += squirrel diff --git a/lang/spidermonkey52/Makefile b/lang/spidermonkey52/Makefile new file mode 100644 index 000000000000..3c54d780e2ce --- /dev/null +++ b/lang/spidermonkey52/Makefile @@ -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> diff --git a/lang/spidermonkey52/distinfo b/lang/spidermonkey52/distinfo new file mode 100644 index 000000000000..f142a960ed93 --- /dev/null +++ b/lang/spidermonkey52/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1525963979 +SHA256 (firefox-52.8.0esr.source.tar.xz) = babed4fe0ae95783e39358aedf7111b20fd9442f73b3b41b025fa4951fe76287 +SIZE (firefox-52.8.0esr.source.tar.xz) = 214054520 diff --git a/lang/spidermonkey52/files/patch-1426865 b/lang/spidermonkey52/files/patch-1426865 new file mode 100644 index 000000000000..7b922ff70fca --- /dev/null +++ b/lang/spidermonkey52/files/patch-1426865 @@ -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 */ diff --git a/lang/spidermonkey52/files/patch-disable-mozglue b/lang/spidermonkey52/files/patch-disable-mozglue new file mode 100644 index 000000000000..66a1d3fd8df6 --- /dev/null +++ b/lang/spidermonkey52/files/patch-disable-mozglue @@ -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') diff --git a/lang/spidermonkey52/pkg-descr b/lang/spidermonkey52/pkg-descr new file mode 100644 index 000000000000..2db0b2ca559f --- /dev/null +++ b/lang/spidermonkey52/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/spidermonkey52/pkg-plist b/lang/spidermonkey52/pkg-plist new file mode 100644 index 000000000000..322a6215686f --- /dev/null +++ b/lang/spidermonkey52/pkg-plist @@ -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 |