# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # spidermonkey # spidermonkey/files/ # spidermonkey/Makefile # spidermonkey/distinfo # spidermonkey/files # spidermonkey/pkg-descr # spidermonkey/pkg-plist # spidermonkey/files/patch-bug784631 # echo c - spidermonkey mkdir -p spidermonkey > /dev/null 2>&1 echo c - spidermonkey/files/ mkdir -p spidermonkey/files/ > /dev/null 2>&1 echo x - spidermonkey/Makefile sed 's/^X//' >spidermonkey/Makefile << '2572b59cf6756cefa222488df70bf805' X# Created by: Kubilay Kocak X# $FreeBSD$ X XPORTNAME= spidermonkey17 XPORTVERSION= 17 XCATEGORIES= lang XMASTER_SITES= http://people.mozilla.org/~sstangl/ X#js187-1.0.0.tar.gz X#MASTER_SITES= ${MASTER_SITE_MOZILLA} X#MASTER_SITE_SUBDIR= js XDISTNAME= mozjs17.0.0.rc1 X XMAINTAINER= koobs@FreeBSD.org XCOMMENT= Standalone Mozilla JavaScript based from Mozilla 17-esr X XBUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip XLIB_DEPENDS= nspr4:${PORTSDIR}/devel/nspr X XCONFLICTS= njs-[0-9]* X XGNU_CONFIGURE= yes XUSE_GMAKE= yes XUSE_GNOME= gnomehack XUSE_LDCONFIG= yes XUSE_PERL5_BUILD= yes XUSE_PYTHON_BUILD= 2.5-2.7 XMAKE_JOBS_SAFE= yes X XWRKSRC= ${WRKDIR}/mozjs17/js/src X XCONFIGURE_ARGS= --with-pthreads \ X --with-system-nspr X X# This comes from bsd.gecko.mk, fixes linking issues on 9.0 and higher. Xpost-configure: X ${ECHO_CMD} "fenv.h" >> ${WRKSRC}/config/system-headers X ${ECHO_CMD} "pthread_np.h" >> ${WRKSRC}/config/system-headers X XOPTIONS_DEFINE= DEBUG GCZEAL JEMALLOC METHODJIT OPTIMIZE READLINE \ X THREADSAFE TRACEJIT UTF8 \ X XOPTIONS_DEFAULT= METHODJIT OPTIMIZE READLINE THREADSAFE TRACEJIT X XDEBUG_DESC= Enable Debug build XGCZEAL_DESC= Enable Zealous garbage collecting XJEMALLOC_DESC= Use jemalloc as memory allocator XMETHODJIT_DESC= Enable method JIT support XOPTIMIZE_DESC= Enable compiler optimizations XREADLINE_DESC= Link js shell to system readline library XTHREADSAFE_DESC= Enable multiple thread support XTRACEJIT_DESC= Enable tracing JIT support XUTF8_DESC= Treat strings as UTF8 instead of ISO-8859-1 X X.include X X.if ${PORT_OPTIONS:MDEBUG} XCONFIGURE_ARGS+= --enable-debug \ X --enable-debug-symbols X.else XCONFIGURE_ARGS+= --disable-debug X.endif X X.if ${PORT_OPTIONS:MGCZEAL} XCONFIGURE_ARGS+= --enable-gczeal X.else XCONFIGURE_ARGS+= --disable-gczeal X.endif X X.if ${PORT_OPTIONS:MJEMALLOC} XCONFIGURE_ARGS+= --enable-jemalloc X.else XCONFIGURE_ARGS+= --disable-jemalloc X.endif X X.if ${PORT_OPTIONS:MMETHODJIT} XCONFIGURE_ARGS+= --enable-methodjit X.else XCONFIGURE_ARGS+= --disable-methodjit X.endif X X.if ${PORT_OPTIONS:MOPTIMIZE} XCONFIGURE_ARGS+= --enable-optimize X.else XCONFIGURE_ARGS+= --disable-optimize X.endif X X.if ${PORT_OPTIONS:MREADLINE} XCONFIGURE_ARGS+= --enable-readline X.else XCONFIGURE_ARGS+= --disable-readline X.endif X X.if ${PORT_OPTIONS:MTHREADSAFE} XCONFIGURE_ARGS+= --enable-threadsafe X.else XCONFIGURE_ARGS+= --disable-threadsafe X.endif X X.if ${PORT_OPTIONS:MTRACEJIT} XCONFIGURE_ARGS+= --enable-tracejit X.else XCONFIGURE_ARGS+= --disable-tracejit X.endif X X.if ${PORT_OPTIONS:MUTF8} XCFLAGS+= -DJS_C_STRINGS_ARE_UTF8 X.endif X X.include X X.if ${ARCH} == amd64 XCONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL} X.endif X X.if ${ARCH} == "sparc64" && ${OSVERSION} > 900000 XBROKEN= Does not build on sparc64-9: fails to link X.endif X X.if ${ARCH} == "amd64" XPLIST_SUB+= AMD64="" X.else XPLIST_SUB+= AMD64="@comment " X.endif X X.if ${ARCH} == "i386" XPLIST_SUB+= I386="" X.else XPLIST_SUB+= I386="@comment " X.endif X X.if ${ARCH} == "arm" XPLIST_SUB+= ARM="" X.else XPLIST_SUB+= ARM="@comment " X.endif X X.if ${ARCH} == "mips" XPLIST_SUB+= MIPS="" X.else XPLIST_SUB+= MIPS="@comment " X.endif X X.if ${ARCH} == "powerpc" || ${ARCH} == "powerpc64" XPLIST_SUB+= PPC="" X.else XPLIST_SUB+= PPC="@comment " X.endif X X.if ${ARCH} == "sparc64" XPLIST_SUB+= SPARC="" X.else XPLIST_SUB+= SPARC="@comment " X.endif X Xregression-test: build X @${ECHO_MSG} -n "===> Running jstests.py: " X @cd ${WRKSRC} && ${SETENV} TZ=PST8PDT ${PYTHON_CMD} tests/jstests.py \ X --no-progress ./js17 X.if ${PORT_OPTIONS:MMETHODJIT} || ${PORT_OPTIONS:MTRACEJIT} X @${ECHO_MSG} -n "===> Running jit_test.py: " X @cd ${WRKSRC} && ${SETENV} TZ=PST8PDT ${PYTHON_CMD} jit-test/jit_test.py \ X --no-progress --jitflags=,m,j,mj,mjp,am,amj,amjp,amd ./js17 X.endif X Xpost-install: X ${LN} -s libmozjs-17.0.so ${PREFIX}/lib/libmozjs-17.0.so.1 X X.include 2572b59cf6756cefa222488df70bf805 echo x - spidermonkey/distinfo sed 's/^X//' >spidermonkey/distinfo << '7f36ad30383079311d8b7f3a65868499' XSHA256 (mozjs17.0.0.rc1.tar.gz) = fdf4110fbfc584783daa3211b94a0a59bfe7f95ec8245046899f1e6113273d78 XSIZE (mozjs17.0.0.rc1.tar.gz) = 6776022 7f36ad30383079311d8b7f3a65868499 echo c - spidermonkey/files mkdir -p spidermonkey/files > /dev/null 2>&1 echo x - spidermonkey/pkg-descr sed 's/^X//' >spidermonkey/pkg-descr << '4a06df2117abcaafe40cf94065ab4607' XSpidermonkey is the JavaScript interpreter from the Mozilla project. X XWWW: http://www.mozilla.org/js/spidermonkey/ 4a06df2117abcaafe40cf94065ab4607 echo x - spidermonkey/pkg-plist sed 's/^X//' >spidermonkey/pkg-plist << 'e0fc10e0c7857e86d57357f6e4174292' Xbin/js17-config Xbin/js17 Xinclude/js-17.0/js-config.h Xinclude/js-17.0/jscpucfg.h Xinclude/js-17.0/js.msg Xinclude/js-17.0/jsalloc.h Xinclude/js-17.0/jsapi.h Xinclude/js-17.0/jsatom.h Xinclude/js-17.0/jsatom.tbl Xinclude/js-17.0/jsclass.h Xinclude/js-17.0/jsclist.h Xinclude/js-17.0/jsdbgapi.h Xinclude/js-17.0/jsdhash.h Xinclude/js-17.0/jsfriendapi.h Xinclude/js-17.0/jsgc.h Xinclude/js-17.0/jslock.h Xinclude/js-17.0/json.h Xinclude/js-17.0/jsproxy.h Xinclude/js-17.0/jsprf.h Xinclude/js-17.0/jsproto.tbl Xinclude/js-17.0/jsprvtd.h Xinclude/js-17.0/jspubtd.h Xinclude/js-17.0/jstypes.h Xinclude/js-17.0/jsutil.h Xinclude/js-17.0/jsversion.h Xinclude/js-17.0/jswrapper.h Xinclude/js-17.0/jsval.h Xinclude/js-17.0/jsperf.h Xinclude/js-17.0/ds/BitArray.h Xinclude/js-17.0/gc/Barrier.h Xinclude/js-17.0/gc/Heap.h Xinclude/js-17.0/gc/Root.h Xinclude/js-17.0/gc/Statistics.h Xinclude/js-17.0/gc/StoreBuffer.h Xinclude/js-17.0/js/HashTable.h Xinclude/js-17.0/js/LegacyIntTypes.h Xinclude/js-17.0/js/MemoryMetrics.h Xinclude/js-17.0/js/RequiredDefines.h Xinclude/js-17.0/js/TemplateLib.h Xinclude/js-17.0/js/Utility.h Xinclude/js-17.0/js/Vector.h Xinclude/js-17.0/mozilla/Assertions.h Xinclude/js-17.0/mozilla/Attributes.h Xinclude/js-17.0/mozilla/BloomFilter.h Xinclude/js-17.0/mozilla/CheckedInt.h Xinclude/js-17.0/mozilla/Constants.h Xinclude/js-17.0/mozilla/FloatingPoint.h Xinclude/js-17.0/mozilla/GuardObjects.h Xinclude/js-17.0/mozilla/HashFunctions.h Xinclude/js-17.0/mozilla/Likely.h Xinclude/js-17.0/mozilla/LinkedList.h Xinclude/js-17.0/mozilla/MathAlgorithms.h Xinclude/js-17.0/mozilla/MSStdInt.h Xinclude/js-17.0/mozilla/NullPtr.h Xinclude/js-17.0/mozilla/RangedPtr.h Xinclude/js-17.0/mozilla/RefPtr.h Xinclude/js-17.0/mozilla/Scoped.h Xinclude/js-17.0/mozilla/StandardInteger.h Xinclude/js-17.0/mozilla/SHA1.h Xinclude/js-17.0/mozilla/ThreadLocal.h Xinclude/js-17.0/mozilla/TypeTraits.h Xinclude/js-17.0/mozilla/Types.h Xinclude/js-17.0/mozilla/Util.h Xinclude/js-17.0/mozilla/WeakPtr.h Xlib/libmozjs-17.0.a Xlib/libmozjs-17.0.so Xlib/libmozjs-17.0.so.1 Xlibdata/pkgconfig/mozjs-17.0.pc X@dirrm include/js-17.0/mozilla X@dirrm include/js-17.0/js X@dirrm include/js-17.0/gc X@dirrm include/js-17.0/ds X@dirrm include/js-17.0 e0fc10e0c7857e86d57357f6e4174292 echo x - spidermonkey/files/patch-bug784631 sed 's/^X//' >spidermonkey/files/patch-bug784631 << '0cd07bf591ec2a2c7a81b00bf4206ad5' Xcommit 66b3921 XAuthor: Terrence Cole XDate: Tue Sep 11 12:31:04 2012 -0700 X X Bug 784631 - Fix some clang build errors in SpiderMonkey; r=Waldo f=espindola X X Computed gotos are not in the C++ standard: clang and gcc differ on semantics. X--- X js/src/jsinterp.cpp | 3 ++- X js/src/jsutil.h | 8 ++++---- X 2 files changed, 6 insertions(+), 5 deletions(-) X Xdiff --git js/src/jsinterp.cpp js/src/jsinterp.cpp Xindex 0094c72..27a64a7 100644 X--- js/src/jsinterp.cpp X+++ jsinterp.cpp X@@ -1231,6 +1231,7 @@ js::Interpret(JSContext *cx, StackFrame *entryFrame, InterpMode interpMode) X RootedPropertyName rootName0(cx); X RootedId rootId0(cx); X RootedShape rootShape0(cx); X+ DebugOnly blockDepth; X X if (!entryFrame) X entryFrame = regs.fp(); X@@ -3650,7 +3651,7 @@ BEGIN_CASE(JSOP_LEAVEBLOCK) X BEGIN_CASE(JSOP_LEAVEFORLETIN) X BEGIN_CASE(JSOP_LEAVEBLOCKEXPR) X { X- DebugOnly blockDepth = regs.fp()->blockChain().stackDepth(); X+ blockDepth = regs.fp()->blockChain().stackDepth(); X X regs.fp()->popBlock(cx); X Xdiff --git js/src/jsutil.h js/src/jsutil.h Xindex 8838b6f..016a877 100644 X--- js/src/jsutil.h X+++ jsutil.h X@@ -432,10 +432,10 @@ typedef size_t jsbitmap; X #if defined(__clang__) X # define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr) \ X JS_BEGIN_MACRO \ X- _Pragma("clang diagnostic push") \ X- _Pragma("clang diagnostic ignored \"-Wunused-value\"") \ X- expr; \ X- _Pragma("clang diagnostic pop") \ X+ _Pragma("(clang diagnostic push)") \ X+ _Pragma("(clang diagnostic ignored \"-Wunused-value\")") \ X+ {expr;} \ X+ _Pragma("(clang diagnostic pop)") \ X JS_END_MACRO X #elif (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) X # define JS_SILENCE_UNUSED_VALUE_IN_EXPR(expr) \ 0cd07bf591ec2a2c7a81b00bf4206ad5 exit