commit:     7de0f97e44335f6bb92087290ecf5420150b56a6
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Fri May  9 21:22:00 2014 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Fri May  9 21:22:00 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/mozilla.git;a=commit;h=7de0f97e

alpha of spidermonkey-31 for testing, no keywords right now

---
 dev-lang/spidermonkey/Manifest                     |   1 +
 .../files/spidermonkey-31-jit-tests.patch          |  32 +++++
 .../spidermonkey/spidermonkey-31.0_alpha2.ebuild   | 138 +++++++++++++++++++++
 3 files changed, 171 insertions(+)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 60732e5..5fb45d0 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1 +1,2 @@
 DIST mozjs-24.2.0.tar.bz2 15624530 SHA256 
e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8 SHA512 
49805e256f6fa797505c01b7596d5bb941ed7a2454862c52ed42ad48b5ae4540b777e77ed8da1b98c89f8622ed2c76052187983687008a4ff53594addb328df4
 WHIRLPOOL 
ea74d19c79b1a0fe407e2803900c49c23e8b76444fb4e20995072c3c59427e8df1895df04f2f4de779a1c58cd1166dd97aeaf7564350832011efe89dbcf9583e
+DIST mozjs-31.0a2.tar.bz2 21261131 SHA256 
fe57dca9bf5be446d6bea385245824c1b4487d06040d90a0a9fa1adf21836303 SHA512 
d4dbc0cf5d5bc3b1d52d346d0d54bb10182962551eba3ef2186efc7a433f8b856db9c8df2488e6a4385fbd18dcd22468c76f025bb52187af33990066089709fd
 WHIRLPOOL 
4305a6c4b141efbb559ff879189270e291f396d825f87627d9e8c62cab5de7b56eb4c6b0fd91e2d5ed568eb17e896822755c54e47b2bddd7d2275d3c2a088836

diff --git a/dev-lang/spidermonkey/files/spidermonkey-31-jit-tests.patch 
b/dev-lang/spidermonkey/files/spidermonkey-31-jit-tests.patch
new file mode 100644
index 0000000..9e281f8
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-31-jit-tests.patch
@@ -0,0 +1,32 @@
+--- a/js/src/jit-test/tests/basic/cross-context-stack-1.js
++++ b/js/src/jit-test/tests/basic/cross-context-stack-1.js
+@@ -1,21 +1,21 @@
+ // Error().stack (ScriptFrameIter) is no longer context-bound.
+ function beta() {
+     evaluate("function gamma() {\nstack = Error().stack;\n };\n gamma();", 
{newContext: true});
+ }
+ function alpha() {
+     beta();
+ }
+ alpha();
+-assertEq(/alpha/.test(stack), true);
+-assertEq(/beta/.test(stack), true);
+-assertEq(/gamma/.test(stack), true);
+-assertEq(/delta/.test(stack), false);
++assertEq(/alpha@/.test(stack), true);
++assertEq(/beta@/.test(stack), true);
++assertEq(/gamma@/.test(stack), true);
++assertEq(/delta@/.test(stack), false);
+ 
+ function delta() {
+     evaluate("stack = Error().stack", {newContext: true});
+ }
+ delta();
+-assertEq(/alpha/.test(stack), false);
+-assertEq(/beta/.test(stack), false);
+-assertEq(/gamma/.test(stack), false);
+-assertEq(/delta/.test(stack), true);
++assertEq(/alpha@/.test(stack), false);
++assertEq(/beta@/.test(stack), false);
++assertEq(/gamma@/.test(stack), false);
++assertEq(/delta@/.test(stack), true);

diff --git a/dev-lang/spidermonkey/spidermonkey-31.0_alpha2.ebuild 
b/dev-lang/spidermonkey/spidermonkey-31.0_alpha2.ebuild
new file mode 100644
index 0000000..d78e741
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-31.0_alpha2.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: 
/var/cvsroot/gentoo-x86/dev-lang/spidermonkey/spidermonkey-24.2.0-r1.ebuild,v 
1.1 2014/03/08 14:38:51 anarchy Exp $
+
+EAPI="5"
+WANT_AUTOCONF="2.1"
+PYTHON_COMPAT=( python2_{6,7} )
+PYTHON_REQ_USE="threads"
+inherit autotools eutils toolchain-funcs multilib python-any-r1 versionator 
pax-utils
+
+MY_PN="mozjs"
+MY_PV="${PV/_alpha/a}"
+MY_P="${MY_PN}-${MY_PV/_/.}"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/";
+#SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.bz2";
+SRC_URI="http://dev.gentoo.org/~axs/distfiles/${MY_P}.tar.bz2";
+
+LICENSE="NPL-1.1"
+SLOT="31"
+#KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc 
~x86 ~x86-fbsd"
+KEYWORDS=""
+IUSE="debug jit icu minimal static-libs +system-icu test"
+
+RESTRICT="ia64? ( test )"
+
+S="${WORKDIR}/${MY_P%.rc*}"
+BUILDDIR="${WORKDIR}/jsbuild"
+
+RDEPEND=">=dev-libs/nspr-4.9.4
+       virtual/libffi
+       >=sys-libs/zlib-1.1.4
+       system-icu? ( >=dev-libs/icu-1.51:= )"
+DEPEND="${RDEPEND}
+       ${PYTHON_DEPS}
+       app-arch/zip
+       virtual/pkgconfig"
+
+pkg_setup(){
+       if [[ ${MERGE_TYPE} != "binary" ]]; then
+               python-any-r1_pkg_setup
+               export LC_ALL="C"
+       fi
+}
+
+src_prepare() {
+       epatch "${FILESDIR}"/${PN}-${SLOT}-jit-tests.patch
+#      epatch_user
+#
+#      cd "${BUILDDIR}" || die
+#      eautoconf
+}
+
+src_configure() {
+       mkdir "${BUILDDIR}" && cd "${BUILDDIR}" || die
+
+        local myopts=""
+        if use icu; then # make sure system-icu flag only affects icu-enabled 
build
+                myopts+="$(use_with system-icu)"
+        else
+                myopts+="--without-system-icu"
+        fi
+
+       CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+       AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+       LD="$(tc-getLD)" \
+       ECONF_SOURCE="${S}/js/src" \
+       econf \
+               ${myopts}
+               --enable-jemalloc \
+               --enable-readline \
+               --enable-threadsafe \
+               --with-system-nspr \
+               --enable-system-ffi \
+               --enable-jemalloc \
+               $(use_with icu intl-api) \
+               $(use_enable debug) \
+               $(use_enable jit tracejit) \
+               $(use_enable jit methodjit) \
+               $(use_enable static-libs static) \
+               $(use_enable test tests)
+}
+
+src_compile() {
+       cd "${BUILDDIR}" || die
+       if tc-is-cross-compiler; then
+               make CFLAGS="" CXXFLAGS="" \
+                       CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
+                       AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
+                       jscpucfg host_jsoplengen host_jskwgen || die
+               make CFLAGS="" CXXFLAGS="" \
+                       CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
+                       AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
+                       -C config nsinstall || die
+               mv {,native-}jscpucfg || die
+               mv {,native-}host_jskwgen || die
+               mv {,native-}host_jsoplengen || die
+               mv config/{,native-}nsinstall || die
+               sed -e 's@./jscpucfg@./native-jscpucfg@' \
+                       -e 's@./host_jskwgen@./native-host_jskwgen@' \
+                       -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+                       -i Makefile || die
+               sed -e 's@/nsinstall@/native-nsinstall@' -i config/config.mk || 
die
+               rm -f config/host_nsinstall.o \
+                       config/host_pathsub.o \
+                       host_jskwgen.o \
+                       host_jsoplengen.o || die
+       fi
+       emake
+}
+
+src_test() {
+       cd "${BUILDDIR}/js/src/jsapi-tests" || die
+       emake check
+       cd "${BUILDDIR}" || die
+       emake check-jit-test
+}
+
+src_install() {
+       cd "${BUILDDIR}" || die
+       emake DESTDIR="${D}" install
+       mv "${ED}"/usr/bin/js "${ED}"/usr/bin/js${SLOT}
+       mv "${ED}"/usr/bin/js-config "${ED}"/usr/bin/js${SLOT}-config
+
+       if ! use minimal; then
+               if use jit; then
+                       pax-mark m "${ED}/usr/bin/js${SLOT}"
+               fi
+       else
+               rm -f "${ED}/usr/bin/js${SLOT}"
+       fi
+
+       if ! use static-libs; then
+               # We can't actually disable building of static libraries
+               # They're used by the tests and in a few other places
+               find "${D}" -iname '*.a' -delete || die
+       fi
+}

Reply via email to