public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2016-09-01 21:03 Ian Stakenvicius
  0 siblings, 0 replies; 21+ messages in thread
From: Ian Stakenvicius @ 2016-09-01 21:03 UTC (permalink / raw
  To: gentoo-commits

commit:     436f1eed9e302d8b5e0711803f980bc72c81e0d5
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 31 23:09:20 2016 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Thu Sep  1 21:03:29 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=436f1eed

dev-lang/spidermonkey: patch 1.8.5 to build with gcc6

Bug: http://bugs.gentoo.org/582478

Package-Manager: portage-2.2.28

 .../files/spidermonkey-1.8.5-gcc6.patch            | 144 ++++++++++++++++++++
 dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild | 149 +++++++++++++++++++++
 2 files changed, 293 insertions(+)

diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-gcc6.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-gcc6.patch
new file mode 100644
index 00000000..ab2181f
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-gcc6.patch
@@ -0,0 +1,144 @@
+diff -upr a/js/src/jsapi.cpp b/js/src/jsapi.cpp
+--- a/js/src/jsapi.cpp	2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsapi.cpp	2016-02-29 18:10:49.302307353 -0600
+@@ -3985,7 +3985,7 @@ JS_Enumerate(JSContext *cx, JSObject *ob
+     AutoIdVector props(cx);
+     JSIdArray *ida;
+     if (!GetPropertyNames(cx, obj, JSITER_OWNONLY, &props) || !VectorToIdArray(cx, props, &ida))
+-        return false;
++        return NULL;
+     for (size_t n = 0; n < size_t(ida->length); ++n)
+         JS_ASSERT(js_CheckForStringIndex(ida->vector[n]) == ida->vector[n]);
+     return ida;
+diff -upr a/js/src/jsfun.cpp b/js/src/jsfun.cpp
+--- a/js/src/jsfun.cpp	2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsfun.cpp	2016-02-29 18:21:45.249674890 -0600
+@@ -2051,7 +2051,7 @@ fun_toStringHelper(JSContext *cx, JSObje
+ 
+     JSString *str = JS_DecompileFunction(cx, fun, indent);
+     if (!str)
+-        return false;
++        return NULL;
+ 
+     if (!indent)
+         cx->compartment->toSourceCache.put(fun, str);
+@@ -2657,7 +2657,7 @@ LookupInterpretedFunctionPrototype(JSCon
+     const Shape *shape = funobj->nativeLookup(id);
+     if (!shape) {
+         if (!ResolveInterpretedFunctionPrototype(cx, funobj))
+-            return false;
++            return NULL;
+         shape = funobj->nativeLookup(id);
+     }
+     JS_ASSERT(!shape->configurable());
+diff -upr a/js/src/jsiter.cpp b/js/src/jsiter.cpp
+--- a/js/src/jsiter.cpp	2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsiter.cpp	2016-02-29 18:24:22.494659919 -0600
+@@ -425,7 +425,7 @@ NewIteratorObject(JSContext *cx, uintN f
+          */
+         JSObject *obj = js_NewGCObject(cx, FINALIZE_OBJECT0);
+         if (!obj)
+-            return false;
++            return NULL;
+         obj->init(cx, &js_IteratorClass, NULL, NULL, NULL, false);
+         obj->setMap(cx->compartment->emptyEnumeratorShape);
+         return obj;
+diff -upr a/js/src/jsparse.cpp b/js/src/jsparse.cpp
+--- a/js/src/jsparse.cpp	2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsparse.cpp	2016-02-29 18:29:03.997437475 -0600
+@@ -3352,7 +3352,7 @@ Parser::functionDef(JSAtom *funAtom, Fun
+     if (!outertc->inFunction() && bodyLevel && funAtom && !lambda && outertc->compiling()) {
+         JS_ASSERT(pn->pn_cookie.isFree());
+         if (!DefineGlobal(pn, outertc->asCodeGenerator(), funAtom))
+-            return false;
++            return NULL;
+     }
+ 
+     pn->pn_blockid = outertc->blockid();
+diff -upr a/js/src/jsstr.cpp b/js/src/jsstr.cpp
+--- a/js/src/jsstr.cpp	2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsstr.cpp	2016-02-29 19:01:45.857779836 -0600
+@@ -1734,7 +1734,7 @@ class RegExpGuard
+         if (flat) {
+             patstr = flattenPattern(cx, fm.patstr);
+             if (!patstr)
+-                return false;
++                return NULL;
+         } else {
+             patstr = fm.patstr;
+         }
+@@ -3400,7 +3400,7 @@ js_InitStringClass(JSContext *cx, JSObje
+                                  UndefinedValue(), NULL, NULL,
+                                  JSPROP_READONLY | JSPROP_PERMANENT | JSPROP_SHARED, 0, 0,
+                                  NULL)) {
+-        return JS_FALSE;
++        return NULL;
+     }
+ 
+     return proto;
+diff -upr a/js/src/jstypedarray.cpp b/js/src/jstypedarray.cpp
+--- a/js/src/jstypedarray.cpp	2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jstypedarray.cpp	2016-02-29 19:08:53.541136191 -0600
+@@ -1334,7 +1334,7 @@ class TypedArrayTemplate
+         if (size != 0 && count >= INT32_MAX / size) {
+             JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
+                                  JSMSG_NEED_DIET, "size and count");
+-            return false;
++            return NULL;
+         }
+ 
+         int32 bytelen = size * count;
+@@ -1668,7 +1668,7 @@ TypedArrayConstruct(JSContext *cx, jsint
+ 
+       default:
+         JS_NOT_REACHED("shouldn't have gotten here");
+-        return false;
++        return NULL;
+     }
+ }
+ 
+diff -upr a/js/src/jsxml.cpp b/js/src/jsxml.cpp
+--- a/js/src/jsxml.cpp	2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsxml.cpp	2016-02-29 19:17:10.363279731 -0600
+@@ -282,7 +282,7 @@ NewXMLNamespace(JSContext *cx, JSLinearS
+ 
+     obj = NewBuiltinClassInstanceXML(cx, &js_NamespaceClass);
+     if (!obj)
+-        return JS_FALSE;
++        return NULL;
+     JS_ASSERT(JSVAL_IS_VOID(obj->getNamePrefixVal()));
+     JS_ASSERT(JSVAL_IS_VOID(obj->getNameURIVal()));
+     JS_ASSERT(JSVAL_IS_VOID(obj->getNamespaceDeclared()));
+@@ -431,7 +431,7 @@ ConvertQNameToString(JSContext *cx, JSOb
+         size_t length = str->length();
+         jschar *chars = (jschar *) cx->malloc((length + 2) * sizeof(jschar));
+         if (!chars)
+-            return JS_FALSE;
++            return NULL;
+         *chars = '@';
+         const jschar *strChars = str->getChars(cx);
+         if (!strChars) {
+diff -upr a/js/src/methodjit/InvokeHelpers.cpp b/js/src/methodjit/InvokeHelpers.cpp
+--- a/js/src/methodjit/InvokeHelpers.cpp	2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/methodjit/InvokeHelpers.cpp	2016-02-29 20:34:14.496983346 -0600
+@@ -728,7 +728,7 @@ AtSafePoint(JSContext *cx)
+ {
+     JSStackFrame *fp = cx->fp();
+     if (fp->hasImacropc())
+-        return false;
++        return NULL;
+ 
+     JSScript *script = fp->script();
+     return script->maybeNativeCodeForPC(fp->isConstructing(), cx->regs->pc);
+diff -upr a/js/src/nanojit/NativeX64.cpp b/js/src/nanojit/NativeX64.cpp
+--- a/js/src/nanojit/NativeX64.cpp	2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/nanojit/NativeX64.cpp	2016-02-29 20:19:56.487934808 -0600
+@@ -1899,7 +1899,7 @@ namespace nanojit
+          }
+     }
+ 
+-    static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {0x8000000000000000LL,0};
++    static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {int64_t(0x8000000000000000LL),0};
+ 
+     void Assembler::asm_fneg(LIns *ins) {
+         Register rr, ra;

diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild
new file mode 100644
index 00000000..aa91c29
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WANT_AUTOCONF="2.1"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+inherit autotools eutils toolchain-funcs multilib python-any-r1 versionator pax-utils
+
+MY_PN="js"
+TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))"
+MY_P="${MY_PN}-${PV}"
+TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
+SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${TARBALL_P}.tar.gz"
+
+LICENSE="NPL-1.1"
+SLOT="0/mozjs185"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
+IUSE="debug minimal static-libs test"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.7.0
+	sys-libs/readline:0
+	x64-macos? ( dev-libs/jemalloc )"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	app-arch/zip
+	virtual/pkgconfig"
+
+pkg_setup(){
+	if [[ ${MERGE_TYPE} != "binary" ]]; then
+		export LC_ALL="C"
+	fi
+}
+
+src_prepare() {
+	# https://bugzilla.mozilla.org/show_bug.cgi?id=628723#c43
+	epatch "${FILESDIR}/${P}-fix-install-symlinks.patch"
+	# https://bugzilla.mozilla.org/show_bug.cgi?id=638056#c9
+	epatch "${FILESDIR}/${P}-fix-ppc64.patch"
+	# https://bugs.gentoo.org/show_bug.cgi?id=400727
+	# https://bugs.gentoo.org/show_bug.cgi?id=420471
+	epatch "${FILESDIR}/${P}-arm_respect_cflags-3.patch"
+	# https://bugs.gentoo.org/show_bug.cgi?id=438746
+	epatch "${FILESDIR}"/${PN}-1.8.7-freebsd-pthreads.patch
+	# https://bugs.gentoo.org/show_bug.cgi?id=441928
+	epatch "${FILESDIR}"/${PN}-1.8.5-perf_event-check.patch
+	# https://bugs.gentoo.org/show_bug.cgi?id=439260
+	epatch "${FILESDIR}"/${P}-symbol-versions.patch
+	# https://bugs.gentoo.org/show_bug.cgi?id=441934
+	epatch "${FILESDIR}"/${PN}-1.8.5-ia64-fix.patch
+	epatch "${FILESDIR}"/${PN}-1.8.5-ia64-static-strings.patch
+	# https://bugs.gentoo.org/show_bug.cgi?id=431560
+	epatch "${FILESDIR}"/${PN}-1.8.5-isfinite.patch
+	# https://bugs.gentoo.org/show_bug.cgi?id=552786
+	epatch "${FILESDIR}"/${PN}-perl-defined-array-check.patch
+	# https://bugs.gentoo.org/show_bug.cgi?id=439558
+	epatch "${FILESDIR}"/${PN}-1.8.7-x32.patch
+	# https://bugs.gentoo.org/show_bug.cgi?id=582478
+	epatch "${FILESDIR}"/${PN}-1.8.5-gcc6.patch
+
+	epatch_user
+
+	cd "${BUILDDIR}" || die
+	eautoconf
+}
+
+src_configure() {
+	cd "${BUILDDIR}" || die
+
+	CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+	AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+	LD="$(tc-getLD)" \
+	econf \
+		${myopts} \
+		--enable-jemalloc \
+		--enable-readline \
+		--enable-threadsafe \
+		--with-system-nspr \
+		--disable-optimize \
+		--disable-profile-guided-optimization \
+		$(use_enable debug) \
+		$(use_enable static-libs static) \
+		$(use_enable test tests)
+}
+
+cross_make() {
+	emake \
+		CFLAGS="${BUILD_CFLAGS}" \
+		CXXFLAGS="${BUILD_CXXFLAGS}" \
+		AR="${BUILD_AR}" \
+		CC="${BUILD_CC}" \
+		CXX="${BUILD_CXX}" \
+		RANLIB="${BUILD_RANLIB}" \
+		"$@"
+}
+src_compile() {
+	cd "${BUILDDIR}" || die
+	if tc-is-cross-compiler; then
+		tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
+		cross_make jscpucfg host_jsoplengen host_jskwgen
+		cross_make -C config nsinstall
+		mv {,native-}jscpucfg || die
+		mv {,native-}host_jskwgen || die
+		mv {,native-}host_jsoplengen || die
+		mv config/{,native-}nsinstall || die
+		sed -i \
+			-e 's@./jscpucfg@./native-jscpucfg@' \
+			-e 's@./host_jskwgen@./native-host_jskwgen@' \
+			-e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+			Makefile || die
+		sed -i -e 's@/nsinstall@/native-nsinstall@' 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}/jsapi-tests" || die
+	# for bug 415791
+	pax-mark mr jsapi-tests
+	emake check
+}
+
+src_install() {
+	cd "${BUILDDIR}" || die
+	emake DESTDIR="${D}" install
+	# bug 437520 , exclude js shell for small systems
+	if ! use minimal ; then
+		dobin shell/js
+		pax-mark m "${ED}/usr/bin/js"
+	fi
+	dodoc ../../README
+	dohtml README.html
+
+	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
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2024-08-08 11:22 Joonas Niilola
  0 siblings, 0 replies; 21+ messages in thread
From: Joonas Niilola @ 2024-08-08 11:22 UTC (permalink / raw
  To: gentoo-commits

commit:     94deb725baf7cbe43e1ea5128a7bd12114ffec67
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  8 11:20:26 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Aug  8 11:20:26 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94deb725

dev-lang/spidermonkey: add 115.14.0

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-lang/spidermonkey/Manifest                     |   2 +
 .../files/spidermonkey-115-known-test-failures.txt |   1 +
 dev-lang/spidermonkey/spidermonkey-115.14.0.ebuild | 509 +++++++++++++++++++++
 3 files changed, 512 insertions(+)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 3c135b8dc442..60a10aea91d6 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,6 +1,8 @@
 DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374bebb4745b87f6194191c1c9415547d772811a4a85f79a97e8985877eb5c9beef43fe15bef574172da35935e7024a947919ec11d883 SHA512 87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9
 DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520
 DIST firefox-115.13.0esr.source.tar.xz 510571488 BLAKE2B e2b00965a92cd11da6c81daa8b6c652dfccc9f0f7d066bc17ae5fa3ac3aaaa021c4489a9f653127f5516e3d77cd7174de328343e22c4edab438e3fcb9a859178 SHA512 799cdf2d0494003a5addd0da703f53deb9c9d6bb6f6c95d40026363382803e2d086039c7798940a1f35f4cba111f2e8e21bde8ac2eac29fd9bd6876dd8d3a85f
+DIST firefox-115.14.0esr.source.tar.xz 507310580 BLAKE2B ffca6b7dce6ae6a470c9d5506b4236077b2151732bff811aa0bf0367be80aec5ea4918ee5dcd611b0e19a025156def3e9524a4f5d741343e9fda5a2e693e15fa SHA512 dd40c1fd3cf454dbf33a85d38e47bb0e736ed89b829643653e239f43232441f4e9f3c7876f058ff2e6f19daf2b50a8f2d13274e9a107d8a258a6067d1fc43f54
 DIST firefox-115esr-patches-10.tar.xz 17256 BLAKE2B 0f6265d6e12f55e9b5128f2f261ba3785b80563e049d2441fde09dedf419c6086c9d994d2b44d1aab35af64cde375bdc254206da9ef148fc20fa90da0417606d SHA512 a1f0012420593a1c1b38dba1785ee9092e0923f56458c38f003cca4ebaac30a73fe3d1f5806a5795c76b2b8d729f8184372e63681daa450c3bb8e5afbe9e2e4f
+DIST firefox-115esr-patches-12.tar.xz 50732 BLAKE2B 821ea063bd14085458967e33570bb28a1457672d2c210368507532024db25dfbb7d30d37084a2cc60a4cc34dde453669ad9046c664e7e8459a8c7fab33485068 SHA512 e80b0eb9a4efa8e6a872a875a31e384a5d3ac2f7000a3d12b03cbe2dff43baf8e3e544b7b7baadcb46ae714e3709ecbc53742b9562fcb1b1caf85b037b5ad501
 DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185
 DIST spidermonkey-115-patches-01.tar.xz 3992 BLAKE2B e97d0cb3edfb885119226f54f22485ed4e8220cd904d3356b87ccc013403f976a042171cf9ca7250bcf3fe3d90996dd80b4104e7d614f95d7bcfcb0e710a8a78 SHA512 cece96f172a09dd0e29f7c2fdbf650cde405b276bc4083956365289f1da4b1d078ccbde760da6553888ddb3c53cf9aded52051db556a2c4ec492fed01dcb03a1

diff --git a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
index 9d21ef6dc615..0788f0f2b12d 100644
--- a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
+++ b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
@@ -12,6 +12,7 @@ non262/Intl/DisplayNames/language-dialect.js
 non262/Intl/ListFormat/conjunction-type.js
 non262/Intl/Locale/likely-subtags-generated.js
 non262/Intl/Locale/likely-subtags.js
+non262/Intl/NumberFormat/currency-narrow-symbol.js
 non262/Intl/available-locales-resolved.js
 non262/Intl/available-locales-supported.js
 non262/Intl/supportedValuesOf-timeZones-canonical.js

diff --git a/dev-lang/spidermonkey/spidermonkey-115.14.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.14.0.ebuild
new file mode 100644
index 000000000000..ca63af63c74c
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-115.14.0.ebuild
@@ -0,0 +1,509 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-115esr-patches-12.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=18
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,ssl,xml(+)"
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+	MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+	# Convert the ebuild version to the upstream Mozilla version
+	MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+	MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+	MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+	# ESR releases have slightly different version numbers
+	MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+	MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+	https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+	https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+	${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+SLOT="$(ver_cut 1)"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+	virtual/pkgconfig
+	|| (
+		(
+			sys-devel/llvm:18
+			clang? (
+				sys-devel/lld:18
+				sys-devel/clang:18
+				virtual/rust:0/llvm-18
+			)
+		)
+		(
+			sys-devel/llvm:17
+			clang? (
+				sys-devel/lld:17
+				sys-devel/clang:17
+				virtual/rust:0/llvm-17
+			)
+		)
+		(
+			sys-devel/llvm:16
+			clang? (
+				sys-devel/lld:16
+				sys-devel/clang:16
+				virtual/rust:0/llvm-16
+			)
+		)
+		(
+			sys-devel/llvm:15
+			clang? (
+				sys-devel/lld:15
+				sys-devel/clang:15
+				virtual/rust:0/llvm-15
+			)
+		)
+	)
+	!clang? ( virtual/rust )
+	!elibc_glibc? (
+		|| (
+			dev-lang/rust
+			<dev-lang/rust-bin-1.73
+		)
+	)
+	test? (
+		$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+	)"
+DEPEND=">=dev-libs/icu-73.1:=
+	dev-libs/nspr
+	sys-libs/readline:0=
+	sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+	if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+		einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+		return 1
+	fi
+
+	if use clang ; then
+		if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+			einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+			einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if ! tc-ld-is-mold ; then
+			if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+				einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+				return 1
+			fi
+		fi
+	fi
+
+	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+	if use test ; then
+		python_has_version "dev-python/six[${PYTHON_USEDEP}]"
+	fi
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+	local out
+
+	# Ensure ld output is in English.
+	local -x LC_ALL=C
+
+	# First check the linker directly.
+	out=$($(tc-getLD "$@") --version 2>&1)
+	if [[ ${out} == *"mold"* ]] ; then
+		return 0
+	fi
+
+	# Then see if they're selecting mold via compiler flags.
+	# Note: We're assuming they're using LDFLAGS to hold the
+	# options and not CFLAGS/CXXFLAGS.
+	local base="${T}/test-tc-linker"
+	cat <<-EOF > "${base}.c"
+	int main() { return 0; }
+	EOF
+	out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+	rm -f "${base}"*
+	if [[ ${out} == *"mold"* ]] ; then
+		return 0
+	fi
+
+	# No mold here!
+	return 1
+}
+
+pkg_pretend() {
+	if use test ; then
+		CHECKREQS_DISK_BUILD="4000M"
+	else
+		CHECKREQS_DISK_BUILD="3600M"
+	fi
+
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use test ; then
+			CHECKREQS_DISK_BUILD="4000M"
+		else
+			CHECKREQS_DISK_BUILD="3600M"
+		fi
+
+		check-reqs_pkg_setup
+
+		llvm_pkg_setup
+
+		if use clang && use lto && tc-ld-is-lld ; then
+			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
+				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
+				eerror "  - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+				eerror "    llvm/clang/lld/rust chain depending on your @world updates)"
+				die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+			fi
+		fi
+
+		python-any-r1_pkg_setup
+
+		# Build system is using /proc/self/oom_score_adj, bug #604394
+		addpredict /proc/self/oom_score_adj
+
+		if ! mountpoint -q /dev/shm ; then
+			# If /dev/shm is not available, configure is known to fail with
+			# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+			ewarn "/dev/shm is not mounted -- expect build failures!"
+		fi
+
+		# Ensure we use C locale when building, bug #746215
+		export LC_ALL=C
+	fi
+}
+
+src_prepare() {
+	pushd ../.. &>/dev/null || die
+
+	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+	if ! use ppc64; then
+		rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+	fi
+
+	# Workaround for bgo #915651,915651,929013 on musl
+	if use elibc_glibc ; then
+		rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+	fi
+
+	eapply "${WORKDIR}"/firefox-patches
+	eapply "${WORKDIR}"/spidermonkey-patches
+
+	default
+
+	# Make cargo respect MAKEOPTS
+	export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+	# Workaround for bgo #915651,915651,929013 on musl
+	if ! use elibc_glibc ; then
+		if use amd64 ; then
+			export RUST_TARGET="x86_64-unknown-linux-musl"
+		elif use x86 ; then
+			export RUST_TARGET="i686-unknown-linux-musl"
+		else
+			die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651"
+		fi
+	fi
+
+	# sed-in toolchain prefix
+	sed -i \
+		-e "s/objdump/${CHOST}-objdump/" \
+		python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+		|| die "sed failed to set toolchain prefix"
+
+	# use prefix shell in wrapper linker scripts, bug #789660
+	hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+	einfo "Removing pre-built binaries ..."
+	find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+	MOZJS_BUILDDIR="${WORKDIR}/build"
+	mkdir "${MOZJS_BUILDDIR}" || die
+
+	popd &>/dev/null || die
+}
+
+src_configure() {
+	# Show flags set at the beginning
+	einfo "Current CFLAGS:    ${CFLAGS}"
+	einfo "Current CXXFLAGS:  ${CXXFLAGS}"
+	einfo "Current LDFLAGS:   ${LDFLAGS}"
+	einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+	local have_switched_compiler=
+	if use clang; then
+		# Force clang
+		einfo "Enforcing the use of clang due to USE=clang ..."
+
+		local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+		[[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+		[[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+		if tc-is-gcc; then
+			have_switched_compiler=yes
+		fi
+		AR=llvm-ar
+		CC=${CHOST}-clang-${version_clang}
+		CXX=${CHOST}-clang++-${version_clang}
+		NM=llvm-nm
+		RANLIB=llvm-ranlib
+
+	elif ! use clang && ! tc-is-gcc ; then
+		# Force gcc
+		have_switched_compiler=yes
+		einfo "Enforcing the use of gcc due to USE=-clang ..."
+		AR=gcc-ar
+		CC=${CHOST}-gcc
+		CXX=${CHOST}-g++
+		NM=gcc-nm
+		RANLIB=gcc-ranlib
+	fi
+
+	if [[ -n "${have_switched_compiler}" ]] ; then
+		# Because we switched active compiler we have to ensure
+		# that no unsupported flags are set
+		strip-unsupported-flags
+	fi
+
+	# Ensure we use correct toolchain,
+	# AS is used in a non-standard way by upstream, #bmo1654031
+	export HOST_CC="$(tc-getBUILD_CC)"
+	export HOST_CXX="$(tc-getBUILD_CXX)"
+	export AS="$(tc-getCC) -c"
+	tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+	cd "${MOZJS_BUILDDIR}" || die
+
+	# ../python/mach/mach/mixin/process.py fails to detect SHELL
+	export SHELL="${EPREFIX}/bin/bash"
+
+	local -a myeconfargs=(
+		--host="${CBUILD:-${CHOST}}"
+		--target="${CHOST}"
+
+		--disable-ctype
+		--disable-jemalloc
+		--disable-smoosh
+		--disable-strip
+
+		--enable-project=js
+		--enable-readline
+		--enable-release
+		--enable-shared-js
+
+		--with-intl-api
+		--with-system-icu
+		--with-system-nspr
+		--with-system-zlib
+		--with-toolchain-prefix="${CHOST}-"
+
+		$(use_enable debug)
+		$(use_enable jit)
+		$(use_enable test tests)
+	)
+
+	if use debug; then
+		myeconfargs+=( --disable-optimize )
+		myeconfargs+=( --enable-debug-symbols )
+		myeconfargs+=( --enable-real-time-tracing )
+	else
+		myeconfargs+=( --enable-optimize )
+		myeconfargs+=( --disable-debug-symbols )
+		myeconfargs+=( --disable-real-time-tracing )
+	fi
+
+	# We always end up disabling this at some point due to newer rust versions. bgo#933372
+	myeconfargs+=( --disable-rust-simd )
+
+	# Modifications to better support ARM, bug 717344
+	if use cpu_flags_arm_neon ; then
+		myeconfargs+=( --with-fpu=neon )
+
+		if ! tc-is-clang ; then
+			# thumb options aren't supported when using clang, bug 666966
+			myeconfargs+=( --with-thumb=yes )
+			myeconfargs+=( --with-thumb-interwork=no )
+		fi
+	fi
+
+	# Tell build system that we want to use LTO
+	if use lto ; then
+		if use clang ; then
+			if tc-ld-is-mold ; then
+				myeconfargs+=( --enable-linker=mold )
+			else
+				myeconfargs+=( --enable-linker=lld )
+			fi
+			myeconfargs+=( --enable-lto=cross )
+
+		else
+			myeconfargs+=( --enable-linker=bfd )
+			myeconfargs+=( --enable-lto=full )
+		fi
+	fi
+
+	# LTO flag was handled via configure
+	filter-lto
+
+	# Use system's Python environment
+	export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+	export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+	# Show flags we will use
+	einfo "Build CFLAGS:    ${CFLAGS}"
+	einfo "Build CXXFLAGS:  ${CXXFLAGS}"
+	einfo "Build LDFLAGS:   ${LDFLAGS}"
+	einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+	# Forcing system-icu allows us to skip patching bundled ICU for PPC
+	# and other minor arches
+	ECONF_SOURCE="${S}" \
+		econf \
+		${myeconfargs[@]} \
+		XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+	cd "${MOZJS_BUILDDIR}" || die
+	default
+}
+
+src_test() {
+	if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+		einfo "Smoke-test successful, continuing with full test suite"
+	else
+		die "Smoke-test failed: did interpreter initialization fail?"
+	fi
+
+	cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
+
+	if use sparc ; then
+		echo "non262/Array/regress-157652.js" >> "${T}"/known_failures.list
+		echo "non262/regress/regress-422348.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
+	fi
+
+	if use x86 ; then
+		echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
+	fi
+
+	${EPYTHON} \
+		"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+		--exclude-file="${T}"/known_failures.list \
+		"${MOZJS_BUILDDIR}"/js/src/js \
+		|| die
+
+	if use jit ; then
+		${EPYTHON} \
+			"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+			--exclude-file="${T}"/known_failures.list \
+			"${MOZJS_BUILDDIR}"/js/src/js basic \
+			|| die
+	fi
+}
+
+src_install() {
+	cd "${MOZJS_BUILDDIR}" || die
+	default
+
+	# fix soname links
+	pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+	mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+	ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+	ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+	popd &>/dev/null || die
+
+	# remove unneeded files
+	rm \
+		"${ED}"/usr/bin/js${MY_MAJOR}-config \
+		"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+		|| die
+
+	# fix permissions
+	chmod -x \
+		"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+		"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+		|| die
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2024-01-31 14:24 Matt Turner
  0 siblings, 0 replies; 21+ messages in thread
From: Matt Turner @ 2024-01-31 14:24 UTC (permalink / raw
  To: gentoo-commits

commit:     90d882a58e4acb2b0ce2da1512d25d9cd9314846
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 31 14:17:28 2024 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed Jan 31 14:24:36 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90d882a5

dev-lang/spidermonkey: Drop SLOT=91

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 dev-lang/spidermonkey/Manifest                     |   3 -
 .../files/spidermonkey-91-known-test-failures.txt  | 152 -------
 .../spidermonkey/spidermonkey-91.13.0-r1.ebuild    | 455 ---------------------
 3 files changed, 610 deletions(-)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 230420112300..c4dc49bea2e3 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -4,8 +4,5 @@ DIST firefox-115.3.1esr.source.tar.xz 515785920 BLAKE2B ad5ec24361e94d9185eed210
 DIST firefox-115.7.0esr.source.tar.xz 515513828 BLAKE2B 9cacd9cd7e9b9040f37843645bc6823d72b3b736a3c4dcef7706304ebeda718e36e98962d9d9c000b7507fdfda40bd19ca4c8267573dc623a9507a7f77b17b52 SHA512 d468d8ef117d76e0660c5359c3becf0502354c61bdaaeb4137d86f52b50143abec2ac4578af69afa5670700b57efff1c7323ca23e3339a9eaaa888dee7e8e922
 DIST firefox-115esr-patches-06.tar.xz 14944 BLAKE2B e60a8a32f8c5e6d897e8c3e13d291ffab651937505ce258f031e7e75560c9eb89fce4a22c61872d639e6e1d40244e94761baa1660c2d3d02584ad4cc4778946f SHA512 d9ea1a063df287fa651042c90529b1a1b5ebd5a28735c44b5527cc7dd29678c2f8a9204f007db328371ed6af9613ca7215464c00df5e685c3af4296a22139257
 DIST firefox-115esr-patches-08.tar.xz 15912 BLAKE2B 3f94deb17920672ad2184e813bd38e390ecaa50bfc6e00973db717bc56a5adb4f096224cc366da525db25aaa3d198d57716bcb765ddc906783532864e23dd8d4 SHA512 4474fbed14b2c4fac03d82f4b37849a69dbdd61fc15f01cefa373eb8a64a692f5a584247acdf7c349ab6965225c3cd47be3fc4523f93db5299680e2a22e94d94
-DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516
-DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
 DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185
 DIST spidermonkey-115-patches-01.tar.xz 3992 BLAKE2B e97d0cb3edfb885119226f54f22485ed4e8220cd904d3356b87ccc013403f976a042171cf9ca7250bcf3fe3d90996dd80b4104e7d614f95d7bcfcb0e710a8a78 SHA512 cece96f172a09dd0e29f7c2fdbf650cde405b276bc4083956365289f1da4b1d078ccbde760da6553888ddb3c53cf9aded52051db556a2c4ec492fed01dcb03a1
-DIST spidermonkey-91-patches-05j.tar.xz 5964 BLAKE2B 13f09f77bf16bc61b03c9488b7ab521552e179bfb123e390d0883ea4a3f55e87e0a5d5a246f31a9ddc35f212ea84655fe9d4fc364bbdddc1aac421eb28dbe41f SHA512 4d9cf21b712234ff6a18554a010badd756028e6147597040c423f7e27d260e3984938f956d9bc3572557163a144345ed28d9f88e459fc959aaa6fd448f6deab7

diff --git a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
deleted file mode 100644
index 448ee25e96bb..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
+++ /dev/null
@@ -1,152 +0,0 @@
-non262/Date/15.9.5.7.js
-non262/Date/reset-time-zone-cache-same-offset.js
-non262/Date/time-zone-path.js
-non262/Date/time-zones-historic.js
-non262/Date/time-zones-imported.js
-non262/Date/toString-localized-posix.js
-non262/Date/toString-localized.js
-non262/Intl/Array/toLocaleString-date.js
-non262/Intl/Date/toLocaleDateString_timeZone.js
-non262/Intl/Date/toLocaleString_timeZone.js
-non262/Intl/Date/toLocaleTimeString_timeZone.js
-non262/Intl/DateTimeFormat/day-period-hour-cycle.js
-non262/Intl/DateTimeFormat/extended-time-zone-names.js
-non262/Intl/DateTimeFormat/field-widths.js
-non262/Intl/DateTimeFormat/format.js
-non262/Intl/DateTimeFormat/formatRange-hour-cycle.js
-non262/Intl/DateTimeFormat/formatToParts.js
-non262/Intl/DateTimeFormat/format_timeZone.js
-non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
-non262/Intl/DateTimeFormat/hourCycle.js
-non262/Intl/DateTimeFormat/implied-script-has-consistent-output.js
-non262/Intl/DateTimeFormat/japanese-gannen-year.js
-non262/Intl/DateTimeFormat/related-year.js
-non262/Intl/DateTimeFormat/timeZone_backward_links.js
-non262/Intl/DateTimeFormat/timeZone_version.js
-non262/Intl/DateTimeFormat/tz-environment-variable.js
-non262/Intl/DisplayNames/calendar.js
-non262/Intl/DisplayNames/dateTimeField.js
-non262/Intl/DisplayNames/language.js
-non262/Intl/DisplayNames/region.js
-non262/Intl/ListFormat/conjunction-type.js
-non262/Intl/Locale/likely-subtags-generated.js
-non262/Intl/Locale/likely-subtags.js
-non262/Intl/NumberFormat/currency-narrow-symbol.js
-non262/Intl/NumberFormat/format.js
-non262/Intl/NumberFormat/notation-compact-long.js
-non262/Intl/available-locales-resolved.js
-non262/Intl/available-locales-supported.js
-test262/built-ins/Date/UTC/fp-evaluation-order.js
-test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js
-test262/built-ins/RegExp/property-escapes/generated/Assigned.js
-test262/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js
-test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js
-test262/built-ins/RegExp/property-escapes/generated/Cased.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js
-test262/built-ins/RegExp/property-escapes/generated/Dash.js
-test262/built-ins/RegExp/property-escapes/generated/Default_Ignorable_Code_Point.js
-test262/built-ins/RegExp/property-escapes/generated/Diacritic.js
-test262/built-ins/RegExp/property-escapes/generated/Emoji.js
-test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js
-test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js
-test262/built-ins/RegExp/property-escapes/generated/Extender.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Close_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Currency_Symbol.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Symbol.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js
-test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js
-test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js
-test262/built-ins/RegExp/property-escapes/generated/ID_Start.js
-test262/built-ins/RegExp/property-escapes/generated/Ideographic.js
-test262/built-ins/RegExp/property-escapes/generated/Lowercase.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Takri.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Telugu.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ahom.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagalog.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Takri.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Telugu.js
-test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js
-test262/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js
-test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js
-test262/built-ins/RegExp/property-escapes/generated/Uppercase.js
-test262/built-ins/RegExp/property-escapes/generated/Variation_Selector.js
-test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
-test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
-test262/intl402/DateTimeFormat/prototype/format/timedatestyle-en.js
-test262/intl402/DateTimeFormat/prototype/formatRange/en-US.js
-test262/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js
-test262/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US.js
-test262/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits.js
-test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js

diff --git a/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild
deleted file mode 100644
index 6fe09813c00e..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild
+++ /dev/null
@@ -1,455 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-# Patch version
-FIREFOX_PATCHSET="firefox-91esr-patches-10j.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-91-patches-05j.tar.xz"
-
-LLVM_MAX_SLOT=15
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="ssl,xml(+)"
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
-
-MY_MAJOR=$(ver_cut 1)
-
-MOZ_ESR=yes
-
-MOZ_PV=${PV}
-MOZ_PV_SUFFIX=
-if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
-	MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
-
-	# Convert the ebuild version to the upstream Mozilla version
-	MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
-	MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
-	MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
-fi
-
-if [[ -n ${MOZ_ESR} ]] ; then
-	# ESR releases have slightly different version numbers
-	MOZ_PV="${MOZ_PV}esr"
-fi
-
-MOZ_PN="firefox"
-MOZ_P="${MOZ_PN}-${MOZ_PV}"
-MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
-MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
-
-MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
-
-if [[ ${PV} == *_rc* ]] ; then
-	MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
-fi
-
-PATCH_URIS=(
-	https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
-	https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
-	${PATCH_URIS[@]}"
-
-DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
-
-KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv sparc x86"
-
-SLOT="91"
-LICENSE="MPL-2.0"
-IUSE="clang cpu_flags_arm_neon debug +jit lto test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
-	|| (
-		(
-			sys-devel/llvm:15
-			clang? (
-				sys-devel/clang:15
-				virtual/rust:0/llvm-15
-				lto? ( sys-devel/lld:15 )
-			)
-		)
-		(
-			sys-devel/llvm:14
-			clang? (
-				sys-devel/clang:14
-				virtual/rust:0/llvm-14
-				lto? ( sys-devel/lld:14 )
-			)
-		)
-	)
-	!clang? ( virtual/rust )
-	virtual/pkgconfig
-	test? (
-		$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
-	)"
-DEPEND=">=dev-libs/icu-69.1:=
-	dev-libs/nspr
-	sys-libs/readline:0=
-	sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/firefox-${MY_PV}/js/src"
-
-llvm_check_deps() {
-	if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
-		einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
-		return 1
-	fi
-
-	if use clang ; then
-		if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
-			einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
-			return 1
-		fi
-
-		if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
-			einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
-			return 1
-		fi
-
-		if use lto ; then
-			if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
-				einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
-				return 1
-			fi
-		fi
-	fi
-
-	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
-}
-
-python_check_deps() {
-	if use test ; then
-		python_has_version "dev-python/six[${PYTHON_USEDEP}]"
-	fi
-}
-
-pkg_pretend() {
-	if use test ; then
-		CHECKREQS_DISK_BUILD="7600M"
-	else
-		CHECKREQS_DISK_BUILD="6400M"
-	fi
-
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	if [[ ${MERGE_TYPE} != binary ]] ; then
-		if use test ; then
-			CHECKREQS_DISK_BUILD="7600M"
-		else
-			CHECKREQS_DISK_BUILD="6400M"
-		fi
-
-		check-reqs_pkg_setup
-
-		llvm_pkg_setup
-
-		if use clang && use lto ; then
-			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
-			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
-			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
-			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
-			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
-			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
-
-			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
-				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
-				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
-				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
-				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
-				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
-				eerror "  - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
-				eerror "    llvm/clang/lld/rust chain depending on your @world updates)"
-				die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
-			fi
-		fi
-
-		python-any-r1_pkg_setup
-
-		# Build system is using /proc/self/oom_score_adj, bug #604394
-		addpredict /proc/self/oom_score_adj
-
-		if ! mountpoint -q /dev/shm ; then
-			# If /dev/shm is not available, configure is known to fail with
-			# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
-			ewarn "/dev/shm is not mounted -- expect build failures!"
-		fi
-
-		# Ensure we use C locale when building, bug #746215
-		export LC_ALL=C
-	fi
-}
-
-src_prepare() {
-	pushd ../.. &>/dev/null || die
-
-	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
-
-	eapply "${WORKDIR}"/firefox-patches
-	eapply "${WORKDIR}"/spidermonkey-patches
-
-	default
-
-	# Make cargo respect MAKEOPTS
-	export CARGO_BUILD_JOBS="$(makeopts_jobs)"
-
-	# sed-in toolchain prefix
-	sed -i \
-		-e "s/objdump/${CHOST}-objdump/" \
-		python/mozbuild/mozbuild/configure/check_debug_ranges.py \
-		|| die "sed failed to set toolchain prefix"
-
-	# use prefix shell in wrapper linker scripts, bug #789660
-	hprefixify "${S}"/../../build/cargo-{,host-}linker
-
-	einfo "Removing pre-built binaries ..."
-	find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
-	MOZJS_BUILDDIR="${WORKDIR}/build"
-	mkdir "${MOZJS_BUILDDIR}" || die
-
-	popd &>/dev/null || die
-	eautoconf
-}
-
-src_configure() {
-	# Show flags set at the beginning
-	einfo "Current CFLAGS:    ${CFLAGS}"
-	einfo "Current CXXFLAGS:  ${CXXFLAGS}"
-	einfo "Current LDFLAGS:   ${LDFLAGS}"
-	einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
-
-	local have_switched_compiler=
-	if use clang; then
-		# Force clang
-		einfo "Enforcing the use of clang due to USE=clang ..."
-		if tc-is-gcc; then
-			have_switched_compiler=yes
-		fi
-		AR=llvm-ar
-		CC=${CHOST}-clang
-		CXX=${CHOST}-clang++
-		NM=llvm-nm
-		RANLIB=llvm-ranlib
-	elif ! use clang && ! tc-is-gcc ; then
-		# Force gcc
-		have_switched_compiler=yes
-		einfo "Enforcing the use of gcc due to USE=-clang ..."
-		AR=gcc-ar
-		CC=${CHOST}-gcc
-		CXX=${CHOST}-g++
-		NM=gcc-nm
-		RANLIB=gcc-ranlib
-	fi
-
-	if [[ -n "${have_switched_compiler}" ]] ; then
-		# Because we switched active compiler we have to ensure
-		# that no unsupported flags are set
-		strip-unsupported-flags
-	fi
-
-	# Ensure we use correct toolchain
-	export HOST_CC="$(tc-getBUILD_CC)"
-	export HOST_CXX="$(tc-getBUILD_CXX)"
-	tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
-	cd "${MOZJS_BUILDDIR}" || die
-
-	# ../python/mach/mach/mixin/process.py fails to detect SHELL
-	export SHELL="${EPREFIX}/bin/bash"
-
-	local -a myeconfargs=(
-		--host="${CBUILD:-${CHOST}}"
-		--target="${CHOST}"
-		--disable-ctype
-		--disable-jemalloc
-		--disable-optimize
-		--disable-smoosh
-		--disable-strip
-		--enable-readline
-		--enable-release
-		--enable-shared-js
-		--with-intl-api
-		--with-system-icu
-		--with-system-nspr
-		--with-system-zlib
-		--with-toolchain-prefix="${CHOST}-"
-		$(use_enable debug)
-		$(use_enable jit)
-		$(use_enable test tests)
-	)
-
-	# Temporary fix with rust-1.63, bgo#870193
-	# if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
-	#	myeconfargs+=( --enable-rust-simd )
-	# fi
-	myeconfargs+=( --disable-rust-simd )
-
-	# Modifications to better support ARM, bug 717344
-	if use cpu_flags_arm_neon ; then
-		myeconfargs+=( --with-fpu=neon )
-
-		if ! tc-is-clang ; then
-			# thumb options aren't supported when using clang, bug 666966
-			myeconfargs+=( --with-thumb=yes )
-			myeconfargs+=( --with-thumb-interwork=no )
-		fi
-	fi
-
-	# Tell build system that we want to use LTO
-	if use lto ; then
-		if use clang ; then
-			myeconfargs+=( --enable-linker=lld )
-			myeconfargs+=( --enable-lto=cross )
-		else
-			myeconfargs+=( --enable-linker=bfd )
-			myeconfargs+=( --enable-lto )
-		fi
-	fi
-
-	# LTO flag was handled via configure
-	filter-lto
-
-	if tc-is-gcc ; then
-		if ver_test $(gcc-fullversion) -ge 10 ; then
-			einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
-			append-cxxflags -fno-tree-loop-vectorize
-		fi
-	fi
-
-	export MACH_USE_SYSTEM_PYTHON=1
-	export PIP_NO_CACHE_DIR=off
-
-	# Show flags we will use
-	einfo "Build CFLAGS:    ${CFLAGS}"
-	einfo "Build CXXFLAGS:  ${CXXFLAGS}"
-	einfo "Build LDFLAGS:   ${LDFLAGS}"
-	einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
-	# Forcing system-icu allows us to skip patching bundled ICU for PPC
-	# and other minor arches
-	ECONF_SOURCE="${S}" \
-		econf \
-		${myeconfargs[@]} \
-		XARGS="${EPREFIX}/usr/bin/xargs"
-}
-
-src_compile() {
-	cd "${MOZJS_BUILDDIR}" || die
-	default
-}
-
-src_test() {
-	if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
-		einfo "Smoke-test successful, continuing with full test suite"
-	else
-		die "Smoke-test failed: did interpreter initialization fail?"
-	fi
-
-	cp "${FILESDIR}"/spidermonkey-91-known-test-failures.txt "${T}"/known_failures.list || die
-
-	# bgo #827960
-	if use ppc; then
-		echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/load/bigint/good-views.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/load/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/add/bigint/good-views.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/add/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/exchange/bigint/good-views.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/store/bigint/good-views.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/store/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/xor/bigint/good-views.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/sub/bigint/good-views.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/and/bigint/good-views.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/or/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/negative-timeout-agent.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/value-not-equal.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/nan-for-timeout.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/compareExchange/bigint/good-views.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/and/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/or/bigint/good-views.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Atomics/notify/bigint/notify-all-on-loc.js" >> "${T}"/known_failures.list
-	fi
-
-	if use x86 ; then
-		echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Number/prototype/toPrecision/return-values.js" >> "${T}"/known_failures.list
-		echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
-		echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
-	fi
-
-	if [[ $(tc-endian) == "big" ]] ; then
-		echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
-		echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
-	fi
-
-	${EPYTHON} \
-		"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
-		--exclude-file="${T}"/known_failures.list \
-		"${MOZJS_BUILDDIR}"/js/src/js \
-		|| die
-
-	if use jit ; then
-		${EPYTHON} \
-			"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
-			--exclude-file="${T}"/known_failures.list \
-			"${MOZJS_BUILDDIR}"/js/src/js basic \
-			|| die
-	fi
-}
-
-src_install() {
-	cd "${MOZJS_BUILDDIR}" || die
-	default
-
-	# fix soname links
-	pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
-	mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
-	ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
-	ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
-	popd &>/dev/null || die
-
-	# remove unneeded files
-	rm \
-		"${ED}"/usr/bin/js${MY_MAJOR}-config \
-		"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
-		|| die
-
-	# fix permissions
-	chmod -x \
-		"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
-		"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
-		|| die
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2024-01-24  6:23 Joonas Niilola
  0 siblings, 0 replies; 21+ messages in thread
From: Joonas Niilola @ 2024-01-24  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     7760cd017655ac22f64d32f69981256ca3d46893
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 24 06:22:55 2024 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Jan 24 06:23:25 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7760cd01

dev-lang/spidermonkey: add 115.7.0

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-lang/spidermonkey/Manifest                     |   2 +
 .../files/spidermonkey-115-known-test-failures.txt |  33 ++
 dev-lang/spidermonkey/spidermonkey-115.7.0.ebuild  | 474 +++++++++++++++++++++
 3 files changed, 509 insertions(+)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 4e01be2d8da3..230420112300 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,7 +1,9 @@
 DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374bebb4745b87f6194191c1c9415547d772811a4a85f79a97e8985877eb5c9beef43fe15bef574172da35935e7024a947919ec11d883 SHA512 87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9
 DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520
 DIST firefox-115.3.1esr.source.tar.xz 515785920 BLAKE2B ad5ec24361e94d9185eed210f681c50159f5be3e6046d79200b5e2586107f1ed98ebe7935f1e266afadd570fc1aa6a1aec81fe3b7fb86efb48afe82514f26c68 SHA512 65cb6fc46bba03eed742bd67f8e36b63b19f2ad7b85d2f503595704a4e88f554758a1e66ba548c8efe97a76322fb2514db72e6ff4bb2992d1aaa86edc3af85f1
+DIST firefox-115.7.0esr.source.tar.xz 515513828 BLAKE2B 9cacd9cd7e9b9040f37843645bc6823d72b3b736a3c4dcef7706304ebeda718e36e98962d9d9c000b7507fdfda40bd19ca4c8267573dc623a9507a7f77b17b52 SHA512 d468d8ef117d76e0660c5359c3becf0502354c61bdaaeb4137d86f52b50143abec2ac4578af69afa5670700b57efff1c7323ca23e3339a9eaaa888dee7e8e922
 DIST firefox-115esr-patches-06.tar.xz 14944 BLAKE2B e60a8a32f8c5e6d897e8c3e13d291ffab651937505ce258f031e7e75560c9eb89fce4a22c61872d639e6e1d40244e94761baa1660c2d3d02584ad4cc4778946f SHA512 d9ea1a063df287fa651042c90529b1a1b5ebd5a28735c44b5527cc7dd29678c2f8a9204f007db328371ed6af9613ca7215464c00df5e685c3af4296a22139257
+DIST firefox-115esr-patches-08.tar.xz 15912 BLAKE2B 3f94deb17920672ad2184e813bd38e390ecaa50bfc6e00973db717bc56a5adb4f096224cc366da525db25aaa3d198d57716bcb765ddc906783532864e23dd8d4 SHA512 4474fbed14b2c4fac03d82f4b37849a69dbdd61fc15f01cefa373eb8a64a692f5a584247acdf7c349ab6965225c3cd47be3fc4523f93db5299680e2a22e94d94
 DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516
 DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
 DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185

diff --git a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
index 14c4db040eda..e71ebabdc356 100644
--- a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
+++ b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
@@ -4,6 +4,39 @@ non262/Intl/Collator/implicithan.js
 non262/Intl/DateTimeFormat/day-period-hour-cycle.js
 non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
 non262/Intl/DateTimeFormat/timeZone_backzone.js
+non262/Intl/DisplayNames/calendar.js
+non262/Intl/DisplayNames/currency.js
+non262/Intl/DisplayNames/language-dialect.js
+non262/Intl/ListFormat/conjunction-type.js
+non262/Intl/Locale/likely-subtags-generated.js
+non262/Intl/Locale/likely-subtags.js
 non262/Intl/available-locales-resolved.js
 non262/Intl/available-locales-supported.js
 non262/Intl/supportedValuesOf-timeZones-canonical.js
+non262/Intl/supportedValuesOf-timeZones.js
+test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js
+test262/built-ins/RegExp/property-escapes/generated/Assigned.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js
+test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js
+test262/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js
+test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js
+test262/built-ins/RegExp/property-escapes/generated/ID_Start.js
+test262/built-ins/RegExp/property-escapes/generated/Ideographic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js
+test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js
+test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js
+test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
+test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
+test262/intl402/Intl/supportedValuesOf/timeZones-accepted-by-DateTimeFormat.js
+test262/intl402/Locale/likely-subtags.js

diff --git a/dev-lang/spidermonkey/spidermonkey-115.7.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.7.0.ebuild
new file mode 100644
index 000000000000..7917e7324620
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-115.7.0.ebuild
@@ -0,0 +1,474 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-115esr-patches-08.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=17
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="ncurses,ssl,xml(+)"
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+	MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+	# Convert the ebuild version to the upstream Mozilla version
+	MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+	MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+	MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+	# ESR releases have slightly different version numbers
+	MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+	MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+	https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+	https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+	${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+SLOT="$(ver_cut 1)"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+	|| (
+		(
+			sys-devel/llvm:17
+			clang? (
+				sys-devel/lld:17
+				sys-devel/clang:17
+				virtual/rust:0/llvm-17
+			)
+		)
+		(
+			sys-devel/llvm:16
+			clang? (
+				sys-devel/lld:16
+				sys-devel/clang:16
+				virtual/rust:0/llvm-16
+			)
+		)
+		(
+			sys-devel/llvm:15
+			clang? (
+				sys-devel/lld:15
+				sys-devel/clang:15
+				virtual/rust:0/llvm-15
+			)
+		)
+	)
+	!clang? ( virtual/rust )
+	virtual/pkgconfig
+	test? (
+		$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+	)"
+DEPEND=">=dev-libs/icu-73.1:=
+	dev-libs/nspr
+	sys-libs/readline:0=
+	sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+	if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+		einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+		return 1
+	fi
+
+	if use clang ; then
+		if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+			einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+			einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if ! tc-ld-is-mold ; then
+			if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+				einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+				return 1
+			fi
+		fi
+	fi
+
+	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+	if use test ; then
+		python_has_version "dev-python/six[${PYTHON_USEDEP}]"
+	fi
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+	local out
+
+	# Ensure ld output is in English.
+	local -x LC_ALL=C
+
+	# First check the linker directly.
+	out=$($(tc-getLD "$@") --version 2>&1)
+	if [[ ${out} == *"mold"* ]] ; then
+		return 0
+	fi
+
+	# Then see if they're selecting mold via compiler flags.
+	# Note: We're assuming they're using LDFLAGS to hold the
+	# options and not CFLAGS/CXXFLAGS.
+	local base="${T}/test-tc-linker"
+	cat <<-EOF > "${base}.c"
+	int main() { return 0; }
+	EOF
+	out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+	rm -f "${base}"*
+	if [[ ${out} == *"mold"* ]] ; then
+		return 0
+	fi
+
+	# No mold here!
+	return 1
+}
+
+pkg_pretend() {
+	if use test ; then
+		CHECKREQS_DISK_BUILD="4000M"
+	else
+		CHECKREQS_DISK_BUILD="3600M"
+	fi
+
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use test ; then
+			CHECKREQS_DISK_BUILD="4000M"
+		else
+			CHECKREQS_DISK_BUILD="3600M"
+		fi
+
+		check-reqs_pkg_setup
+
+		llvm_pkg_setup
+
+		if use clang && use lto && tc-ld-is-lld ; then
+			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
+				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
+				eerror "  - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+				eerror "    llvm/clang/lld/rust chain depending on your @world updates)"
+				die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+			fi
+		fi
+
+		python-any-r1_pkg_setup
+
+		# Build system is using /proc/self/oom_score_adj, bug #604394
+		addpredict /proc/self/oom_score_adj
+
+		if ! mountpoint -q /dev/shm ; then
+			# If /dev/shm is not available, configure is known to fail with
+			# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+			ewarn "/dev/shm is not mounted -- expect build failures!"
+		fi
+
+		# Ensure we use C locale when building, bug #746215
+		export LC_ALL=C
+	fi
+}
+
+src_prepare() {
+	pushd ../.. &>/dev/null || die
+
+	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+	if ! use ppc64; then
+		rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+	fi
+
+	eapply "${WORKDIR}"/firefox-patches
+	eapply "${WORKDIR}"/spidermonkey-patches
+
+	default
+
+	# Make cargo respect MAKEOPTS
+	export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+	# sed-in toolchain prefix
+	sed -i \
+		-e "s/objdump/${CHOST}-objdump/" \
+		python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+		|| die "sed failed to set toolchain prefix"
+
+	# use prefix shell in wrapper linker scripts, bug #789660
+	hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+	einfo "Removing pre-built binaries ..."
+	find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+	MOZJS_BUILDDIR="${WORKDIR}/build"
+	mkdir "${MOZJS_BUILDDIR}" || die
+
+	popd &>/dev/null || die
+}
+
+src_configure() {
+	# Show flags set at the beginning
+	einfo "Current CFLAGS:    ${CFLAGS}"
+	einfo "Current CXXFLAGS:  ${CXXFLAGS}"
+	einfo "Current LDFLAGS:   ${LDFLAGS}"
+	einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+	local have_switched_compiler=
+	if use clang; then
+		# Force clang
+		einfo "Enforcing the use of clang due to USE=clang ..."
+
+		local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+		[[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+		[[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+		if tc-is-gcc; then
+			have_switched_compiler=yes
+		fi
+		AR=llvm-ar
+		CC=${CHOST}-clang-${version_clang}
+		CXX=${CHOST}-clang++-${version_clang}
+		NM=llvm-nm
+		RANLIB=llvm-ranlib
+
+	elif ! use clang && ! tc-is-gcc ; then
+		# Force gcc
+		have_switched_compiler=yes
+		einfo "Enforcing the use of gcc due to USE=-clang ..."
+		AR=gcc-ar
+		CC=${CHOST}-gcc
+		CXX=${CHOST}-g++
+		NM=gcc-nm
+		RANLIB=gcc-ranlib
+	fi
+
+	if [[ -n "${have_switched_compiler}" ]] ; then
+		# Because we switched active compiler we have to ensure
+		# that no unsupported flags are set
+		strip-unsupported-flags
+	fi
+
+	# Ensure we use correct toolchain,
+	# AS is used in a non-standard way by upstream, #bmo1654031
+	export HOST_CC="$(tc-getBUILD_CC)"
+	export HOST_CXX="$(tc-getBUILD_CXX)"
+	export AS="$(tc-getCC) -c"
+	tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+	cd "${MOZJS_BUILDDIR}" || die
+
+	# ../python/mach/mach/mixin/process.py fails to detect SHELL
+	export SHELL="${EPREFIX}/bin/bash"
+
+	local -a myeconfargs=(
+		--host="${CBUILD:-${CHOST}}"
+		--target="${CHOST}"
+
+		--disable-ctype
+		--disable-jemalloc
+		--disable-smoosh
+		--disable-strip
+
+		--enable-project=js
+		--enable-readline
+		--enable-release
+		--enable-shared-js
+
+		--with-intl-api
+		--with-system-icu
+		--with-system-nspr
+		--with-system-zlib
+		--with-toolchain-prefix="${CHOST}-"
+
+		$(use_enable debug)
+		$(use_enable jit)
+		$(use_enable test tests)
+	)
+
+	if use debug; then
+		myeconfargs+=( --disable-optimize )
+		myeconfargs+=( --enable-debug-symbols )
+		myeconfargs+=( --enable-real-time-tracing )
+	else
+		myeconfargs+=( --enable-optimize )
+		myeconfargs+=( --disable-debug-symbols )
+		myeconfargs+=( --disable-real-time-tracing )
+	fi
+
+	if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+		myeconfargs+=( --enable-rust-simd )
+	fi
+
+	# Modifications to better support ARM, bug 717344
+	if use cpu_flags_arm_neon ; then
+		myeconfargs+=( --with-fpu=neon )
+
+		if ! tc-is-clang ; then
+			# thumb options aren't supported when using clang, bug 666966
+			myeconfargs+=( --with-thumb=yes )
+			myeconfargs+=( --with-thumb-interwork=no )
+		fi
+	fi
+
+	# Tell build system that we want to use LTO
+	if use lto ; then
+		if use clang ; then
+			if tc-ld-is-mold ; then
+				myeconfargs+=( --enable-linker=mold )
+			else
+				myeconfargs+=( --enable-linker=lld )
+			fi
+			myeconfargs+=( --enable-lto=cross )
+
+		else
+			myeconfargs+=( --enable-linker=bfd )
+			myeconfargs+=( --enable-lto=full )
+		fi
+	fi
+
+	# LTO flag was handled via configure
+	filter-lto
+
+	# Use system's Python environment
+	export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+	export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+	# Show flags we will use
+	einfo "Build CFLAGS:    ${CFLAGS}"
+	einfo "Build CXXFLAGS:  ${CXXFLAGS}"
+	einfo "Build LDFLAGS:   ${LDFLAGS}"
+	einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+	# Forcing system-icu allows us to skip patching bundled ICU for PPC
+	# and other minor arches
+	ECONF_SOURCE="${S}" \
+		econf \
+		${myeconfargs[@]} \
+		XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+	cd "${MOZJS_BUILDDIR}" || die
+	default
+}
+
+src_test() {
+	if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+		einfo "Smoke-test successful, continuing with full test suite"
+	else
+		die "Smoke-test failed: did interpreter initialization fail?"
+	fi
+
+	cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
+
+	if use x86 ; then
+		echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
+	fi
+
+	${EPYTHON} \
+		"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+		--exclude-file="${T}"/known_failures.list \
+		"${MOZJS_BUILDDIR}"/js/src/js \
+		|| die
+
+	if use jit ; then
+		${EPYTHON} \
+			"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+			--exclude-file="${T}"/known_failures.list \
+			"${MOZJS_BUILDDIR}"/js/src/js basic \
+			|| die
+	fi
+}
+
+src_install() {
+	cd "${MOZJS_BUILDDIR}" || die
+	default
+
+	# fix soname links
+	pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+	mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+	ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+	ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+	popd &>/dev/null || die
+
+	# remove unneeded files
+	rm \
+		"${ED}"/usr/bin/js${MY_MAJOR}-config \
+		"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+		|| die
+
+	# fix permissions
+	chmod -x \
+		"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+		"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+		|| die
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-11-24 13:38 Joonas Niilola
  0 siblings, 0 replies; 21+ messages in thread
From: Joonas Niilola @ 2022-11-24 13:38 UTC (permalink / raw
  To: gentoo-commits

commit:     b945dd9ea21cc0fb64c36f6f6c7ebfe5d12bd4db
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 24 13:35:55 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Nov 24 13:37:04 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b945dd9e

dev-lang/spidermonkey: enable llvm-15,python-3.11 compatibility for 91

Closes: https://bugs.gentoo.org/882731
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-lang/spidermonkey/Manifest                     |   1 +
 .../files/spidermonkey-91-known-test-failures.txt  |  28 ++
 .../spidermonkey/spidermonkey-91.13.0-r1.ebuild    | 457 +++++++++++++++++++++
 3 files changed, 486 insertions(+)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index fd5d7d56691a..ee6062b4db0f 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -9,3 +9,4 @@ DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f
 DIST spidermonkey-102-patches-04j.tar.xz 3996 BLAKE2B 468697521adacc5d647b04f2228fc4c1a8131bc2523142f2d57f32e321303581ae8f793baae48966ecb27f48bf77eb084f7b2df1c1a0c667e9ed59ae93d786e6 SHA512 201bb779e2373cc00dfadc29a62b593030dfc12eec076114b92927f29f476d3fafdd056112dd1bb1f19f82827f4fe1252141e3998bec719e4196737a316d4ef2
 DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
 DIST spidermonkey-91-patches-04j.tar.xz 4624 BLAKE2B d9cf47b39a165e8434d4f2f20ae3a9734c1bb81c32ddb75360e5edfa6817d6343be89aff0f8ec381485772cad80b00a069789decbc462129161afc3d4acfcb53 SHA512 bd574fee600cb4c6a262893b7d992d85c4059d512b829cd2f226aff86d8a6a83c2bdab466704e22f64bf6d29f90901037a34f9e90a42251952ba1cdbc0cab968
+DIST spidermonkey-91-patches-05j.tar.xz 5964 BLAKE2B 13f09f77bf16bc61b03c9488b7ab521552e179bfb123e390d0883ea4a3f55e87e0a5d5a246f31a9ddc35f212ea84655fe9d4fc364bbdddc1aac421eb28dbe41f SHA512 4d9cf21b712234ff6a18554a010badd756028e6147597040c423f7e27d260e3984938f956d9bc3572557163a144345ed28d9f88e459fc959aaa6fd448f6deab7

diff --git a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
index 02bf6c93fc9a..448ee25e96bb 100644
--- a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
+++ b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
@@ -1,27 +1,39 @@
+non262/Date/15.9.5.7.js
 non262/Date/reset-time-zone-cache-same-offset.js
 non262/Date/time-zone-path.js
 non262/Date/time-zones-historic.js
 non262/Date/time-zones-imported.js
 non262/Date/toString-localized-posix.js
 non262/Date/toString-localized.js
+non262/Intl/Array/toLocaleString-date.js
 non262/Intl/Date/toLocaleDateString_timeZone.js
 non262/Intl/Date/toLocaleString_timeZone.js
 non262/Intl/Date/toLocaleTimeString_timeZone.js
 non262/Intl/DateTimeFormat/day-period-hour-cycle.js
 non262/Intl/DateTimeFormat/extended-time-zone-names.js
+non262/Intl/DateTimeFormat/field-widths.js
 non262/Intl/DateTimeFormat/format.js
+non262/Intl/DateTimeFormat/formatRange-hour-cycle.js
+non262/Intl/DateTimeFormat/formatToParts.js
 non262/Intl/DateTimeFormat/format_timeZone.js
 non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
+non262/Intl/DateTimeFormat/hourCycle.js
 non262/Intl/DateTimeFormat/implied-script-has-consistent-output.js
 non262/Intl/DateTimeFormat/japanese-gannen-year.js
 non262/Intl/DateTimeFormat/related-year.js
 non262/Intl/DateTimeFormat/timeZone_backward_links.js
 non262/Intl/DateTimeFormat/timeZone_version.js
 non262/Intl/DateTimeFormat/tz-environment-variable.js
+non262/Intl/DisplayNames/calendar.js
+non262/Intl/DisplayNames/dateTimeField.js
 non262/Intl/DisplayNames/language.js
 non262/Intl/DisplayNames/region.js
+non262/Intl/ListFormat/conjunction-type.js
 non262/Intl/Locale/likely-subtags-generated.js
 non262/Intl/Locale/likely-subtags.js
+non262/Intl/NumberFormat/currency-narrow-symbol.js
+non262/Intl/NumberFormat/format.js
+non262/Intl/NumberFormat/notation-compact-long.js
 non262/Intl/available-locales-resolved.js
 non262/Intl/available-locales-supported.js
 test262/built-ins/Date/UTC/fp-evaluation-order.js
@@ -59,6 +71,7 @@ test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js
 test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js
 test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
 test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js
 test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js
 test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
 test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js
@@ -78,6 +91,9 @@ test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
@@ -86,6 +102,8 @@ test262/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js
 test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js
@@ -98,6 +116,9 @@ test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
@@ -106,6 +127,8 @@ test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherite
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js
 test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js
@@ -121,4 +144,9 @@ test262/built-ins/RegExp/property-escapes/generated/Uppercase.js
 test262/built-ins/RegExp/property-escapes/generated/Variation_Selector.js
 test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
 test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
+test262/intl402/DateTimeFormat/prototype/format/timedatestyle-en.js
+test262/intl402/DateTimeFormat/prototype/formatRange/en-US.js
+test262/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js
+test262/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US.js
+test262/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits.js
 test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js

diff --git a/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild
new file mode 100644
index 000000000000..ef74d3299c20
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild
@@ -0,0 +1,457 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-91esr-patches-10j.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-91-patches-05j.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE="ssl,xml(+)"
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+	MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+	# Convert the ebuild version to the upstream Mozilla version
+	MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+	MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+	MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+	# ESR releases have slightly different version numbers
+	MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+	MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+	https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+	https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+	${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
+
+KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv sparc x86"
+
+SLOT="91"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+
+	|| (
+		(
+			sys-devel/clang:15
+			sys-devel/llvm:15
+			clang? (
+				virtual/rust:0/llvm-15
+				lto? ( sys-devel/lld:15 )
+			)
+		)
+		(
+			sys-devel/clang:14
+			sys-devel/llvm:14
+			clang? (
+				virtual/rust:0/llvm-14
+				lto? ( sys-devel/lld:14 )
+			)
+		)
+	)
+	!clang? ( virtual/rust )
+	virtual/pkgconfig
+	test? (
+		$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+	)"
+DEPEND=">=dev-libs/icu-69.1:=
+	dev-libs/nspr
+	sys-libs/readline:0=
+	sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+	if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+		einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+		return 1
+	fi
+
+	if use clang ; then
+		if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+			einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+			einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if use lto ; then
+			if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+				einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+				return 1
+			fi
+		fi
+	fi
+
+	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+	if use test ; then
+		python_has_version "dev-python/six[${PYTHON_USEDEP}]"
+	fi
+}
+
+pkg_pretend() {
+	if use test ; then
+		CHECKREQS_DISK_BUILD="7600M"
+	else
+		CHECKREQS_DISK_BUILD="6400M"
+	fi
+
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use test ; then
+			CHECKREQS_DISK_BUILD="7600M"
+		else
+			CHECKREQS_DISK_BUILD="6400M"
+		fi
+
+		check-reqs_pkg_setup
+
+		llvm_pkg_setup
+
+		if use clang && use lto ; then
+			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
+				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
+				eerror "  - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+				eerror "    llvm/clang/lld/rust chain depending on your @world updates)"
+				die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+			fi
+		fi
+
+		python-any-r1_pkg_setup
+
+		# Build system is using /proc/self/oom_score_adj, bug #604394
+		addpredict /proc/self/oom_score_adj
+
+		if ! mountpoint -q /dev/shm ; then
+			# If /dev/shm is not available, configure is known to fail with
+			# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+			ewarn "/dev/shm is not mounted -- expect build failures!"
+		fi
+
+		# Ensure we use C locale when building, bug #746215
+		export LC_ALL=C
+	fi
+}
+
+src_prepare() {
+	pushd ../.. &>/dev/null || die
+
+	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+	eapply "${WORKDIR}"/firefox-patches
+	eapply "${WORKDIR}"/spidermonkey-patches
+
+	default
+
+	# Make cargo respect MAKEOPTS
+	export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+	# sed-in toolchain prefix
+	sed -i \
+		-e "s/objdump/${CHOST}-objdump/" \
+		python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+		|| die "sed failed to set toolchain prefix"
+
+	# use prefix shell in wrapper linker scripts, bug #789660
+	hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+	einfo "Removing pre-built binaries ..."
+	find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+	MOZJS_BUILDDIR="${WORKDIR}/build"
+	mkdir "${MOZJS_BUILDDIR}" || die
+
+	popd &>/dev/null || die
+	eautoconf
+}
+
+src_configure() {
+	# Show flags set at the beginning
+	einfo "Current CFLAGS:    ${CFLAGS}"
+	einfo "Current CXXFLAGS:  ${CXXFLAGS}"
+	einfo "Current LDFLAGS:   ${LDFLAGS}"
+	einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+	local have_switched_compiler=
+	if use clang; then
+		# Force clang
+		einfo "Enforcing the use of clang due to USE=clang ..."
+		if tc-is-gcc; then
+			have_switched_compiler=yes
+		fi
+		AR=llvm-ar
+		CC=${CHOST}-clang
+		CXX=${CHOST}-clang++
+		NM=llvm-nm
+		RANLIB=llvm-ranlib
+	elif ! use clang && ! tc-is-gcc ; then
+		# Force gcc
+		have_switched_compiler=yes
+		einfo "Enforcing the use of gcc due to USE=-clang ..."
+		AR=gcc-ar
+		CC=${CHOST}-gcc
+		CXX=${CHOST}-g++
+		NM=gcc-nm
+		RANLIB=gcc-ranlib
+	fi
+
+	if [[ -n "${have_switched_compiler}" ]] ; then
+		# Because we switched active compiler we have to ensure
+		# that no unsupported flags are set
+		strip-unsupported-flags
+	fi
+
+	# Ensure we use correct toolchain
+	export HOST_CC="$(tc-getBUILD_CC)"
+	export HOST_CXX="$(tc-getBUILD_CXX)"
+	tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+	cd "${MOZJS_BUILDDIR}" || die
+
+	# ../python/mach/mach/mixin/process.py fails to detect SHELL
+	export SHELL="${EPREFIX}/bin/bash"
+
+	local -a myeconfargs=(
+		--host="${CBUILD:-${CHOST}}"
+		--target="${CHOST}"
+		--disable-ctype
+		--disable-jemalloc
+		--disable-optimize
+		--disable-smoosh
+		--disable-strip
+		--enable-readline
+		--enable-release
+		--enable-shared-js
+		--with-intl-api
+		--with-system-icu
+		--with-system-nspr
+		--with-system-zlib
+		--with-toolchain-prefix="${CHOST}-"
+		$(use_enable debug)
+		$(use_enable jit)
+		$(use_enable test tests)
+	)
+
+	# Temporary fix with rust-1.63, bgo#870193
+	# if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+	#	myeconfargs+=( --enable-rust-simd )
+	# fi
+	myeconfargs+=( --disable-rust-simd )
+
+	# Modifications to better support ARM, bug 717344
+	if use cpu_flags_arm_neon ; then
+		myeconfargs+=( --with-fpu=neon )
+
+		if ! tc-is-clang ; then
+			# thumb options aren't supported when using clang, bug 666966
+			myeconfargs+=( --with-thumb=yes )
+			myeconfargs+=( --with-thumb-interwork=no )
+		fi
+	fi
+
+	# Tell build system that we want to use LTO
+	if use lto ; then
+		if use clang ; then
+			myeconfargs+=( --enable-linker=lld )
+			myeconfargs+=( --enable-lto=cross )
+		else
+			myeconfargs+=( --enable-linker=bfd )
+			myeconfargs+=( --enable-lto )
+		fi
+	fi
+
+	# LTO flag was handled via configure
+	filter-flags '-flto*'
+
+	if tc-is-gcc ; then
+		if ver_test $(gcc-fullversion) -ge 10 ; then
+			einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+			append-cxxflags -fno-tree-loop-vectorize
+		fi
+	fi
+
+	export MACH_USE_SYSTEM_PYTHON=1
+	export PIP_NO_CACHE_DIR=off
+
+	# Show flags we will use
+	einfo "Build CFLAGS:    ${CFLAGS}"
+	einfo "Build CXXFLAGS:  ${CXXFLAGS}"
+	einfo "Build LDFLAGS:   ${LDFLAGS}"
+	einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+	# Forcing system-icu allows us to skip patching bundled ICU for PPC
+	# and other minor arches
+	ECONF_SOURCE="${S}" \
+		econf \
+		${myeconfargs[@]} \
+		XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+	cd "${MOZJS_BUILDDIR}" || die
+	default
+}
+
+src_test() {
+	if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+		einfo "Smoke-test successful, continuing with full test suite"
+	else
+		die "Smoke-test failed: did interpreter initialization fail?"
+	fi
+
+	cp "${FILESDIR}"/spidermonkey-91-known-test-failures.txt "${T}"/known_failures.list || die
+
+	# bgo #827960
+	if use ppc; then
+		echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/load/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/load/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/add/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/add/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/exchange/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/store/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/store/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/xor/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/sub/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/and/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/or/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/negative-timeout-agent.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/value-not-equal.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/nan-for-timeout.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/compareExchange/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/and/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/or/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/notify/bigint/notify-all-on-loc.js" >> "${T}"/known_failures.list
+	fi
+
+	if use x86 ; then
+		echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Number/prototype/toPrecision/return-values.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
+	fi
+
+	if [[ $(tc-endian) == "big" ]] ; then
+		echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
+	fi
+
+	${EPYTHON} \
+		"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+		--exclude-file="${T}"/known_failures.list \
+		"${MOZJS_BUILDDIR}"/js/src/js \
+		|| die
+
+	if use jit ; then
+		${EPYTHON} \
+			"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+			--exclude-file="${T}"/known_failures.list \
+			"${MOZJS_BUILDDIR}"/js/src/js basic \
+			|| die
+	fi
+}
+
+src_install() {
+	cd "${MOZJS_BUILDDIR}" || die
+	default
+
+	# fix soname links
+	pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+	mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+	ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+	ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+	popd &>/dev/null || die
+
+	# remove unneeded files
+	rm \
+		"${ED}"/usr/bin/js${MY_MAJOR}-config \
+		"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+		|| die
+
+	# fix permissions
+	chmod -x \
+		"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+		"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+		|| die
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-11-24  7:21 Sam James
  0 siblings, 0 replies; 21+ messages in thread
From: Sam James @ 2022-11-24  7:21 UTC (permalink / raw
  To: gentoo-commits

commit:     c971a7deb51fd332abae53ae2dd3d37232e13750
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 24 03:14:56 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 24 07:20:41 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c971a7de

dev-lang/spidermonkey: drop 68.12.0-r1

Signed-off-by: Sam James <sam <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/28407
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/spidermonkey/Manifest                     |   3 -
 .../spidermonkey-68.0-add-riscv-support.patch      | 107 --------
 .../files/spidermonkey-68.0-loong-support.patch    | 103 --------
 .../spidermonkey/spidermonkey-68.12.0-r1.ebuild    | 273 ---------------------
 4 files changed, 486 deletions(-)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index b1f9a6224d7b..fd5d7d56691a 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,14 +1,11 @@
 DIST firefox-102.4.0esr.source.tar.xz 482118312 BLAKE2B dadb293edf4df20da5345aab6845ca9da8143a966b38d3660ea8ebc4f24ecab72097ba4345d30895907c83895883379867437f8097b86af4e7e0e691da551793 SHA512 30d9e6ef04fd86516e2cea3c797ec99af4c96b08576bb3409c0026da4fd1218167f89a007109e1fa4e2571f98f2dbe5ab58a26473533d45301f75b90ec3dbf28
 DIST firefox-102.5.0esr.source.tar.xz 478705384 BLAKE2B ee005b0e75151e39a9f34ab38a7a704a1f2efd4fe33bacb6a604a8a6ce8727210d0794b81e03e448d5baa2be264a7150728aac4f5b86d0a5154d549abf0c75ac SHA512 f4e105209c61e9537ddc90afdb05ede0a31caceb9b164d96276c811abbd646d14bc246c00caa386c0b0561055096d30b298329c69270dd085b943bdbc3a91a13
 DIST firefox-102esr-patches-04j.tar.xz 21860 BLAKE2B 1cc1d6493912f85e71cb5a0ec2c3196cda203242f3503bb6ce8c23a93e71a6e8b1138f88498a6a9698066134cc234989b35cb378693fb2cbc9ba4caa8d66761d SHA512 9f7188dd79b9856826ae2a60b0109c2c86c60c10b03cd1828a9f7a7576df5c49ed3e11e4d3319d80e117204d6bc3408e375a62ad16ec8d2e53f999cd298811d8
-DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551dc7e939afcd1b4d00de1271bd4bda94021c6f1799fd9945962c14ffa1fd0b6a6429369c4e45efc2000f179b9b2e46971e7 SHA512 9cb2479637dd8b84e0ab68dc0fe144acd2dc74feca282fd3c4b485ca6f0de8190244587622713a5421b243ccda153f738e9a8f463e87e15e93e9b725d943e128
-DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b313170a30cee8e1fc10a8b08512b915b83b7d6a81c09b365733ed94638bd434864fd7b0cb8cbf1bc2e43441be69e31117e8e6a099234c SHA512 839b02422e4c87bdb12e0995cd35ca8c1996f3fba00bbb46b419e46b67df5ec48a264cb14632db777ce29166ee4fdcb06e2ee3ce847e64328c58c9a2f9129f4c
 DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
 DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a
 DIST firefox-91.11.0esr.source.tar.xz 384459848 BLAKE2B cff327378a1712d0dfb99e1a67bd63e958987e3147279af5f98ee9318fe91f42823bbc9afb0308638e42de789451b04ea895320a8c674cc221e0d4b0b1d80f38 SHA512 bff3a399c03bd1cdaaec0b6963b1558aa35b6338b6c02042ffd65fec0aedd344d01718692e881332f5f352c32da15ba09a20a09ee072200b47ae840bc0585a96
 DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516
 DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
 DIST spidermonkey-102-patches-04j.tar.xz 3996 BLAKE2B 468697521adacc5d647b04f2228fc4c1a8131bc2523142f2d57f32e321303581ae8f793baae48966ecb27f48bf77eb084f7b2df1c1a0c667e9ed59ae93d786e6 SHA512 201bb779e2373cc00dfadc29a62b593030dfc12eec076114b92927f29f476d3fafdd056112dd1bb1f19f82827f4fe1252141e3998bec719e4196737a316d4ef2
-DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d5926b710c06b0e9de1ff03b130a57fdac30f2deefbee3fa92250b37e28087572fe5cce73eb112ef4e1fb0c0401d6ecdb22ab9868998 SHA512 94575b11b4f006c6ee0c8d64b315734a173cecb68e9128ca61ba1a28177e3c149b8cf1f3b3c47a7a263fad8da6196fc0101df87392f016686a827e0cd24fdc74
 DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
 DIST spidermonkey-91-patches-04j.tar.xz 4624 BLAKE2B d9cf47b39a165e8434d4f2f20ae3a9734c1bb81c32ddb75360e5edfa6817d6343be89aff0f8ec381485772cad80b00a069789decbc462129161afc3d4acfcb53 SHA512 bd574fee600cb4c6a262893b7d992d85c4059d512b829cd2f226aff86d8a6a83c2bdab466704e22f64bf6d29f90901037a34f9e90a42251952ba1cdbc0cab968

diff --git a/dev-lang/spidermonkey/files/spidermonkey-68.0-add-riscv-support.patch b/dev-lang/spidermonkey/files/spidermonkey-68.0-add-riscv-support.patch
deleted file mode 100644
index cc44da805898..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-68.0-add-riscv-support.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From f144113688168e2bd86d24a48c8d7cdfdb4ccaab Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Fri, 21 May 2021 17:17:45 +0200
-Subject: [PATCH] bmo#1318905: Make SpiderMonkey build on Linux/RISC-V
-
-Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
----
- build/moz.configure/init.configure                           | 3 +++
- js/src/jit/AtomicOperations.h                                | 2 +-
- js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h       | 5 +++++
- mfbt/tests/TestPoisonArea.cpp                                | 3 +++
- python/mozbuild/mozbuild/configure/constants.py              | 2 ++
- .../mozbuild/test/configure/test_toolchain_configure.py      | 4 ++++
- 6 files changed, 18 insertions(+), 1 deletion(-)
-
-diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index b887153321a..5c275076061 100644
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -755,6 +755,9 @@ def split_triplet(triplet, allow_msvc=False):
-     elif cpu.startswith('aarch64'):
-         canonical_cpu = 'aarch64'
-         endianness = 'little'
-+    elif cpu in ('riscv64', 'riscv64gc'):
-+        canonical_cpu = 'riscv64'
-+        endianness = 'little'
-     elif cpu == 'sh4':
-         canonical_cpu = 'sh4'
-         endianness = 'little'
-diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
-index 0f45ac8b58e..f48d2adce97 100644
---- a/js/src/jit/AtomicOperations.h
-+++ b/js/src/jit/AtomicOperations.h
-@@ -392,7 +392,7 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) {
-     defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \
-     defined(__PPC64LE__) || defined(__alpha__) || defined(__hppa__) ||  \
-     defined(__ia64__) || defined(__sh__) || defined(__s390__) || \
--    defined(__s390x__)
-+    defined(__s390x__) || defined(__riscv)
- #  include "jit/shared/AtomicOperations-feeling-lucky.h"
- #else
- #  error "No AtomicOperations support provided for this platform"
-diff --git a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
-index f002cd46c93..1ce40efaccc 100644
---- a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
-+++ b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
-@@ -63,6 +63,11 @@
- #  define HAS_64BIT_LOCKFREE
- #endif
- 
-+#if defined(__riscv) && __riscv_xlen == 64
-+#  define HAS_64BIT_ATOMICS
-+#  define HAS_64BIT_LOCKFREE
-+#endif
-+
- #ifdef __sparc__
- #  ifdef __LP64__
- #    define HAS_64BIT_ATOMICS
-diff --git a/mfbt/tests/TestPoisonArea.cpp b/mfbt/tests/TestPoisonArea.cpp
-index fbd33647150..9d2ffa498b7 100644
---- a/mfbt/tests/TestPoisonArea.cpp
-+++ b/mfbt/tests/TestPoisonArea.cpp
-@@ -132,6 +132,9 @@
- #elif defined _ARCH_PPC || defined _ARCH_PWR || defined _ARCH_PWR2
- #  define RETURN_INSTR 0x4E800020 /* blr */
- 
-+#elif defined __riscv
-+#  define RETURN_INSTR 0x80828082 /* ret; ret */
-+
- #elif defined __sparc || defined __sparcv9
- #  define RETURN_INSTR 0x81c3e008 /* retl */
- 
-diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
-index 7542dcdc636..49ef3b857db 100644
---- a/python/mozbuild/mozbuild/configure/constants.py
-+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -49,6 +49,7 @@
-     'mips64': 64,
-     'ppc': 32,
-     'ppc64': 64,
-+    'riscv64': 64,
-     's390': 32,
-     's390x': 64,
-     'sh4': 32,
-@@ -87,6 +88,7 @@
-     ('sparc', '__sparc__'),
-     ('mips64', '__mips64'),
-     ('mips32', '__mips__'),
-+    ('riscv64', '__riscv && __riscv_xlen == 64'),
-     ('sh4', '__sh__'),
- ))
- 
-diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-index 37c4e26f0fb..5d3d5891dca 100755
---- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-@@ -1208,6 +1208,10 @@ class LinuxCrossCompileToolchainTest(BaseToolchainTest):
-         'mips-unknown-linux-gnu': big_endian + {
-             '__mips__': 1,
-         },
-+        'riscv64-unknown-linux-gnu': little_endian + {
-+            '__riscv': 1,
-+            '__riscv_xlen': 64,
-+        },
-         'sh4-unknown-linux-gnu': little_endian + {
-             '__sh__': 1,
-         },

diff --git a/dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch b/dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch
deleted file mode 100644
index f7010d5ebf32..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-https://raw.githubusercontent.com/xen0n/loongson-overlay/00901fd4c599ec320c7852cbd30b40d3f6aa8971/dev-lang/spidermonkey/files/spidermonkey-68.0-add-loongarch64-support.patch
-
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -734,6 +734,9 @@ def split_triplet(triplet, allow_unknown
-     elif cpu == 'sh4':
-         canonical_cpu = 'sh4'
-         endianness = 'little'
-+    elif cpu == 'loongarch64':
-+        canonical_cpu = 'loongarch64'
-+        endianness = 'little'
-     elif allow_unknown:
-         canonical_cpu = cpu
-         endianness = 'unknown'
---- a/js/src/jit/AtomicOperations.h
-+++ b/js/src/jit/AtomicOperations.h
-@@ -382,6 +382,9 @@ inline bool AtomicOperations::isLockfree
- #  else
- #    include "jit/shared/AtomicOperations-feeling-lucky.h"
- #  endif
-+#elif defined(__loongarch64)
-+// This is only here to avoid merge conflict with spidermonkey-68.0-add-riscv-support.patch.
-+#  include "jit/shared/AtomicOperations-feeling-lucky.h"
- #elif defined(__mips__)
- #  if defined(__clang__) || defined(__GNUC__)
- #    include "jit/mips-shared/AtomicOperations-mips-shared.h"
---- a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
-+++ b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
-@@ -57,6 +57,11 @@
- #  define HAS_64BIT_LOCKFREE
- #endif
- 
-+#ifdef __loongarch64
-+#  define HAS_64BIT_ATOMICS
-+#  define HAS_64BIT_LOCKFREE
-+#endif
-+
- #if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \
-     defined(__PPC64LE__)
- #  define HAS_64BIT_ATOMICS
---- a/mfbt/tests/TestPoisonArea.cpp
-+++ b/mfbt/tests/TestPoisonArea.cpp
-@@ -127,6 +127,9 @@
- #elif defined __arm__ || defined _M_ARM
- #  define RETURN_INSTR 0xE12FFF1E /* bx lr */
- 
-+#elif defined __loongarch__
-+#  define RETURN_INSTR 0x4c000020 /* jirl zero, ra, 0 */
-+
- // PPC has its own style of CPU-id #defines.  There is no Windows for
- // PPC as far as I know, so no _M_ variant.
- #elif defined _ARCH_PPC || defined _ARCH_PWR || defined _ARCH_PWR2
---- a/python/mozbuild/mozbuild/configure/constants.py
-+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -46,6 +46,7 @@ CPU_bitness = {
-     'arm': 32,
-     'hppa': 32,
-     'ia64': 64,
-+    'loongarch64': 64,
-     'mips32': 32,
-     'mips64': 64,
-     'ppc': 32,
-@@ -78,6 +79,7 @@ CPU_preprocessor_checks = OrderedDict((
-     ('arm', '__arm__ || _M_ARM'),
-     ('aarch64', '__aarch64__ || _M_ARM64'),
-     ('ia64', '__ia64__'),
-+    ('loongarch64', '__loongarch64'),
-     ('s390x', '__s390x__'),
-     ('s390', '__s390__'),
-     ('ppc64', '__powerpc64__'),
---- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-@@ -1068,6 +1068,10 @@ class LinuxCrossCompileToolchainTest(Bas
-         'ia64-unknown-linux-gnu': little_endian + {
-             '__ia64__': 1,
-         },
-+        'loongarch64-unknown-linux-gnu': little_endian + {
-+            '__loongarch__': 1,
-+            '__loongarch64': 1,
-+        },
-         's390x-unknown-linux-gnu': big_endian + {
-             '__s390x__': 1,
-             '__s390__': 1,
---- a/intl/icu/source/i18n/double-conversion-utils.h
-+++ b/intl/icu/source/i18n/double-conversion-utils.h
-@@ -117,6 +117,7 @@ int main(int argc, char** argv) {
- #if defined(_M_X64) || defined(__x86_64__) || \
-     defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
-     defined(__hppa__) || defined(__ia64__) || \
-+    defined(__loongarch__) || \
-     defined(__mips__) || \
-     defined(__nios2__) || defined(__ghs) || \
-     defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
---- a/mfbt/double-conversion/double-conversion/utils.h
-+++ b/mfbt/double-conversion/double-conversion/utils.h
-@@ -117,6 +117,7 @@ int main(int argc, char** argv) {
- #if defined(_M_X64) || defined(__x86_64__) || \
-     defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
-     defined(__hppa__) || defined(__ia64__) || \
-+    defined(__loongarch__) || \
-     defined(__mips__) || \
-     defined(__nios2__) || defined(__ghs) || \
-     defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \

diff --git a/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild
deleted file mode 100644
index fa5485814854..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild
+++ /dev/null
@@ -1,273 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="ssl"
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs python-any-r1 toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
-
-MY_MAJOR=$(ver_cut 1)
-
-MOZ_ESR="1"
-
-# Convert the ebuild version to the upstream mozilla version
-MOZ_PV="${MY_PV/_alpha/a}" # Handle alpha for SRC_URI
-MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
-MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
-
-if [[ ${MOZ_ESR} == 1 ]] ; then
-	# ESR releases have slightly different version numbers
-	MOZ_PV="${MOZ_PV}esr"
-fi
-
-# Patch version
-FIREFOX_PATCHSET="firefox-68.0-patches-15"
-SPIDERMONKEY_PATCHSET="${PN}-68.6.0-patches-04"
-
-MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/releases"
-MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
-
-if [[ "${PV}" == *_rc* ]]; then
-	MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
-	MOZ_SRC_URI="${MOZ_HTTP_URI}/source/firefox-${MOZ_PV}.source.tar.xz"
-fi
-
-PATCH_URIS=(
-	https://dev.gentoo.org/~{anarchy,whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}.tar.xz
-	https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}.tar.xz
-)
-
-SRC_URI="${MOZ_SRC_URI}
-	${PATCH_URIS[@]}"
-
-DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-
-# riscv support requires a patch currently only available in firefox-78 patch sets
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 -riscv sparc x86"
-
-SLOT="68"
-LICENSE="MPL-2.0"
-IUSE="cpu_flags_arm_neon debug +jit test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="dev-lang/python:2.7
-	virtual/pkgconfig
-	test? ( ${PYTHON_DEPS} )"
-
-DEPEND="dev-libs/icu:=
-	>=dev-libs/nspr-4.21
-	sys-libs/readline:0=
-	>=sys-libs/zlib-1.2.3"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/firefox-${MY_PV}/js/src"
-
-pkg_pretend() {
-	if use test ; then
-		CHECKREQS_DISK_BUILD="6G"
-	else
-		CHECKREQS_DISK_BUILD="5G"
-	fi
-
-	check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-	if use test ; then
-		CHECKREQS_DISK_BUILD="6G"
-	else
-		CHECKREQS_DISK_BUILD="5G"
-	fi
-
-	check-reqs_pkg_setup
-
-	use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
-	cd ../.. || die
-	rm "${WORKDIR}"/firefox/2013_avoid_noinline_on_GCC_with_skcms.patch
-	rm "${WORKDIR}"/firefox/2015_fix_cssparser.patch
-	rm "${WORKDIR}"/firefox/2016_set_CARGO_PROFILE_RELEASE_LTO.patch
-	eapply "${WORKDIR}"/firefox
-	eapply "${WORKDIR}"/spidermonkey-patches
-	eapply "${FILESDIR}"/spidermonkey-68.0-add-riscv-support.patch
-	eapply "${FILESDIR}"/spidermonkey-68.0-loong-support.patch
-
-	default
-
-	# sed-in toolchain prefix
-	sed -i \
-		-e "s/objdump/${CHOST}-objdump/" \
-		python/mozbuild/mozbuild/configure/check_debug_ranges.py \
-		|| die "sed failed to set toolchain prefix"
-
-	MOZJS_BUILDDIR="${WORKDIR}/build"
-	mkdir "${MOZJS_BUILDDIR}" || die
-
-	cd "${S}" || die
-	eautoconf
-}
-
-src_configure() {
-	tc-export CC CXX LD AR RANLIB
-
-	# backup current active Python version
-	local PYTHON_OLD=${PYTHON}
-
-	# build system will require Python2.7
-	export PYTHON=python2.7
-
-	cd "${MOZJS_BUILDDIR}" || die
-
-	# ../python/mach/mach/mixin/process.py fails to detect SHELL
-	export SHELL="${EPREFIX}/bin/bash"
-
-	local -a myeconfargs=(
-		--host="${CBUILD:-${CHOST}}"
-		--target="${CHOST}"
-		--disable-jemalloc
-		--disable-optimize
-		--disable-strip
-		--enable-readline
-		--enable-shared-js
-		--with-intl-api
-		--with-system-icu
-		--with-system-nspr
-		--with-system-zlib
-		--with-toolchain-prefix="${CHOST}-"
-		$(use_enable debug)
-		$(use_enable jit ion)
-		$(use_enable test tests)
-	)
-
-	# Modifications to better support ARM, bug 717344
-	if use cpu_flags_arm_neon ; then
-		myeconfargs+=( --with-fpu=neon )
-
-		if ! tc-is-clang ; then
-			# thumb options aren't supported when using clang, bug 666966
-			myeconfargs+=( --with-thumb=yes )
-			myeconfargs+=( --with-thumb-interwork=no )
-		fi
-	fi
-
-	# Forcing system-icu allows us to skip patching bundled ICU for PPC
-	# and other minor arches
-	ECONF_SOURCE="${S}" \
-		econf \
-		${myeconfargs[@]} \
-		XARGS="${EPREFIX}/usr/bin/xargs"
-
-	# restore PYTHON
-	export PYTHON=${PYTHON_OLD}
-}
-
-src_compile() {
-	cd "${MOZJS_BUILDDIR}" || die
-	default
-}
-
-src_test() {
-	if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
-		einfo "Smoke-test successful, continuing with full test suite"
-	else
-		die "Smoke-test failed: did interpreter initialization fail?"
-	fi
-
-	local -a KNOWN_TESTFAILURES
-	KNOWN_TESTFAILURES+=( test262/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js )
-	KNOWN_TESTFAILURES+=( test262/intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/RelativeTimeFormat/format.js )
-	KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
-	KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
-	KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
-	KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
-	KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
-	KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
-
-	if use x86 ; then
-		KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
-		KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
-		KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
-		KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
-	elif use sparc ; then
-		KNOWN_TESTFAILURES+=( non262/Array/regress-157652.js )
-		KNOWN_TESTFAILURES+=( non262/Array/regress-330812.js )
-		KNOWN_TESTFAILURES+=( non262/regress/regress-422348.js )
-	fi
-
-	if [[ $(tc-endian) == "big" ]] ; then
-		KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
-	fi
-
-	echo "" > "${T}"/known_failures.list || die
-
-	local KNOWN_TESTFAILURE
-	for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
-		echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
-	done
-
-	PYTHONPATH="${S}/tests/lib" \
-		${PYTHON} \
-		"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
-		--exclude-file="${T}"/known_failures.list \
-		"${MOZJS_BUILDDIR}"/js/src/js \
-		|| die
-
-	if use jit ; then
-		KNOWN_TESTFAILURES=()
-
-		echo "" > "${T}"/known_failures.list || die
-
-		for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
-			echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
-		done
-
-		PYTHONPATH="${S}/tests/lib" \
-			${PYTHON} \
-			"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
-			--exclude-file="${T}"/known_failures.list \
-			"${MOZJS_BUILDDIR}"/js/src/js basic \
-			|| die
-	fi
-}
-
-src_install() {
-	cd "${MOZJS_BUILDDIR}" || die
-	default
-
-	# fix soname links
-	pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
-	mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
-	ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
-	ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
-	popd &>/dev/null || die
-
-	# remove unneeded files
-	rm \
-		"${ED}"/usr/bin/js${MY_MAJOR}-config \
-		"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
-		|| die
-
-	# fix permissions
-	chmod -x \
-		"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
-		"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
-		|| die
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-11-24  3:08 Sam James
  0 siblings, 0 replies; 21+ messages in thread
From: Sam James @ 2022-11-24  3:08 UTC (permalink / raw
  To: gentoo-commits

commit:     2cd007df034d518d7879c3a6778cfec65ca7deb0
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 19 04:56:41 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 24 03:08:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2cd007df

dev-lang/spidermonkey: drop 60.5.2_p0-r6

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-lang/spidermonkey/Manifest                     |   2 -
 ...ey-60.5.2-ia64-fix-virtual-address-length.patch |  59 --------
 .../files/spidermonkey-60.5.2-ia64-support.patch   |  44 ------
 .../spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild  | 158 ---------------------
 4 files changed, 263 deletions(-)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 996dcd5088c7..b1f9a6224d7b 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -8,9 +8,7 @@ DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a
 DIST firefox-91.11.0esr.source.tar.xz 384459848 BLAKE2B cff327378a1712d0dfb99e1a67bd63e958987e3147279af5f98ee9318fe91f42823bbc9afb0308638e42de789451b04ea895320a8c674cc221e0d4b0b1d80f38 SHA512 bff3a399c03bd1cdaaec0b6963b1558aa35b6338b6c02042ffd65fec0aedd344d01718692e881332f5f352c32da15ba09a20a09ee072200b47ae840bc0585a96
 DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516
 DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
-DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
 DIST spidermonkey-102-patches-04j.tar.xz 3996 BLAKE2B 468697521adacc5d647b04f2228fc4c1a8131bc2523142f2d57f32e321303581ae8f793baae48966ecb27f48bf77eb084f7b2df1c1a0c667e9ed59ae93d786e6 SHA512 201bb779e2373cc00dfadc29a62b593030dfc12eec076114b92927f29f476d3fafdd056112dd1bb1f19f82827f4fe1252141e3998bec719e4196737a316d4ef2
-DIST spidermonkey-60.0-patches-04.tar.xz 4428 BLAKE2B af78049cd9b3ee6a9b689e6253486c4670fd3b506faade7d745dafaa7af329c0bd15cd35e95528a4c96688230f4803130967fb09b97aae2bda0ce0f73acaaf3e SHA512 fb1326a81512146ba98773d4f7e0c4bc1bff0f076897c13f576fcf63b56f6965efeff633eea9160bca9f9bc4546505901084eabc33bc955de0b7ab3d6334387a
 DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d5926b710c06b0e9de1ff03b130a57fdac30f2deefbee3fa92250b37e28087572fe5cce73eb112ef4e1fb0c0401d6ecdb22ab9868998 SHA512 94575b11b4f006c6ee0c8d64b315734a173cecb68e9128ca61ba1a28177e3c149b8cf1f3b3c47a7a263fad8da6196fc0101df87392f016686a827e0cd24fdc74
 DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
 DIST spidermonkey-91-patches-04j.tar.xz 4624 BLAKE2B d9cf47b39a165e8434d4f2f20ae3a9734c1bb81c32ddb75360e5edfa6817d6343be89aff0f8ec381485772cad80b00a069789decbc462129161afc3d4acfcb53 SHA512 bd574fee600cb4c6a262893b7d992d85c4059d512b829cd2f226aff86d8a6a83c2bdab466704e22f64bf6d29f90901037a34f9e90a42251952ba1cdbc0cab968

diff --git a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch
deleted file mode 100644
index 8b2245f1e353..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 8099213b51180254b322332ecd573239da4212c4 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Thu, 23 Jan 2020 22:57:53 +0000
-Subject: [PATCH] ProcessExecutableMemory.cpp: fix virtual address length on
- ia64
-
-ia64's usable virtual address space is page dependent. For 16K
-pages with 3 levels of page tables de can address only 44 bits
-of virtual memory, not default 47.
-
-The change makes page size detection dynamic and adapts to
-addressable bits. On ia64 it is '4 * log2(page_size/8)'.
-
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- js/src/jit/ProcessExecutableMemory.cpp | 25 +++++++++++++++++++++++++
- 1 file changed, 25 insertions(+)
-
-diff --git a/js/src/jit/ProcessExecutableMemory.cpp b/js/src/jit/ProcessExecutableMemory.cpp
-index 9e55c262..8581c150 100644
---- a/js/src/jit/ProcessExecutableMemory.cpp
-+++ b/js/src/jit/ProcessExecutableMemory.cpp
-
-@@ -248,7 +248,32 @@ static void* ComputeRandomAllocationAddress() {
-   // x64 CPUs have a 48-bit address space and on some platforms the OS will
-   // give us access to 47 bits, so to be safe we right shift by 18 to leave
-   // 46 bits.
-+# ifdef __ia64__
-+  // On ia64 virtual address space looks like one of:
-+  //   virt_addr_64 = [ <63..61> | <unimplemented> | L3 | L2 | L1 | offset ]
-+  //   virt_addr_64 = [ <63..61> | <unimplemented> | L4 | L3 | L2 | L1 | offset ]
-+  // where L{1..L4} are page tables. Each page table (except top-level L3 or L4)
-+  // is itself a page-size entry and can store PageSize / 8 entries. Top-level
-+  // entry is 1/8 of of L1/L2 (as 3 upper bits are part of <63..61> address part).
-+  // Note: that makes addressable size directly depend on page size.
-+  //
-+  // We conservatively assume 3 levels of page tables here. This makes the
-+  // following formula:
-+  //   L3     = log2(PAGE / 8 / 8) = log2(PAGE / 8) - 3
-+  //   L2                          = log2(PAGE / 8)
-+  //   L1                          = log2(PAGE / 8)
-+  //   offset = log2(PAGE)         = log2(PAGE / 8) + 3
-+  // thus
-+  //  L3 + L2 + L1 + offset = 4 * log2(PAGE / 8)
-+  // For more details see http://www.ia64-linux.org/doc/IA64linuxkernel.PDF
-+  // (slide 19: "user regions").
-+  static uint64_t ia64_virt_bits = std::min<uint64_t>(
-+      4 * (mozilla::FloorLog2(gc::SystemPageSize() / 8)),
-+      46);
-+  rand >>= (64 - ia64_virt_bits);
-+# else
-   rand >>= 18;
-+# endif
- #else
-   // On 32-bit, right shift by 34 to leave 30 bits, range [0, 1GiB). Then add
-   // 512MiB to get range [512MiB, 1.5GiB), or [0x20000000, 0x60000000). This
--- 
-2.25.0
-

diff --git a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
deleted file mode 100644
index 90c8a4c9da3b..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 35d787c782a075c0a01e29605d254950fd1e81a6 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Thu, 25 Jul 2019 10:17:39 -0500
-Subject: [PATCH] Add support for ia64 atomic-ops
-
-Signed-off-by: Jory Pratt <anarchy@gentoo.org>
----
- js/src/jit/AtomicOperations.h                    | 2 ++
- js/src/jit/none/AtomicOperations-feeling-lucky.h | 6 ++++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
-index 3501e65b..44c3f358 100644
---- a/js/src/jit/AtomicOperations.h
-+++ b/js/src/jit/AtomicOperations.h
-@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) {
- #include "jit/none/AtomicOperations-feeling-lucky.h"
- #elif defined(__s390__) || defined(__s390x__)
- #include "jit/none/AtomicOperations-feeling-lucky.h"
-+#elif defined(__ia64__)
-+#include "jit/none/AtomicOperations-feeling-lucky.h"
- #else
- #error "No AtomicOperations support provided for this platform"
- #endif
-diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h
-index c0b43699..a3f4497e 100644
---- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
-+++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
-@@ -80,6 +80,12 @@
- #define GNUC_COMPATIBLE
- #endif
- 
-+#ifdef __ia64__
-+#define HAS_64BIT_ATOMICS
-+#define HAS_64BIT_LOCKFREE
-+#define GNUC_COMPATIBLE
-+#endif
-+
- // The default implementation tactic for gcc/clang is to use the newer
- // __atomic intrinsics added for use in C++11 <atomic>.  Where that
- // isn't available, we use GCC's older __sync functions instead.
--- 
-2.22.0
-

diff --git a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild
deleted file mode 100644
index ef5e64bc7a31..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WANT_AUTOCONF="2.1"
-inherit autotools check-reqs toolchain-funcs pax-utils mozcoreconf-v5 flag-o-matic
-
-MY_PN="mozjs"
-MY_P="${MY_PN}-${PV/_rc/.rc}"
-MY_P="${MY_P/_pre/pre}"
-MY_P="${MY_P%_p[0-9]*}"
-DESCRIPTION="Stand-alone JavaScript C++ library"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-#SRC_URI="https://archive.mozilla.org/pub/spidermonkey/prereleases/60/pre3/${MY_P}.tar.bz2
-SRC_URI="https://dev.gentoo.org/~axs/distfiles/${MY_P}.tar.bz2
-	https://dev.gentoo.org/~anarchy/mozilla/patchsets/${PN}-60.0-patches-04.tar.xz"
-
-LICENSE="NPL-1.1"
-SLOT="60"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="debug +jit minimal +system-icu test"
-
-# Disable tests:
-# Version is dead and most issues are related to the use of
-# system's ICU.
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_P%.rc*}"
-
-BUILDDIR="${S}/jsobj"
-
-RDEPEND=">=dev-libs/nspr-4.13.1
-	dev-libs/libffi:=
-	sys-libs/readline:0=
-	>=sys-libs/zlib-1.2.3:=
-	system-icu? ( >=dev-libs/icu-59.1:= )"
-DEPEND="${RDEPEND}"
-
-pkg_pretend() {
-	CHECKREQS_DISK_BUILD="2G"
-
-	check-reqs_pkg_setup
-}
-pkg_setup() {
-	[[ ${MERGE_TYPE} == "binary" ]] || \
-		moz_pkgsetup
-	export SHELL="${EPREFIX}/bin/bash"
-}
-
-src_prepare() {
-	eapply "${WORKDIR}/${PN}"
-	eapply "${FILESDIR}/${PN}-60.5.2-ia64-support.patch"
-	eapply "${FILESDIR}/${PN}-60.5.2-ia64-fix-virtual-address-length.patch"
-
-	eapply_user
-
-	append-atomic-flags # bug 688574
-
-	cd "${S}/js/src" || die
-	eautoconf old-configure.in
-	eautoconf
-
-	# remove options that are not correct from js-config
-	sed '/lib-filenames/d' -i "${S}"/js/src/build/js-config.in || die "failed to remove invalid option from js-config"
-
-	# there is a default config.cache that messes everything up
-	rm -f "${S}/js/src"/config.cache || die
-
-	mkdir -p "${BUILDDIR}" || die
-}
-
-src_configure() {
-	cd "${BUILDDIR}" || die
-
-	tc-export AR RANLIB
-
-	ECONF_SOURCE="${S}/js/src" \
-	econf \
-		--disable-jemalloc \
-		--enable-readline \
-		--with-system-nspr \
-		--with-system-zlib \
-		--disable-optimize \
-		--with-intl-api \
-		--with-toolchain-prefix="${CHOST}-" \
-		$(use_with system-icu) \
-		$(use_enable debug) \
-		$(use_enable jit ion) \
-		$(use_enable test tests) \
-		XARGS="/usr/bin/xargs" \
-		CONFIG_SHELL="${EPREFIX}/bin/bash" \
-		CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}"
-}
-
-cross_make() {
-	emake \
-		CFLAGS="${BUILD_CFLAGS}" \
-		CXXFLAGS="${BUILD_CXXFLAGS}" \
-		AR="${BUILD_AR}" \
-		CC="${BUILD_CC}" \
-		CXX="${BUILD_CXX}" \
-		RANLIB="${BUILD_RANLIB}" \
-		"$@"
-}
-src_compile() {
-	cd "${BUILDDIR}" || die
-	if tc-is-cross-compiler; then
-		tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
-		cross_make \
-			MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
-			HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
-			MOZ_PGO_OPTIMIZE_FLAGS="" \
-			host_jsoplengen host_jskwgen
-		cross_make \
-			MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
-			-C config nsinstall
-		mv {,native-}host_jskwgen || die
-		mv {,native-}host_jsoplengen || die
-		mv config/{,native-}nsinstall || die
-		sed -i \
-			-e 's@./host_jskwgen@./native-host_jskwgen@' \
-			-e 's@./host_jsoplengen@./native-host_jsoplengen@' \
-			Makefile || die
-		sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
-		rm -f config/host_nsinstall.o \
-			config/host_pathsub.o \
-			host_jskwgen.o \
-			host_jsoplengen.o || die
-	fi
-
-	MOZ_MAKE_FLAGS="${MAKEOPTS}" \
-	emake \
-		MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
-		HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
-		MOZ_PGO_OPTIMIZE_FLAGS=""
-}
-
-src_test() {
-	cd "${BUILDDIR}/js/src/jsapi-tests" || die
-	./jsapi-tests || die
-}
-
-src_install() {
-	cd "${BUILDDIR}" || die
-	emake DESTDIR="${D}" install
-
-	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
-
-	# 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' -o -iname '*.ajs' -delete || die
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-08-10  8:31 Joonas Niilola
  0 siblings, 0 replies; 21+ messages in thread
From: Joonas Niilola @ 2022-08-10  8:31 UTC (permalink / raw
  To: gentoo-commits

commit:     776cb2bcedc5874c447b8082393473f20bab5790
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 10 07:34:50 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Aug 10 08:31:03 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=776cb2bc

dev-lang/spidermonkey: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/26802
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-lang/spidermonkey/Manifest                     |   2 -
 .../files/spidermonkey-1.8.5-LTO.patch             |  58 --------
 .../spidermonkey-perl-defined-array-check.patch    |  11 --
 .../spidermonkey/spidermonkey-1.8.5-r10.ebuild     | 152 ---------------------
 4 files changed, 223 deletions(-)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 9f8ababee072..294377e9f668 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -5,10 +5,8 @@ DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a
 DIST firefox-91.11.0esr.source.tar.xz 384459848 BLAKE2B cff327378a1712d0dfb99e1a67bd63e958987e3147279af5f98ee9318fe91f42823bbc9afb0308638e42de789451b04ea895320a8c674cc221e0d4b0b1d80f38 SHA512 bff3a399c03bd1cdaaec0b6963b1558aa35b6338b6c02042ffd65fec0aedd344d01718692e881332f5f352c32da15ba09a20a09ee072200b47ae840bc0585a96
 DIST firefox-91.12.0esr.source.tar.xz 379877004 BLAKE2B c00e5cc219c59d8347a69e5236a4a4f439d9caae6ab7dabc3ed8c8f9a096ded26ec1ffb53b015b86481f1d43ec4f263bb8acbd841ebf36e8a741d73e12a0a914 SHA512 323fb752488b45872b40f0b0ee1d8c1dffa16874dbff2afde19a54286c824ef48177233e029faeafa5946184e71c31c6bc5ba7ec17a571e21af64fc5f7334042
 DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
-DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
 DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
 DIST spidermonkey-60.0-patches-04.tar.xz 4428 BLAKE2B af78049cd9b3ee6a9b689e6253486c4670fd3b506faade7d745dafaa7af329c0bd15cd35e95528a4c96688230f4803130967fb09b97aae2bda0ce0f73acaaf3e SHA512 fb1326a81512146ba98773d4f7e0c4bc1bff0f076897c13f576fcf63b56f6965efeff633eea9160bca9f9bc4546505901084eabc33bc955de0b7ab3d6334387a
 DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d5926b710c06b0e9de1ff03b130a57fdac30f2deefbee3fa92250b37e28087572fe5cce73eb112ef4e1fb0c0401d6ecdb22ab9868998 SHA512 94575b11b4f006c6ee0c8d64b315734a173cecb68e9128ca61ba1a28177e3c149b8cf1f3b3c47a7a263fad8da6196fc0101df87392f016686a827e0cd24fdc74
 DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
 DIST spidermonkey-91-patches-04j.tar.xz 4624 BLAKE2B d9cf47b39a165e8434d4f2f20ae3a9734c1bb81c32ddb75360e5edfa6817d6343be89aff0f8ec381485772cad80b00a069789decbc462129161afc3d4acfcb53 SHA512 bd574fee600cb4c6a262893b7d992d85c4059d512b829cd2f226aff86d8a6a83c2bdab466704e22f64bf6d29f90901037a34f9e90a42251952ba1cdbc0cab968
-DIST spidermonkey-slot0-patches-02.tar.xz 10952 BLAKE2B fb7bf5cdac6c821a48d407ff172fe0ec7297e047d3b3bab952f226f413b83ea70325175b41c1680725ff588111b424efc97a0c66e392989da510c43d38528ff1 SHA512 cd62890c4b58658d99fc1b52f05ccb35c07da835b168bb9d5e6b219de5021122c199cc2255c5b0be01ef582f53dd51c9975921e6bde9f14e9b43536e2bee85f2

diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch
deleted file mode 100644
index 7c36b5525b04..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 6ff7ad09daf98e5b804cf73c066c382a76e74e8c Mon Sep 17 00:00:00 2001
-From: Alexander Miller <alex.miller@gmx.de>
-Date: Wed, 12 Jun 2019 00:29:23 -0500
-Subject: [PATCH] Fix breakage with lto builds
-
-<artificial>:(.text+0x7a): undefined reference to `PopActiveVMFrame'
-collect2: error: ld returned 1 exit status
-
-Signed-off-by: Alexander Miller <alex.miller@gmx.de>
----
- js/src/methodjit/InvokeHelpers.cpp | 2 +-
- js/src/methodjit/MethodJIT.cpp     | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/js/src/methodjit/InvokeHelpers.cpp b/js/src/methodjit/InvokeHelpers.cpp
-index d017c2a..abde396 100644
---- a/js/src/methodjit/InvokeHelpers.cpp
-+++ b/js/src/methodjit/InvokeHelpers.cpp
-@@ -500,7 +500,7 @@ stubs::PutActivationObjects(VMFrame &f)
-     js::PutActivationObjects(f.cx, f.fp());
- }
- 
--extern "C" void *
-+extern "C" void * __attribute__((used))
- js_InternalThrow(VMFrame &f)
- {
-     JSContext *cx = f.cx;
-diff --git a/js/src/methodjit/MethodJIT.cpp b/js/src/methodjit/MethodJIT.cpp
-index 4feefbc..66099e6 100644
---- a/js/src/methodjit/MethodJIT.cpp
-+++ b/js/src/methodjit/MethodJIT.cpp
-@@ -120,20 +120,20 @@ static uint32 StubCallsForOp[STUB_CALLS_FOR_OP_COUNT];
- 
- extern "C" void JaegerTrampolineReturn();
- 
--extern "C" void JS_FASTCALL
-+extern "C" void JS_FASTCALL __attribute__((used))
- PushActiveVMFrame(VMFrame &f)
- {
-     f.entryfp->script()->compartment->jaegerCompartment->pushActiveFrame(&f);
-     f.regs.fp->setNativeReturnAddress(JS_FUNC_TO_DATA_PTR(void*, JaegerTrampolineReturn));
- }
- 
--extern "C" void JS_FASTCALL
-+extern "C" void JS_FASTCALL __attribute__((used))
- PopActiveVMFrame(VMFrame &f)
- {
-     f.entryfp->script()->compartment->jaegerCompartment->popActiveFrame();
- }
- 
--extern "C" void JS_FASTCALL
-+extern "C" void JS_FASTCALL __attribute__((used))
- SetVMFrameRegs(VMFrame &f)
- {
-     f.cx->setCurrentRegs(&f.regs);
--- 
-2.22.0
-

diff --git a/dev-lang/spidermonkey/files/spidermonkey-perl-defined-array-check.patch b/dev-lang/spidermonkey/files/spidermonkey-perl-defined-array-check.patch
deleted file mode 100644
index c3996ae82bb3..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-perl-defined-array-check.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/js/src/config/milestone.pl	2013-02-11 17:33:22.000000000 -0500
-+++ b/js/src/config/milestone.pl	2015-07-15 10:44:31.676153600 -0400
-@@ -55,7 +55,7 @@
- #
- my $milestone = Moz::Milestone::getOfficialMilestone($MILESTONE_FILE);
- 
--if (defined(@TEMPLATE_FILE)) {
-+if (@TEMPLATE_FILE) {
-   my $TFILE;
- 
-   foreach $TFILE (@TEMPLATE_FILE) {

diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r10.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r10.ebuild
deleted file mode 100644
index 99ebd7b97664..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-1.8.5-r10.ebuild
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WANT_AUTOCONF="2.1"
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils
-
-MY_PN="js"
-TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))"
-MY_P="${MY_PN}-${PV}"
-TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz
-	https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-02.tar.xz
-	"
-
-LICENSE="NPL-1.1"
-SLOT="0/mozjs185"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 x86 ~x64-macos"
-IUSE="debug minimal static-libs test"
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}/${MY_P}"
-BUILDDIR="${S}/js/src"
-
-RDEPEND=">=dev-libs/nspr-4.7.0
-	sys-libs/readline:0=
-	x64-macos? ( dev-libs/jemalloc )"
-DEPEND="${RDEPEND}
-	${PYTHON_DEPS}
-	app-arch/zip
-	virtual/pkgconfig"
-
-PATCHES=(
-	"${WORKDIR}"/sm0/${P}-fix-install-symlinks.patch
-	"${WORKDIR}"/sm0/${P}-fix-ppc64.patch
-	"${WORKDIR}"/sm0/${P}-arm_respect_cflags-3.patch
-	"${WORKDIR}"/sm0/${PN}-1.8.7-freebsd-pthreads.patch
-	"${WORKDIR}"/sm0/${P}-perf_event-check.patch
-	"${WORKDIR}"/sm0/${P}-symbol-versions.patch
-	"${WORKDIR}"/sm0/${P}-ia64-fix.patch
-	"${WORKDIR}"/sm0/${P}-ia64-static-strings.patch
-	"${WORKDIR}"/sm0/${P}-isfinite.patch
-	"${FILESDIR}"/${PN}-perl-defined-array-check.patch
-	"${WORKDIR}"/sm0/${PN}-1.8.7-x32.patch
-	"${WORKDIR}"/sm0/${P}-gcc6.patch
-	"${WORKDIR}"/sm0/${P}-drop-asm-volatile-toplevel.patch
-	"${FILESDIR}"/${P}-LTO.patch
-)
-
-DOCS=( "${S}"/README )
-HTML_DOCS=( "${BUILDDIR}"/README.html )
-
-pkg_setup() {
-	if [[ ${MERGE_TYPE} != "binary" ]]; then
-		export LC_ALL="C"
-	fi
-}
-
-src_prepare() {
-	pwd
-
-	default
-
-	cd "${BUILDDIR}" || die
-	eautoconf
-
-	# remove options that are not correct from js-config
-	sed '/lib-filenames/d' -i "${BUILDDIR}"/js-config.in || die "failed to remove invalid option from js-config"
-}
-
-src_configure() {
-	cd "${BUILDDIR}" || die
-
-	CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
-	AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
-	LD="$(tc-getLD)" \
-	ac_cv_lib_dnet_dnet_ntoa=no \
-	ac_cv_lib_dnet_stub_dnet_ntoa=no \
-	econf \
-		${myopts} \
-		--enable-jemalloc \
-		--enable-readline \
-		--enable-threadsafe \
-		--with-system-nspr \
-		--disable-optimize \
-		--disable-profile-guided-optimization \
-		$(use_enable debug) \
-		$(use_enable static-libs static) \
-		$(use_enable test tests)
-}
-
-cross_make() {
-	emake \
-		CFLAGS="${BUILD_CFLAGS}" \
-		CXXFLAGS="${BUILD_CXXFLAGS}" \
-		AR="${BUILD_AR}" \
-		CC="${BUILD_CC}" \
-		CXX="${BUILD_CXX}" \
-		RANLIB="${BUILD_RANLIB}" \
-		"$@"
-}
-src_compile() {
-	cd "${BUILDDIR}" || die
-	if tc-is-cross-compiler; then
-		tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
-		cross_make jscpucfg host_jsoplengen host_jskwgen
-		cross_make -C config nsinstall
-		mv {,native-}jscpucfg || die
-		mv {,native-}host_jskwgen || die
-		mv {,native-}host_jsoplengen || die
-		mv config/{,native-}nsinstall || die
-		sed -i \
-			-e 's@./jscpucfg@./native-jscpucfg@' \
-			-e 's@./host_jskwgen@./native-host_jskwgen@' \
-			-e 's@./host_jsoplengen@./native-host_jsoplengen@' \
-			Makefile || die
-		sed -i -e 's@/nsinstall@/native-nsinstall@' 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}/jsapi-tests" || die
-	# for bug 415791
-	pax-mark mr jsapi-tests
-	emake check
-}
-
-src_install() {
-	cd "${BUILDDIR}" || die
-	emake DESTDIR="${D}" install
-	# bug 437520 , exclude js shell for small systems
-	if ! use minimal ; then
-		dobin shell/js
-		pax-mark m "${ED}/usr/bin/js"
-	fi
-	einstalldocs
-
-	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
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-05-16 13:58 Joonas Niilola
  0 siblings, 0 replies; 21+ messages in thread
From: Joonas Niilola @ 2022-05-16 13:58 UTC (permalink / raw
  To: gentoo-commits

commit:     298070837cbc32286e8e4f3c933fe9f3d0bfb442
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Mon May 16 13:58:05 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon May 16 13:58:33 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29807083

dev-lang/spidermonkey: add 91.9.0

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 dev-lang/spidermonkey/Manifest                     |   1 +
 .../files/spidermonkey-91-known-test-failures.txt  |   3 +
 dev-lang/spidermonkey/spidermonkey-91.9.0.ebuild   | 452 +++++++++++++++++++++
 3 files changed, 456 insertions(+)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 370dc3f59737..c7fc12af3329 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -3,6 +3,7 @@ DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b31317
 DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
 DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a
 DIST firefox-91.8.0esr.source.tar.xz 380325092 BLAKE2B 9bc470d0e8c65517d67f4075be2aece6e82af7dc89c40018359d3dd53d45d67424db8ed4614dd3dde430e08ec6ffff29f4ecc81e1990e05abd05804c6a2b5891 SHA512 edea2c7d4d3d0322091b20b623019ef041090d9f89f33c8e3140f66a54624261f278257393db70d2038154de8ee02da0bee6ecf85c281f3558338da71fc173c3
+DIST firefox-91.9.0esr.source.tar.xz 384516460 BLAKE2B 5b265ff907ff520edadb1211ceb9201419349555bc4ab9acbf1d50ce9f0a9bbd26b830f58aec899d882c25f8036bf4ea1df39c7ad144d0305c69826816eec48a SHA512 fd69d489429052013d2c1b8b766a47920ecee62f0688505758f593b27ae66d6343b9107163749406251aedebdf836147e4d562415a811b04d7ab2ae31e32f133
 DIST firefox-91esr-patches-05j.tar.xz 17116 BLAKE2B 5db6d2d3d5432369d2cfcda1a2b542d70ac18c1af7013d91984054c9658d7e3f989527c3a248de53f2e8dc51a852a46477f9ad75e98db28f50f8609fcafe547c SHA512 42080a8e28014d5f8de7ff45e0128ab71747faad7a92f0f7094686125835c168751794bd0229f77290f075502c271af0171ffae2863325d10cc6e8a853a90d3e
 DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
 DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0

diff --git a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
index 17e2631e25d2..02bf6c93fc9a 100644
--- a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
+++ b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
@@ -8,12 +8,15 @@ non262/Intl/Date/toLocaleDateString_timeZone.js
 non262/Intl/Date/toLocaleString_timeZone.js
 non262/Intl/Date/toLocaleTimeString_timeZone.js
 non262/Intl/DateTimeFormat/day-period-hour-cycle.js
+non262/Intl/DateTimeFormat/extended-time-zone-names.js
 non262/Intl/DateTimeFormat/format.js
 non262/Intl/DateTimeFormat/format_timeZone.js
 non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
+non262/Intl/DateTimeFormat/implied-script-has-consistent-output.js
 non262/Intl/DateTimeFormat/japanese-gannen-year.js
 non262/Intl/DateTimeFormat/related-year.js
 non262/Intl/DateTimeFormat/timeZone_backward_links.js
+non262/Intl/DateTimeFormat/timeZone_version.js
 non262/Intl/DateTimeFormat/tz-environment-variable.js
 non262/Intl/DisplayNames/language.js
 non262/Intl/DisplayNames/region.js

diff --git a/dev-lang/spidermonkey/spidermonkey-91.9.0.ebuild b/dev-lang/spidermonkey/spidermonkey-91.9.0.ebuild
new file mode 100644
index 000000000000..34796b03a61b
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-91.9.0.ebuild
@@ -0,0 +1,452 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-91esr-patches-05j.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-91-patches-04j.tar.xz"
+
+LLVM_MAX_SLOT=14
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="ssl,xml(+)"
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+	MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+	# Convert the ebuild version to the upstream Mozilla version
+	MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+	MOZ_PV="${MOZ_PV/_beta/b}"  # Handle beta for SRC_URI
+	MOZ_PV="${MOZ_PV%%_rc*}"    # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+	# ESR releases have slightly different version numbers
+	MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+	MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+	https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+	https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+	${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
+
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86"
+
+SLOT="91"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+	>=virtual/rust-1.51.0
+	virtual/pkgconfig
+	test? (
+		$(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+	)
+	|| (
+		(
+			sys-devel/llvm:14
+			clang? (
+				sys-devel/clang:14
+				lto? ( =sys-devel/lld-14* )
+			)
+		)
+		(
+			sys-devel/llvm:13
+			clang? (
+				sys-devel/clang:13
+				lto? ( =sys-devel/lld-13* )
+			)
+		)
+		(
+			sys-devel/llvm:12
+			clang? (
+				sys-devel/clang:12
+				lto? ( =sys-devel/lld-12* )
+			)
+		)
+	)"
+DEPEND=">=dev-libs/icu-69.1:=
+	dev-libs/nspr
+	sys-libs/readline:0=
+	sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+	if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+		einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+		return 1
+	fi
+
+	if use clang ; then
+		if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+			einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+			return 1
+		fi
+
+		if use lto ; then
+			if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+				einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+				return 1
+			fi
+		fi
+	fi
+
+	einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+	if use test ; then
+		has_version "dev-python/six[${PYTHON_USEDEP}]"
+	fi
+}
+
+pkg_pretend() {
+	if use test ; then
+		CHECKREQS_DISK_BUILD="7600M"
+	else
+		CHECKREQS_DISK_BUILD="6400M"
+	fi
+
+	check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+	if [[ ${MERGE_TYPE} != binary ]] ; then
+		if use test ; then
+			CHECKREQS_DISK_BUILD="7600M"
+		else
+			CHECKREQS_DISK_BUILD="6400M"
+		fi
+
+		check-reqs_pkg_setup
+
+		llvm_pkg_setup
+
+		if use clang && use lto ; then
+			local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+			[[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+			[[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+			local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+			[[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+			[[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+			if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+				eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+				eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+				eerror "  - Manually switch rust version using 'eselect rust' to match used LLVM version"
+				eerror "  - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+				eerror "  - Build ${CATEGORY}/${PN} without USE=lto"
+				eerror "  - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+				eerror "    llvm/clang/lld/rust chain depending on your @world updates)"
+				die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+			fi
+		fi
+
+		python-any-r1_pkg_setup
+
+		# Build system is using /proc/self/oom_score_adj, bug #604394
+		addpredict /proc/self/oom_score_adj
+
+		if ! mountpoint -q /dev/shm ; then
+			# If /dev/shm is not available, configure is known to fail with
+			# a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+			ewarn "/dev/shm is not mounted -- expect build failures!"
+		fi
+
+		# Ensure we use C locale when building, bug #746215
+		export LC_ALL=C
+	fi
+}
+
+src_prepare() {
+	pushd ../.. &>/dev/null || die
+
+	use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+	eapply "${WORKDIR}"/firefox-patches
+	eapply "${WORKDIR}"/spidermonkey-patches
+
+	default
+
+	# Make cargo respect MAKEOPTS
+	export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+	# sed-in toolchain prefix
+	sed -i \
+		-e "s/objdump/${CHOST}-objdump/" \
+		python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+		|| die "sed failed to set toolchain prefix"
+
+	# use prefix shell in wrapper linker scripts, bug #789660
+	hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+	einfo "Removing pre-built binaries ..."
+	find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+	MOZJS_BUILDDIR="${WORKDIR}/build"
+	mkdir "${MOZJS_BUILDDIR}" || die
+
+	popd &>/dev/null || die
+	eautoconf
+}
+
+src_configure() {
+	# Show flags set at the beginning
+	einfo "Current CFLAGS:    ${CFLAGS}"
+	einfo "Current CXXFLAGS:  ${CXXFLAGS}"
+	einfo "Current LDFLAGS:   ${LDFLAGS}"
+	einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+	local have_switched_compiler=
+	if use clang && ! tc-is-clang ; then
+		# Force clang
+		einfo "Enforcing the use of clang due to USE=clang ..."
+		have_switched_compiler=yes
+		AR=llvm-ar
+		CC=${CHOST}-clang
+		CXX=${CHOST}-clang++
+		NM=llvm-nm
+		RANLIB=llvm-ranlib
+	elif ! use clang && ! tc-is-gcc ; then
+		# Force gcc
+		have_switched_compiler=yes
+		einfo "Enforcing the use of gcc due to USE=-clang ..."
+		AR=gcc-ar
+		CC=${CHOST}-gcc
+		CXX=${CHOST}-g++
+		NM=gcc-nm
+		RANLIB=gcc-ranlib
+	fi
+
+	if [[ -n "${have_switched_compiler}" ]] ; then
+		# Because we switched active compiler we have to ensure
+		# that no unsupported flags are set
+		strip-unsupported-flags
+	fi
+
+	# Ensure we use correct toolchain
+	export HOST_CC="$(tc-getBUILD_CC)"
+	export HOST_CXX="$(tc-getBUILD_CXX)"
+	tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+	cd "${MOZJS_BUILDDIR}" || die
+
+	# ../python/mach/mach/mixin/process.py fails to detect SHELL
+	export SHELL="${EPREFIX}/bin/bash"
+
+	local -a myeconfargs=(
+		--host="${CBUILD:-${CHOST}}"
+		--target="${CHOST}"
+		--disable-ctype
+		--disable-jemalloc
+		--disable-optimize
+		--disable-smoosh
+		--disable-strip
+		--enable-readline
+		--enable-release
+		--enable-shared-js
+		--with-intl-api
+		--with-system-icu
+		--with-system-nspr
+		--with-system-zlib
+		--with-toolchain-prefix="${CHOST}-"
+		$(use_enable debug)
+		$(use_enable jit)
+		$(use_enable test tests)
+	)
+
+	if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+		myeconfargs+=( --enable-rust-simd )
+	fi
+
+	# Modifications to better support ARM, bug 717344
+	if use cpu_flags_arm_neon ; then
+		myeconfargs+=( --with-fpu=neon )
+
+		if ! tc-is-clang ; then
+			# thumb options aren't supported when using clang, bug 666966
+			myeconfargs+=( --with-thumb=yes )
+			myeconfargs+=( --with-thumb-interwork=no )
+		fi
+	fi
+
+	# Tell build system that we want to use LTO
+	if use lto ; then
+		if use clang ; then
+			myeconfargs+=( --enable-linker=lld )
+			myeconfargs+=( --enable-lto=cross )
+		else
+			myeconfargs+=( --enable-linker=bfd )
+			myeconfargs+=( --enable-lto )
+		fi
+	fi
+
+	# LTO flag was handled via configure
+	filter-flags '-flto*'
+
+	if tc-is-gcc ; then
+		if ver_test $(gcc-fullversion) -ge 10 ; then
+			einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+			append-cxxflags -fno-tree-loop-vectorize
+		fi
+	fi
+
+	export MACH_USE_SYSTEM_PYTHON=1
+	export PIP_NO_CACHE_DIR=off
+
+	# Show flags we will use
+	einfo "Build CFLAGS:    ${CFLAGS}"
+	einfo "Build CXXFLAGS:  ${CXXFLAGS}"
+	einfo "Build LDFLAGS:   ${LDFLAGS}"
+	einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+	# Forcing system-icu allows us to skip patching bundled ICU for PPC
+	# and other minor arches
+	ECONF_SOURCE="${S}" \
+		econf \
+		${myeconfargs[@]} \
+		XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+	cd "${MOZJS_BUILDDIR}" || die
+	default
+}
+
+src_test() {
+	if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+		einfo "Smoke-test successful, continuing with full test suite"
+	else
+		die "Smoke-test failed: did interpreter initialization fail?"
+	fi
+
+	cp "${FILESDIR}"/spidermonkey-91-known-test-failures.txt "${T}"/known_failures.list || die
+
+	# bgo #827960
+	if use ppc; then
+		echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/load/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/load/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/add/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/add/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/exchange/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/store/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/store/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/xor/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/sub/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/and/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/or/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/negative-timeout-agent.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/value-not-equal.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/nan-for-timeout.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/compareExchange/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/and/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/or/bigint/good-views.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Atomics/notify/bigint/notify-all-on-loc.js" >> "${T}"/known_failures.list
+	fi
+
+	if use x86 ; then
+		echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Number/prototype/toPrecision/return-values.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
+	fi
+
+	if [[ $(tc-endian) == "big" ]] ; then
+		echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
+	fi
+
+	${EPYTHON} \
+		"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+		--exclude-file="${T}"/known_failures.list \
+		"${MOZJS_BUILDDIR}"/js/src/js \
+		|| die
+
+	if use jit ; then
+		${EPYTHON} \
+			"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+			--exclude-file="${T}"/known_failures.list \
+			"${MOZJS_BUILDDIR}"/js/src/js basic \
+			|| die
+	fi
+}
+
+src_install() {
+	cd "${MOZJS_BUILDDIR}" || die
+	default
+
+	# fix soname links
+	pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+	mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+	ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+	ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+	popd &>/dev/null || die
+
+	# remove unneeded files
+	rm \
+		"${ED}"/usr/bin/js${MY_MAJOR}-config \
+		"${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+		|| die
+
+	# fix permissions
+	chmod -x \
+		"${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+		"${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+		|| die
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-03-12 18:03 Matt Turner
  0 siblings, 0 replies; 21+ messages in thread
From: Matt Turner @ 2022-03-12 18:03 UTC (permalink / raw
  To: gentoo-commits

commit:     4498cc3da609bfc5accc174dff87bcd04cedf2e3
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 12 17:59:53 2022 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sat Mar 12 18:03:50 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4498cc3d

dev-lang/spidermonkey: Drop :52

The last reverse dependency was gnome-extra/cjs-4.6.0, dropped in
308478c39b1 ("gnome-extra/cjs: drop old") in June 2021.

Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 dev-lang/spidermonkey/Manifest                     |   2 -
 .../files/moz38-dont-hardcode-libc-soname.patch    |  15 --
 .../spidermonkey-52.0-fix-alpha-bitness.patch      |  32 -----
 .../files/spidermonkey-52.0-gcc9-overflow.patch    |  24 ----
 .../spidermonkey-52.9.1_pre1-r4.ebuild             | 158 ---------------------
 5 files changed, 231 deletions(-)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index d173cfdbc1ff..623697e0e8f4 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -5,9 +5,7 @@ DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a
 DIST firefox-91.7.0esr.source.tar.xz 383133596 BLAKE2B 374da61d89d4b7b24d01e8101926056d6819e7c34c80630694cd2d95193dd6662ccfe3195361e7cd5a4167098e74bb7018d02d5af715fdcf95228bf8f54cb1c2 SHA512 925811989d8a91d826ba356bd46ac54be8153288ec0319c28d2bfbe89191e62e107691159dd7ca247253e2a4952eb59a5b9613e3feea3f5351238d4822e26301
 DIST firefox-91esr-patches-05j.tar.xz 17116 BLAKE2B 5db6d2d3d5432369d2cfcda1a2b542d70ac18c1af7013d91984054c9658d7e3f989527c3a248de53f2e8dc51a852a46477f9ad75e98db28f50f8609fcafe547c SHA512 42080a8e28014d5f8de7ff45e0128ab71747faad7a92f0f7094686125835c168751794bd0229f77290f075502c271af0171ffae2863325d10cc6e8a853a90d3e
 DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
-DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f
 DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
-DIST spidermonkey-52.0-patches-1.tar.xz 3112 BLAKE2B d8f4c44cb2ae290fa51efc4725a2c1b3cd85dd9f04f4ccfa5681ba6df5f37f5d8d4ad6859316a70d0f7647ac2cee014d126f88b7d4ca74a82796f35b141200ef SHA512 5328403e3b9ecd1c456037e7cca374c2453d9331752c48b9466e498e22fd8d4ca6e1804e51140ee0be027fcef7d0c3f26822b1f569305a3b2f03209b7fb15499
 DIST spidermonkey-60.0-patches-04.tar.xz 4428 BLAKE2B af78049cd9b3ee6a9b689e6253486c4670fd3b506faade7d745dafaa7af329c0bd15cd35e95528a4c96688230f4803130967fb09b97aae2bda0ce0f73acaaf3e SHA512 fb1326a81512146ba98773d4f7e0c4bc1bff0f076897c13f576fcf63b56f6965efeff633eea9160bca9f9bc4546505901084eabc33bc955de0b7ab3d6334387a
 DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d5926b710c06b0e9de1ff03b130a57fdac30f2deefbee3fa92250b37e28087572fe5cce73eb112ef4e1fb0c0401d6ecdb22ab9868998 SHA512 94575b11b4f006c6ee0c8d64b315734a173cecb68e9128ca61ba1a28177e3c149b8cf1f3b3c47a7a263fad8da6196fc0101df87392f016686a827e0cd24fdc74
 DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2

diff --git a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
deleted file mode 100644
index 708c7496975f..000000000000
--- a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py	2018-01-12 12:21:16.764318254 -0500
-+++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py	2018-01-12 12:22:23.392069398 -0500
-@@ -93,10 +93,11 @@
- 
- if info['os'] == 'linux':
-     import ctypes
-+    import ctypes.util
-     import errno
-     PR_SET_SECCOMP = 22
-     SECCOMP_MODE_FILTER = 2
--    ctypes.CDLL("libc.so.6", use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
-+    ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
-     info['has_sandbox'] = ctypes.get_errno() == errno.EFAULT
- else:
-     info['has_sandbox'] = True

diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch
deleted file mode 100644
index b0f872964388..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-
-# HG changeset patch
-# User John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
-# Date 1482966103 -3600
-# Node ID 1f4d99d8dff27bcc25eff21dc6a16dae63f48595
-# Parent  ce9e9f0dc752896ac7ba00bb0610b3f731e948b0
-Bug 1326496 - mozbuild: Fix bitness from 32 to 64 bits on alpha. r=glandium
-
-
-diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
---- a/python/mozbuild/mozbuild/configure/constants.py
-+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -35,17 +35,17 @@ Kernel = EnumString.subclass(
-     'Linux',
-     'NetBSD',
-     'OpenBSD',
-     'WINNT',
- )
- 
- CPU_bitness = {
-     'aarch64': 64,
--    'Alpha': 32,
-+    'Alpha': 64,
-     'arm': 32,
-     'hppa': 32,
-     'ia64': 64,
-     'mips32': 32,
-     'mips64': 64,
-     'ppc': 32,
-     'ppc64': 64,
-     's390': 32,
-

diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
deleted file mode 100644
index c7eb0f62b280..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 311fc467219ab6ee9eed60759b58a8066c4bf36d Mon Sep 17 00:00:00 2001
-From: 
-Date: Thu, 25 Jul 2019 10:00:33 -0500
-Subject: [PATCH] gcc-9 overflow fix
-
----
- js/src/jsapi-tests/testPrintf.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/js/src/jsapi-tests/testPrintf.cpp b/js/src/jsapi-tests/testPrintf.cpp
-index 51486856..03cc118d 100644
---- a/js/src/jsapi-tests/testPrintf.cpp
-+++ b/js/src/jsapi-tests/testPrintf.cpp
-@@ -55,7 +55,6 @@ BEGIN_TEST(testPrintf)
-     CHECK(print_one("27270", "%zu", (size_t) 27270));
-     CHECK(print_one("27270", "%" PRIuSIZE, (size_t) 27270));
-     CHECK(print_one("hello", "he%so", "ll"));
--    CHECK(print_one("(null)", "%s", zero()));
-     CHECK(print_one("0", "%p", (char *) 0));
-     CHECK(print_one("h", "%c", 'h'));
-     CHECK(print_one("1.500000", "%f", 1.5f));
--- 
-2.22.0
-

diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild
deleted file mode 100644
index 0c0d352f3bd5..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WANT_AUTOCONF="2.1"
-inherit autotools toolchain-funcs pax-utils mozcoreconf-v5
-
-MY_PN="mozjs"
-MY_P="${MY_PN}-${PV/_rc/.rc}"
-MY_P="${MY_P/_pre/pre}"
-DESCRIPTION="Stand-alone JavaScript C++ library"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-#SRC_URI="https://people.mozilla.org/~sfink/${MY_P}.tar.bz2"
-SRC_URI="http://ftp.mozilla.org/pub/spidermonkey/prereleases/52/pre1/mozjs-52.9.1pre1.tar.bz2 -> ${MY_P}.tar.bz2
-	https://dev.gentoo.org/~whissi/dist/mozilla/${PN}-52.0-patches-1.tar.xz"
-
-LICENSE="NPL-1.1"
-SLOT="52"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 x86"
-IUSE="debug minimal +system-icu test"
-
-# Disable tests:
-# Version is dead and most issues are related to the use of
-# system's ICU.
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_P%.rc*}"
-BUILDDIR="${S}/jsobj"
-
-RDEPEND=">=dev-libs/nspr-4.13.1
-	dev-libs/libffi:=
-	sys-libs/readline:0=
-	>=sys-libs/zlib-1.2.3
-	system-icu? ( >=dev-libs/icu-58.1:= )"
-DEPEND="${RDEPEND}"
-
-pkg_setup() {
-	[[ ${MERGE_TYPE} == "binary" ]] || \
-		moz_pkgsetup
-
-	export SHELL="${EPREFIX}/bin/bash"
-}
-
-src_prepare() {
-	# remove patches integrated by upstream
-	rm -f	"${WORKDIR}"/${PN}/0002-build-Add-major-version-to-make-parallel-installable.patch \
-		"${WORKDIR}"/${PN}/0005-headers-Fix-symbols-visibility.patch \
-		"${WORKDIR}"/${PN}/0007-build-Remove-unnecessary-NSPR-dependency.patch \
-		"${WORKDIR}"/${PN}/0008-tests-Skip-on-all-64-bit-archs.patch \
-		|| die
-
-	eapply "${WORKDIR}/${PN}"
-	eapply "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
-	eapply "${FILESDIR}"/${PN}-52.0-fix-alpha-bitness.patch
-	eapply "${FILESDIR}"/${PN}-52.0-gcc9-overflow.patch
-
-	eapply_user
-
-	cd "${S}"/js/src || die
-	eautoconf old-configure.in
-	eautoconf
-
-	# remove options that are not correct from js-config
-	sed '/lib-filenames/d' -i "${S}"/js/src/js-config.in || die "failed to remove invalid option from js-config"
-
-	# there is a default config.cache that messes everything up
-	rm -f "${S}"/js/src/config.cache || die
-
-	mkdir -p "${BUILDDIR}" || die
-}
-
-src_configure() {
-	cd "${BUILDDIR}" || die
-
-	tc-export AR RANLIB
-
-	ECONF_SOURCE="${S}/js/src" \
-	econf \
-		--enable-jemalloc \
-		--enable-readline \
-		--with-system-nspr \
-		--disable-optimize \
-		--with-intl-api \
-		--with-toolchain-prefix="${CHOST}-" \
-		--disable-gold \
-		$(use_with system-icu) \
-		$(use_enable debug) \
-		$(use_enable test tests) \
-		XARGS="/usr/bin/xargs" \
-		SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
-		CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}"
-}
-
-cross_make() {
-	emake \
-		CFLAGS="${BUILD_CFLAGS}" \
-		CXXFLAGS="${BUILD_CXXFLAGS}" \
-		AR="${BUILD_AR}" \
-		CC="${BUILD_CC}" \
-		CXX="${BUILD_CXX}" \
-		RANLIB="${BUILD_RANLIB}" \
-		SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
-		"$@"
-}
-src_compile() {
-	cd "${BUILDDIR}" || die
-	if tc-is-cross-compiler; then
-		tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
-		cross_make \
-			MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
-			HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
-			MOZ_PGO_OPTIMIZE_FLAGS="" \
-			host_jsoplengen host_jskwgen
-		cross_make \
-			MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
-			-C config nsinstall
-		mv {,native-}host_jskwgen || die
-		mv {,native-}host_jsoplengen || die
-		mv config/{,native-}nsinstall || die
-		sed -i \
-			-e 's@./host_jskwgen@./native-host_jskwgen@' \
-			-e 's@./host_jsoplengen@./native-host_jsoplengen@' \
-			Makefile || die
-		sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
-		rm -f config/host_nsinstall.o \
-			config/host_pathsub.o \
-			host_jskwgen.o \
-			host_jsoplengen.o || die
-	fi
-
-	MOZ_MAKE_FLAGS="${MAKEOPTS}" \
-	SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
-	emake \
-		MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
-		HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
-		MOZ_PGO_OPTIMIZE_FLAGS=""
-}
-
-src_test() {
-	cd "${BUILDDIR}/js/src/jsapi-tests" || die
-	./jsapi-tests || die
-}
-
-src_install() {
-	cd "${BUILDDIR}" || die
-	SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
-	emake DESTDIR="${D}" install
-
-	if ! use minimal; then
-		pax-mark m "${ED}"usr/bin/js${SLOT}
-	else
-		rm -f "${ED}"usr/bin/js${SLOT}
-	fi
-
-	# 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' -o -iname '*.ajs' -delete || die
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-01-18 11:03 Joonas Niilola
  0 siblings, 0 replies; 21+ messages in thread
From: Joonas Niilola @ 2022-01-18 11:03 UTC (permalink / raw
  To: gentoo-commits

commit:     e895b1f82fc2d342fe51819199b21d5bd0e24657
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 18 11:01:34 2022 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Jan 18 11:03:11 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e895b1f8

dev-lang/spidermonkey: enable tests for 91.5.0

Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 .../files/spidermonkey-91-known-test-failures.txt  | 121 +++++++++++++++++++++
 dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild   |  59 +++-------
 2 files changed, 136 insertions(+), 44 deletions(-)

diff --git a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
new file mode 100644
index 000000000000..17e2631e25d2
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
@@ -0,0 +1,121 @@
+non262/Date/reset-time-zone-cache-same-offset.js
+non262/Date/time-zone-path.js
+non262/Date/time-zones-historic.js
+non262/Date/time-zones-imported.js
+non262/Date/toString-localized-posix.js
+non262/Date/toString-localized.js
+non262/Intl/Date/toLocaleDateString_timeZone.js
+non262/Intl/Date/toLocaleString_timeZone.js
+non262/Intl/Date/toLocaleTimeString_timeZone.js
+non262/Intl/DateTimeFormat/day-period-hour-cycle.js
+non262/Intl/DateTimeFormat/format.js
+non262/Intl/DateTimeFormat/format_timeZone.js
+non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
+non262/Intl/DateTimeFormat/japanese-gannen-year.js
+non262/Intl/DateTimeFormat/related-year.js
+non262/Intl/DateTimeFormat/timeZone_backward_links.js
+non262/Intl/DateTimeFormat/tz-environment-variable.js
+non262/Intl/DisplayNames/language.js
+non262/Intl/DisplayNames/region.js
+non262/Intl/Locale/likely-subtags-generated.js
+non262/Intl/Locale/likely-subtags.js
+non262/Intl/available-locales-resolved.js
+non262/Intl/available-locales-supported.js
+test262/built-ins/Date/UTC/fp-evaluation-order.js
+test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js
+test262/built-ins/RegExp/property-escapes/generated/Assigned.js
+test262/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js
+test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js
+test262/built-ins/RegExp/property-escapes/generated/Cased.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js
+test262/built-ins/RegExp/property-escapes/generated/Dash.js
+test262/built-ins/RegExp/property-escapes/generated/Default_Ignorable_Code_Point.js
+test262/built-ins/RegExp/property-escapes/generated/Diacritic.js
+test262/built-ins/RegExp/property-escapes/generated/Emoji.js
+test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js
+test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js
+test262/built-ins/RegExp/property-escapes/generated/Extender.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Close_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Currency_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js
+test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js
+test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js
+test262/built-ins/RegExp/property-escapes/generated/ID_Start.js
+test262/built-ins/RegExp/property-escapes/generated/Ideographic.js
+test262/built-ins/RegExp/property-escapes/generated/Lowercase.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Takri.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Telugu.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ahom.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagalog.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Takri.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Telugu.js
+test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js
+test262/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js
+test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js
+test262/built-ins/RegExp/property-escapes/generated/Uppercase.js
+test262/built-ins/RegExp/property-escapes/generated/Variation_Selector.js
+test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
+test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
+test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js

diff --git a/dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild b/dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild
index e0ca7789926b..3869fb05e1b6 100644
--- a/dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild
@@ -70,8 +70,8 @@ IUSE="clang cpu_flags_arm_neon debug +jit lto test"
 # 91.5.0, only lld seems to be supported with lto.
 REQUIRED_USE="lto? ( clang )"
 
-RESTRICT="test"
-# RESTRICT="!test? ( test )"
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
 
 BDEPEND="${PYTHON_DEPS}
 	virtual/rust
@@ -343,6 +343,9 @@ src_configure() {
 		fi
 	fi
 
+	export MACH_USE_SYSTEM_PYTHON=1
+	export PIP_NO_CACHE_DIR=off
+
 	# Show flags we will use
 	einfo "Build CFLAGS:    ${CFLAGS}"
 	einfo "Build CXXFLAGS:  ${CXXFLAGS}"
@@ -369,61 +372,29 @@ src_test() {
 		die "Smoke-test failed: did interpreter initialization fail?"
 	fi
 
-	local -a KNOWN_TESTFAILURES
-	KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
-	KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
-	KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
-	KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
-	KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
-	KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js )
-	KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js )
-	KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js )
+	cp "${FILESDIR}"/spidermonkey-91-known-test-failures.txt "${T}"/known_failures.list || die
 
 	if use x86 ; then
-		KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
-		KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
-		KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
-		KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
+		echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Number/prototype/toPrecision/return-values.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+		echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
 	fi
 
 	if [[ $(tc-endian) == "big" ]] ; then
-		KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
+		echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+		echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
 	fi
 
-	echo "" > "${T}"/known_failures.list || die
-
-	local KNOWN_TESTFAILURE
-	for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
-		echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
-	done
-
-	PYTHONPATH="${S}/tests/lib" \
-		${PYTHON} \
+	${EPYTHON} \
 		"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
 		--exclude-file="${T}"/known_failures.list \
 		"${MOZJS_BUILDDIR}"/js/src/js \
 		|| die
 
 	if use jit ; then
-		KNOWN_TESTFAILURES=()
-
-		echo "" > "${T}"/known_failures.list || die
-
-		for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
-			echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
-		done
-
-		PYTHONPATH="${S}/tests/lib" \
-			${PYTHON} \
+		${EPYTHON} \
 			"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
 			--exclude-file="${T}"/known_failures.list \
 			"${MOZJS_BUILDDIR}"/js/src/js basic \


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2019-07-25 15:37 Jory Pratt
  0 siblings, 0 replies; 21+ messages in thread
From: Jory Pratt @ 2019-07-25 15:37 UTC (permalink / raw
  To: gentoo-commits

commit:     052b5e1831a36b339014e9c997122d2ee9548b83
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 25 15:33:11 2019 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Thu Jul 25 15:37:12 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=052b5e18

dev-lang/spidermonkey: add ia64 support to :60

Closes: https://bugs.gentoo.org/690342

Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 .../files/spidermonkey-60.5.2-ia64-support.patch   | 44 ++++++++++++++++++++++
 .../spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild  |  1 +
 2 files changed, 45 insertions(+)

diff --git a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
new file mode 100644
index 00000000000..90c8a4c9da3
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
@@ -0,0 +1,44 @@
+From 35d787c782a075c0a01e29605d254950fd1e81a6 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Thu, 25 Jul 2019 10:17:39 -0500
+Subject: [PATCH] Add support for ia64 atomic-ops
+
+Signed-off-by: Jory Pratt <anarchy@gentoo.org>
+---
+ js/src/jit/AtomicOperations.h                    | 2 ++
+ js/src/jit/none/AtomicOperations-feeling-lucky.h | 6 ++++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
+index 3501e65b..44c3f358 100644
+--- a/js/src/jit/AtomicOperations.h
++++ b/js/src/jit/AtomicOperations.h
+@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) {
+ #include "jit/none/AtomicOperations-feeling-lucky.h"
+ #elif defined(__s390__) || defined(__s390x__)
+ #include "jit/none/AtomicOperations-feeling-lucky.h"
++#elif defined(__ia64__)
++#include "jit/none/AtomicOperations-feeling-lucky.h"
+ #else
+ #error "No AtomicOperations support provided for this platform"
+ #endif
+diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h
+index c0b43699..a3f4497e 100644
+--- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
++++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
+@@ -80,6 +80,12 @@
+ #define GNUC_COMPATIBLE
+ #endif
+ 
++#ifdef __ia64__
++#define HAS_64BIT_ATOMICS
++#define HAS_64BIT_LOCKFREE
++#define GNUC_COMPATIBLE
++#endif
++
+ // The default implementation tactic for gcc/clang is to use the newer
+ // __atomic intrinsics added for use in C++11 <atomic>.  Where that
+ // isn't available, we use GCC's older __sync functions instead.
+-- 
+2.22.0
+

diff --git a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
index 3bc29e90ad3..4baeb96c3fb 100644
--- a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
@@ -46,6 +46,7 @@ pkg_setup(){
 
 src_prepare() {
 	eapply "${WORKDIR}/${PN}"
+	eapply "${FILESDIR}/${PN}-60.5.2-ia64-support.patch"
 
 	eapply_user
 


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2019-07-25 15:37 Jory Pratt
  0 siblings, 0 replies; 21+ messages in thread
From: Jory Pratt @ 2019-07-25 15:37 UTC (permalink / raw
  To: gentoo-commits

commit:     e93d86a969ee2957a2805450c008599521689cf6
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 25 15:36:58 2019 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Thu Jul 25 15:37:12 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e93d86a9

dev-lang/spidermonkey: Fix gcc-9 support in :52

Closes: https://bugs.gentoo.org/688448
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 .../files/spidermonkey-52.0-gcc9-overflow.patch    | 24 ++++++++++++++++++++++
 .../spidermonkey/spidermonkey-52.9.1_pre1.ebuild   |  1 +
 2 files changed, 25 insertions(+)

diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
new file mode 100644
index 00000000000..c7eb0f62b28
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
@@ -0,0 +1,24 @@
+From 311fc467219ab6ee9eed60759b58a8066c4bf36d Mon Sep 17 00:00:00 2001
+From: 
+Date: Thu, 25 Jul 2019 10:00:33 -0500
+Subject: [PATCH] gcc-9 overflow fix
+
+---
+ js/src/jsapi-tests/testPrintf.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/js/src/jsapi-tests/testPrintf.cpp b/js/src/jsapi-tests/testPrintf.cpp
+index 51486856..03cc118d 100644
+--- a/js/src/jsapi-tests/testPrintf.cpp
++++ b/js/src/jsapi-tests/testPrintf.cpp
+@@ -55,7 +55,6 @@ BEGIN_TEST(testPrintf)
+     CHECK(print_one("27270", "%zu", (size_t) 27270));
+     CHECK(print_one("27270", "%" PRIuSIZE, (size_t) 27270));
+     CHECK(print_one("hello", "he%so", "ll"));
+-    CHECK(print_one("(null)", "%s", zero()));
+     CHECK(print_one("0", "%p", (char *) 0));
+     CHECK(print_one("h", "%c", 'h'));
+     CHECK(print_one("1.500000", "%f", 1.5f));
+-- 
+2.22.0
+

diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
index b00a1c665fe..cfa8e3966b9 100644
--- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
@@ -49,6 +49,7 @@ src_prepare() {
 	eapply "${WORKDIR}/${PN}"
 	eapply "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
 	eapply "${FILESDIR}"/${PN}-52.0-fix-alpha-bitness.patch
+	eapply "${FILESDIR}"/${PN}-52.0-gcc9-overflow.patch
 
 	eapply_user
 


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2019-06-18 12:19 Jory Pratt
  0 siblings, 0 replies; 21+ messages in thread
From: Jory Pratt @ 2019-06-18 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     e4ccde83a06c4e028a420347cb3e617b054b57d9
Author:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 18 12:19:10 2019 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Tue Jun 18 12:19:10 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4ccde83

dev-lang/spidermonkey: Fix LTO compilations

Thanks-to: Alexander Miller <alex.miller <AT> gmx.de>
Closes: https://bugs.gentoo.org/687812
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>

 .../files/spidermonkey-1.8.5-LTO.patch             |  58 ++++++++
 dev-lang/spidermonkey/spidermonkey-1.8.5-r8.ebuild | 148 +++++++++++++++++++++
 2 files changed, 206 insertions(+)

diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch
new file mode 100644
index 00000000000..7c36b5525b0
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch
@@ -0,0 +1,58 @@
+From 6ff7ad09daf98e5b804cf73c066c382a76e74e8c Mon Sep 17 00:00:00 2001
+From: Alexander Miller <alex.miller@gmx.de>
+Date: Wed, 12 Jun 2019 00:29:23 -0500
+Subject: [PATCH] Fix breakage with lto builds
+
+<artificial>:(.text+0x7a): undefined reference to `PopActiveVMFrame'
+collect2: error: ld returned 1 exit status
+
+Signed-off-by: Alexander Miller <alex.miller@gmx.de>
+---
+ js/src/methodjit/InvokeHelpers.cpp | 2 +-
+ js/src/methodjit/MethodJIT.cpp     | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/js/src/methodjit/InvokeHelpers.cpp b/js/src/methodjit/InvokeHelpers.cpp
+index d017c2a..abde396 100644
+--- a/js/src/methodjit/InvokeHelpers.cpp
++++ b/js/src/methodjit/InvokeHelpers.cpp
+@@ -500,7 +500,7 @@ stubs::PutActivationObjects(VMFrame &f)
+     js::PutActivationObjects(f.cx, f.fp());
+ }
+ 
+-extern "C" void *
++extern "C" void * __attribute__((used))
+ js_InternalThrow(VMFrame &f)
+ {
+     JSContext *cx = f.cx;
+diff --git a/js/src/methodjit/MethodJIT.cpp b/js/src/methodjit/MethodJIT.cpp
+index 4feefbc..66099e6 100644
+--- a/js/src/methodjit/MethodJIT.cpp
++++ b/js/src/methodjit/MethodJIT.cpp
+@@ -120,20 +120,20 @@ static uint32 StubCallsForOp[STUB_CALLS_FOR_OP_COUNT];
+ 
+ extern "C" void JaegerTrampolineReturn();
+ 
+-extern "C" void JS_FASTCALL
++extern "C" void JS_FASTCALL __attribute__((used))
+ PushActiveVMFrame(VMFrame &f)
+ {
+     f.entryfp->script()->compartment->jaegerCompartment->pushActiveFrame(&f);
+     f.regs.fp->setNativeReturnAddress(JS_FUNC_TO_DATA_PTR(void*, JaegerTrampolineReturn));
+ }
+ 
+-extern "C" void JS_FASTCALL
++extern "C" void JS_FASTCALL __attribute__((used))
+ PopActiveVMFrame(VMFrame &f)
+ {
+     f.entryfp->script()->compartment->jaegerCompartment->popActiveFrame();
+ }
+ 
+-extern "C" void JS_FASTCALL
++extern "C" void JS_FASTCALL __attribute__((used))
+ SetVMFrameRegs(VMFrame &f)
+ {
+     f.cx->setCurrentRegs(&f.regs);
+-- 
+2.22.0
+

diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r8.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r8.ebuild
new file mode 100644
index 00000000000..cb71d7631a5
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r8.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WANT_AUTOCONF="2.1"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils
+
+MY_PN="js"
+TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))"
+MY_P="${MY_PN}-${PV}"
+TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
+SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz
+	https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-02.tar.xz
+	"
+
+LICENSE="NPL-1.1"
+SLOT="0/mozjs185"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
+IUSE="debug minimal static-libs test"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.7.0
+	sys-libs/readline:0=
+	x64-macos? ( dev-libs/jemalloc )"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	app-arch/zip
+	virtual/pkgconfig"
+
+PATCHES=(
+	"${WORKDIR}"/sm0/${P}-fix-install-symlinks.patch
+	"${WORKDIR}"/sm0/${P}-fix-ppc64.patch
+	"${WORKDIR}"/sm0/${P}-arm_respect_cflags-3.patch
+	"${WORKDIR}"/sm0/${PN}-1.8.7-freebsd-pthreads.patch
+	"${WORKDIR}"/sm0/${P}-perf_event-check.patch
+	"${WORKDIR}"/sm0/${P}-symbol-versions.patch
+	"${WORKDIR}"/sm0/${P}-ia64-fix.patch
+	"${WORKDIR}"/sm0/${P}-ia64-static-strings.patch
+	"${WORKDIR}"/sm0/${P}-isfinite.patch
+	"${FILESDIR}"/${PN}-perl-defined-array-check.patch
+	"${WORKDIR}"/sm0/${PN}-1.8.7-x32.patch
+	"${WORKDIR}"/sm0/${P}-gcc6.patch
+	"${WORKDIR}"/sm0/${P}-drop-asm-volatile-toplevel.patch
+	"${FILESDIR}"/${P}-LTO.patch
+)
+
+DOCS=( ${S}/README )
+HTML_DOCS=( ${BUILDDIR}/README.html )
+
+pkg_setup(){
+	if [[ ${MERGE_TYPE} != "binary" ]]; then
+		export LC_ALL="C"
+	fi
+}
+
+src_prepare() {
+	pwd
+
+	default
+
+	cd "${BUILDDIR}" || die
+	eautoconf
+}
+
+src_configure() {
+	cd "${BUILDDIR}" || die
+
+	CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+	AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+	LD="$(tc-getLD)" \
+	ac_cv_lib_dnet_dnet_ntoa=no \
+	ac_cv_lib_dnet_stub_dnet_ntoa=no \
+	econf \
+		${myopts} \
+		--enable-jemalloc \
+		--enable-readline \
+		--enable-threadsafe \
+		--with-system-nspr \
+		--disable-optimize \
+		--disable-profile-guided-optimization \
+		$(use_enable debug) \
+		$(use_enable static-libs static) \
+		$(use_enable test tests)
+}
+
+cross_make() {
+	emake \
+		CFLAGS="${BUILD_CFLAGS}" \
+		CXXFLAGS="${BUILD_CXXFLAGS}" \
+		AR="${BUILD_AR}" \
+		CC="${BUILD_CC}" \
+		CXX="${BUILD_CXX}" \
+		RANLIB="${BUILD_RANLIB}" \
+		"$@"
+}
+src_compile() {
+	cd "${BUILDDIR}" || die
+	if tc-is-cross-compiler; then
+		tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
+		cross_make jscpucfg host_jsoplengen host_jskwgen
+		cross_make -C config nsinstall
+		mv {,native-}jscpucfg || die
+		mv {,native-}host_jskwgen || die
+		mv {,native-}host_jsoplengen || die
+		mv config/{,native-}nsinstall || die
+		sed -i \
+			-e 's@./jscpucfg@./native-jscpucfg@' \
+			-e 's@./host_jskwgen@./native-host_jskwgen@' \
+			-e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+			Makefile || die
+		sed -i -e 's@/nsinstall@/native-nsinstall@' 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}/jsapi-tests" || die
+	# for bug 415791
+	pax-mark mr jsapi-tests
+	emake check
+}
+
+src_install() {
+	cd "${BUILDDIR}" || die
+	emake DESTDIR="${D}" install
+	# bug 437520 , exclude js shell for small systems
+	if ! use minimal ; then
+		dobin shell/js
+		pax-mark m "${ED}/usr/bin/js"
+	fi
+	einstalldocs
+
+	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
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2018-01-13  1:48 Ian Stakenvicius
  0 siblings, 0 replies; 21+ messages in thread
From: Ian Stakenvicius @ 2018-01-13  1:48 UTC (permalink / raw
  To: gentoo-commits

commit:     52b51f73609113386a4fceb5310262e1e96932d0
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 13 01:47:27 2018 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Sat Jan 13 01:47:56 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52b51f73

dev-lang/spidermonkey:38 - don't hardcode libc soname

This patch attempts to fix issues linking to libc on platforms
whos libc is not libc.so.6 (ie, ia64 and others).

Bug: http://bugs.gentoo.org/631574
Package-Manager: Portage-2.3.13, Repoman-2.3.3

 .../files/moz38-dont-hardcode-libc-soname.patch           | 15 +++++++++++++++
 dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild      |  3 ++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
new file mode 100644
index 00000000000..708c7496975
--- /dev/null
+++ b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
@@ -0,0 +1,15 @@
+--- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py	2018-01-12 12:21:16.764318254 -0500
++++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py	2018-01-12 12:22:23.392069398 -0500
+@@ -93,10 +93,11 @@
+ 
+ if info['os'] == 'linux':
+     import ctypes
++    import ctypes.util
+     import errno
+     PR_SET_SECCOMP = 22
+     SECCOMP_MODE_FILTER = 2
+-    ctypes.CDLL("libc.so.6", use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
++    ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
+     info['has_sandbox'] = ctypes.get_errno() == errno.EFAULT
+ else:
+     info['has_sandbox'] = True

diff --git a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
index 476c5c40b78..6b3861a9c18 100644
--- a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
@@ -42,7 +42,8 @@ src_prepare() {
 		"${WORKDIR}"/sm38/mozjs38-fix-tracelogger.patch \
 		"${WORKDIR}"/sm38/mozjs38-copy-headers.patch \
 		"${WORKDIR}"/sm38/mozjs38-pkg-config-version.patch \
-		"${WORKDIR}"/sm38/mozilla_configure_regexp_esr38.patch
+		"${WORKDIR}"/sm38/mozilla_configure_regexp_esr38.patch \
+		"${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
 
 	eapply_user
 


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2017-10-03 20:51 Ian Stakenvicius
  0 siblings, 0 replies; 21+ messages in thread
From: Ian Stakenvicius @ 2017-10-03 20:51 UTC (permalink / raw
  To: gentoo-commits

commit:     eff1f89fa6cddd59b6b8b7f668ba9c629ad27ec1
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  3 20:50:53 2017 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Oct  3 20:51:22 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eff1f89f

dev-lang/spidermonkey: fix includedir install path on 52.4.0

Restored upstream config/baseconfig.mk to undo something that was
applied agaist firefox-52.4.0esr.

Closes: http://bugs.gentoo.org/630506

Package-Manager: Portage-2.3.8, Repoman-2.3.1

 .../files/spidermonkey-52-baseconfig.patch         | 22 ++++++++++++++++++++++
 .../spidermonkey-52.4.0_pre20171003-r1.ebuild      |  4 +---
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/dev-lang/spidermonkey/files/spidermonkey-52-baseconfig.patch b/dev-lang/spidermonkey/files/spidermonkey-52-baseconfig.patch
new file mode 100644
index 00000000000..ee52728fa95
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-52-baseconfig.patch
@@ -0,0 +1,22 @@
+Fix various paths to include MOZ_APP_VERSION
+
+This has been committed upstream but was not included in
+the 52.4.0 sources that spidermonkey was rolled from.
+
+--- a/config/baseconfig.mk	2017-10-03 14:00:45.000000000 -0400
++++ b/config/baseconfig.mk	2017-10-03 16:36:10.857663794 -0400
+@@ -2,10 +2,10 @@
+ # directly in python/mozbuild/mozbuild/base.py for gmake validation.
+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
+ # whether a normal build is happening or whether the check is running.
+-includedir := $(includedir)/$(MOZ_APP_NAME)
+-idldir = $(includedir)/idl/$(MOZ_APP_NAME)
+-installdir = $(libdir)/$(MOZ_APP_NAME)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)
++includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++idldir = $(includedir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+ ifeq (.,$(DEPTH))
+ DIST = dist
+ else

diff --git a/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild
index 35d95d63acc..7c80ac01c86 100644
--- a/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild
@@ -44,6 +44,7 @@ src_prepare() {
 		|| die
 
 	eapply "${WORKDIR}/${PN}"
+	eapply "${FILESDIR}"/${PN}-52-baseconfig.patch
 
 	eapply_user
 
@@ -130,9 +131,6 @@ src_install() {
 	cd "${BUILDDIR}" || die
 	emake DESTDIR="${D}" install
 
-	#work around bad header installation
-	mv "${ED}"usr/include/mozjs{,-52} || die
-
 	if ! use minimal; then
 		if use jit; then
 			pax-mark m "${ED}"usr/bin/js${SLOT}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2017-02-28 20:42 Ian Stakenvicius
  0 siblings, 0 replies; 21+ messages in thread
From: Ian Stakenvicius @ 2017-02-28 20:42 UTC (permalink / raw
  To: gentoo-commits

commit:     8fb65064d8753d73a0d03fb1ab53ff38bf86349b
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 28 19:48:25 2017 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Feb 28 20:41:58 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8fb65064

dev-lang/spidermonkey:45 - fix symlink installs via patch instead of sed

Found a patch to the build system which forces copies rather than symlinks
to all non-objfiles (meaning headers), to address the symlink installation
issue.  Also applied the sed patch for icu.m4 for esr45

Package-Manager: portage-2.3.3

 .../files/mozilla_configure_regexp_esr.patch       | 32 ++++++++++++++++++++++
 ...spidermonkey-45-dont-symlink-non-objfiles.patch | 21 ++++++++++++++
 dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild   | 10 ++-----
 3 files changed, 56 insertions(+), 7 deletions(-)

diff --git a/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr.patch b/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr.patch
new file mode 100644
index 00000000000..9e165ff9e88
--- /dev/null
+++ b/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr.patch
@@ -0,0 +1,32 @@
+From: Jory A. Pratt <anarchy@gentoo.org>
+
+Note: the first occurrence of :space: is [:space:] (with a single pair
+of []), where it should be [[:space:]] (with two pairs of []).
+
+This causes the sed command to fail (with the error message quoted in
+my original report), driving to failure the whole configure step.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1329252
+
+diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
+--- a/build/autoconf/icu.m4
++++ b/build/autoconf/icu.m4
+@@ -68,17 +68,17 @@ if test -n "$USE_ICU"; then
+     icudir="$_topsrcdir/intl/icu/source"
+     if test ! -d "$icudir"; then
+         icudir="$_topsrcdir/../../intl/icu/source"
+         if test ! -d "$icudir"; then
+             AC_MSG_ERROR([Cannot find the ICU directory])
+         fi
+     fi
+ 
+-    version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
++    version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
+     if test x"$version" = x; then
+        AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
+     fi
+     MOZ_ICU_VERSION="$version"
+ 
+     if test "$OS_TARGET" = WINNT; then
+         MOZ_SHARED_ICU=1
+     fi

diff --git a/dev-lang/spidermonkey/files/spidermonkey-45-dont-symlink-non-objfiles.patch b/dev-lang/spidermonkey/files/spidermonkey-45-dont-symlink-non-objfiles.patch
new file mode 100644
index 00000000000..061e8a572db
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-45-dont-symlink-non-objfiles.patch
@@ -0,0 +1,21 @@
+--- a/python/mozbuild/mozbuild/backend/recursivemake.py	2016-04-14 13:55:21.000000000 -0400
++++ b/python/mozbuild/mozbuild/backend/recursivemake.py	2017-02-28 14:43:09.431448016 -0500
+@@ -1301,17 +1301,17 @@
+ 
+         for path, files in files.walk():
+             target_var = (mozpath.join(target, path)
+                           if path else target).replace('/', '_')
+             have_objdir_files = False
+             for f in files:
+                 if not isinstance(f, ObjDirPath):
+                     dest = mozpath.join(reltarget, path, mozpath.basename(f))
+-                    install_manifest.add_symlink(f.full_path, dest)
++                    install_manifest.add_copy(f.full_path, dest)
+                 else:
+                     backend_file.write('%s_FILES += %s\n' % (
+                         target_var, self._pretty_path(f, backend_file)))
+                     have_objdir_files = True
+             if have_objdir_files:
+                 backend_file.write('%s_DEST := $(DEPTH)/%s\n'
+                                    % (target_var,
+                                       mozpath.join(target, path)))

diff --git a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild
index b697709ce00..addd5d92d01 100644
--- a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild
@@ -37,7 +37,9 @@ pkg_setup(){
 src_prepare() {
 	eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch \
 		"${FILESDIR}"/mozjs45-1266366.patch \
-		"${FILESDIR}"/mozjs38-pkg-config-version.patch
+		"${FILESDIR}"/mozjs38-pkg-config-version.patch \
+		"${FILESDIR}"/mozilla_configure_regexp_esr.patch \
+		"${FILESDIR}"/${PN}-${SLOT}-dont-symlink-non-objfiles.patch
 
 	# apply relevant (modified) patches from gentoo's firefox-45 patchset
 	eapply "${FILESDIR}"/ff45
@@ -71,12 +73,6 @@ src_configure() {
 		$(use_enable jit ion) \
 		$(use_enable static-libs static) \
 		$(use_enable test tests)
-
-	# An unfortunate hack to undo header install symlinking, but
-	# necessary until the function that generates this file can be
-	# determined and fixed
-	sed -i -e 's/^1/2/' \
-		"${BUILDDIR}"/_build_manifests/install/dist_include || die
 }
 
 cross_make() {


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2017-02-28 18:49 Ian Stakenvicius
  0 siblings, 0 replies; 21+ messages in thread
From: Ian Stakenvicius @ 2017-02-28 18:49 UTC (permalink / raw
  To: gentoo-commits

commit:     2f5896c74447204c4e28e1d54a057b8961a601e0
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 28 18:46:54 2017 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Feb 28 18:49:54 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f5896c7

dev-lang/spidermonkey: make sed use in icu.m4 compatible with sed-4.3

Bug: http://bugs.gentoo.org/611232
Bug: http://bugs.gentoo.org/604696

Package-Manager: portage-2.3.3

 .../files/mozilla_configure_regexp_esr38.patch     | 32 ++++++++++++++++++++++
 .../spidermonkey/spidermonkey-38.2.1_rc0.ebuild    |  3 +-
 2 files changed, 34 insertions(+), 1 deletion(-)

diff --git a/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr38.patch b/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr38.patch
new file mode 100644
index 0000000000..488b02f128
--- /dev/null
+++ b/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr38.patch
@@ -0,0 +1,32 @@
+From: Jory A. Pratt <anarchy@gentoo.org>
+
+Note: the first occurrence of :space: is [:space:] (with a single pair
+of []), where it should be [[:space:]] (with two pairs of []).
+
+This causes the sed command to fail (with the error message quoted in
+my original report), driving to failure the whole configure step.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1329252
+
+diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
+--- a/build/autoconf/icu.m4
++++ b/build/autoconf/icu.m4
+@@ -68,17 +68,17 @@
+     icudir="$_topsrcdir/intl/icu/source"
+     if test ! -d "$icudir"; then
+         icudir="$_topsrcdir/../../intl/icu/source"
+         if test ! -d "$icudir"; then
+             AC_MSG_ERROR([Cannot find the ICU directory])
+         fi
+     fi
+ 
+-    version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
++    version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
+     if test x"$version" = x; then
+        AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
+     fi
+     MOZ_ICU_VERSION="$version"
+ 
+     if test -z "${JS_STANDALONE}" -a -n "${JS_SHARED_LIBRARY}${MOZ_NATIVE_ICU}"; then
+         MOZ_SHARED_ICU=1
+     fi

diff --git a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
index ad154d68f8..f03e6d13be 100644
--- a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
@@ -41,7 +41,8 @@ src_prepare() {
 		"${FILESDIR}"/mozjs38-1269317.patch \
 		"${FILESDIR}"/mozjs38-fix-tracelogger.patch \
 		"${FILESDIR}"/mozjs38-copy-headers.patch \
-		"${FILESDIR}"/mozjs38-pkg-config-version.patch
+		"${FILESDIR}"/mozjs38-pkg-config-version.patch \
+		"${FILESDIR}"/mozilla_configure_regexp_esr38.patch
 
 	eapply_user
 


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2017-02-27 23:39 Ian Stakenvicius
  0 siblings, 0 replies; 21+ messages in thread
From: Ian Stakenvicius @ 2017-02-27 23:39 UTC (permalink / raw
  To: gentoo-commits

commit:     c6b9e11e5e556f1eb6a1446b9f789b97af743e19
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 27 22:35:15 2017 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Mon Feb 27 23:39:01 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6b9e11e

dev-lang/spidermonkey: add mozjs38 release for gnome-3.23

Package-Manager: portage-2.3.3

 dev-lang/spidermonkey/Manifest                     |   1 +
 dev-lang/spidermonkey/files/mozjs38-1269317.patch  | 124 +++++
 .../files/mozjs38-fix-tracelogger.patch            | 605 +++++++++++++++++++++
 .../files/spidermonkey-38-jsapi-tests.patch        |  16 +
 dev-lang/spidermonkey/metadata.xml                 |   4 +-
 .../spidermonkey/spidermonkey-38.2.1_rc0.ebuild    | 145 +++++
 6 files changed, 894 insertions(+), 1 deletion(-)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 45577ad653..d6a76976d6 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,4 +1,5 @@
 DIST js-1.7.0.tar.gz 1165607 SHA256 44363f0f3895800ee6010763eae90c0d15ed28e07d783bc7b3c607ce98d8668b SHA512 9d9fbd9c1dae969ca19ddb0f977ac56f3e0479ec393b859de252fcdd8b7fc325e80399073540884ed365ce56a3219be34c0db9300d5e50f32969660c90527e51 WHIRLPOOL 8044b306b3a1f0abed5ac8a6bf4f9ed70e1ebc6f83f44934a6306d9ed68cd73124f82e40430d764f158377031f5ee986595e58fdb52259ab6a3a8674eaf4eed1
 DIST js185-1.0.0.tar.gz 6164605 SHA256 5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687 SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 WHIRLPOOL 58b372713275874d3ae3c6b58c12c56bf8d17d024d591e321538bcdd8e615332e41655954368ce86b90e970209e3fd650c39d931000880f5ec22cb044b5d7a4e
 DIST mozjs-24.2.0.tar.bz2 15624530 SHA256 e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8 SHA512 49805e256f6fa797505c01b7596d5bb941ed7a2454862c52ed42ad48b5ae4540b777e77ed8da1b98c89f8622ed2c76052187983687008a4ff53594addb328df4 WHIRLPOOL ea74d19c79b1a0fe407e2803900c49c23e8b76444fb4e20995072c3c59427e8df1895df04f2f4de779a1c58cd1166dd97aeaf7564350832011efe89dbcf9583e
+DIST mozjs-38.2.1.rc0.tar.bz2 25012381 SHA256 01994c758174bc173bcf4960f05ecb4da21014f09641a63b2952bbf9eeaa8b5c SHA512 60262c7619cc418569aec81775a671105acbc5bf372273828868f2fbbbc4ea33f78380f7455710816bfcdae828fb4115a08234d599cb30d0db859fcba17f019d WHIRLPOOL b1661859dc41a61317a48a8ee34cab53a369f37067c6565db2c890c596411e51981e0e64f81c5f5bd2bc2ff943493d972b00a5984b99de6e07ce16c07f784cb7
 DIST mozjs17.0.0.tar.gz 6778934 SHA256 321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba SHA512 39b68aeb9f712f146778d8b68ee795709a1372c8ab893a222af4eb34882427d6f5cf877e743d6cb2f1b4348c194d8f3774f00cb775b03515b34b49560b748be4 WHIRLPOOL 4df7b51577787194065162b09d2c3dda849c13fa901305f9925d4ca5d38bb7f8e2daa943099e003fb9d11f9264ae2d77ccf04e5eea11e3ddcb624b504b99d52f

diff --git a/dev-lang/spidermonkey/files/mozjs38-1269317.patch b/dev-lang/spidermonkey/files/mozjs38-1269317.patch
new file mode 100644
index 0000000000..39cc6809af
--- /dev/null
+++ b/dev-lang/spidermonkey/files/mozjs38-1269317.patch
@@ -0,0 +1,124 @@
+from https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-1269317.patch
+
+--- a/js/src/jit/RegisterSets.h	2017-02-10 17:33:06.210702431 -0800
++++ b/js/src/jit/RegisterSets.h	2017-02-10 17:43:52.877514146 -0800
+@@ -7,7 +7,6 @@
+ #ifndef jit_RegisterSets_h
+ #define jit_RegisterSets_h
+ 
+-#include "mozilla/Alignment.h"
+ #include "mozilla/MathAlgorithms.h"
+ 
+ #include "jit/JitAllocPolicy.h"
+@@ -26,8 +25,8 @@
+     Code code_;
+ 
+   public:
+-    AnyRegister()
+-    { }
++    AnyRegister() = default;
++
+     explicit AnyRegister(Register gpr) {
+         code_ = gpr.code();
+     }
+@@ -156,7 +155,7 @@
+     }
+ #endif
+ 
+-    ValueOperand() {}
++    ValueOperand() = default;
+ };
+ 
+ // Registers to hold either either a typed or untyped value.
+@@ -165,46 +164,25 @@
+     // Type of value being stored.
+     MIRType type_;
+ 
+-    // Space to hold either an AnyRegister or a ValueOperand.
+     union U {
+-        mozilla::AlignedStorage2<AnyRegister> typed;
+-        mozilla::AlignedStorage2<ValueOperand> value;
++        AnyRegister typed;
++        ValueOperand value;
+     } data;
+ 
+-    AnyRegister& dataTyped() {
+-        MOZ_ASSERT(hasTyped());
+-        return *data.typed.addr();
+-    }
+-    ValueOperand& dataValue() {
+-        MOZ_ASSERT(hasValue());
+-        return *data.value.addr();
+-    }
+-
+-    AnyRegister dataTyped() const {
+-        MOZ_ASSERT(hasTyped());
+-        return *data.typed.addr();
+-    }
+-    const ValueOperand& dataValue() const {
+-        MOZ_ASSERT(hasValue());
+-        return *data.value.addr();
+-    }
+-
+   public:
+ 
+-    TypedOrValueRegister()
+-      : type_(MIRType_None)
+-    {}
++    TypedOrValueRegister() = default;
+ 
+     TypedOrValueRegister(MIRType type, AnyRegister reg)
+       : type_(type)
+     {
+-        dataTyped() = reg;
++        data.typed = reg;
+     }
+ 
+     MOZ_IMPLICIT TypedOrValueRegister(ValueOperand value)
+       : type_(MIRType_Value)
+     {
+-        dataValue() = value;
++        data.value = value;
+     }
+ 
+     MIRType type() const {
+@@ -220,11 +198,13 @@
+     }
+ 
+     AnyRegister typedReg() const {
+-        return dataTyped();
++        MOZ_ASSERT(hasTyped());
++        return data.typed;
+     }
+ 
+     ValueOperand valueReg() const {
+-        return dataValue();
++        MOZ_ASSERT(hasValue());
++        return data.value;
+     }
+ 
+     AnyRegister scratchReg() {
+@@ -240,19 +220,18 @@
+     // Whether a constant value is being stored.
+     bool constant_;
+ 
+-    // Space to hold either a Value or a TypedOrValueRegister.
+     union U {
+-        mozilla::AlignedStorage2<Value> constant;
+-        mozilla::AlignedStorage2<TypedOrValueRegister> reg;
++        Value constant;
++        TypedOrValueRegister reg;
+     } data;
+ 
+     Value& dataValue() {
+         MOZ_ASSERT(constant());
+-        return *data.constant.addr();
++        return data.constant;
+     }
+     TypedOrValueRegister& dataReg() {
+         MOZ_ASSERT(!constant());
+-        return *data.reg.addr();
++        return data.reg;
+     }
+ 
+   public:

diff --git a/dev-lang/spidermonkey/files/mozjs38-fix-tracelogger.patch b/dev-lang/spidermonkey/files/mozjs38-fix-tracelogger.patch
new file mode 100644
index 0000000000..2197f617a0
--- /dev/null
+++ b/dev-lang/spidermonkey/files/mozjs38-fix-tracelogger.patch
@@ -0,0 +1,605 @@
+from https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-fix-tracelogger.patch
+
+# === Fix the SM38 tracelogger ===
+# This patch is a squashed version of several patches that were adapted
+# to fix failing hunks.
+#
+# Applied in the following order, they are:
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223767
+#    Assertion failure: i < size_, at js/src/vm/TraceLoggingTypes.h:210 
+#    Also fix stop-information to make reduce.py work correctly.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227914
+#    Limit the memory tracelogger can take.
+#    This causes tracelogger to flush data to the disk regularly and prevents out of 
+#    memory issues if a lot of data gets logged.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1155618
+#    Fix tracelogger destructor that touches possibly uninitialised hash table.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223636
+#    Don't treat extraTextId as containing only extra ids.
+#    This fixes an assertion failure: id == nextTextId at js/src/vm/TraceLoggingGraph.cpp
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227028
+#    Fix when to keep the payload of a TraceLogger event.
+#    This fixes an assertion failure: textId < uint32_t(1 << 31) at js/src/vm/TraceLoggingGraph.h
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1266649
+#    Handle failing to add to pointermap gracefully.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1280648
+#    Don't cache based on pointers to movable GC things.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1224123
+#    Fix the use of LastEntryId in tracelogger.h.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1231170
+#    Use size in debugger instead of the current id to track last logged item.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1221844
+#    Move TraceLogger_Invalidation to LOG_ITEM.
+#    Add some debug checks to logTimestamp.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1255766
+#    Also mark resizing of memory.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1259403
+#    Only increase capacity by multiples of 2.
+#    Always make sure there are 3 free slots for events.
+# ===
+
+diff --git a/js/src/jit-test/tests/tracelogger/bug1231170.js b/js/src/jit-test/tests/tracelogger/bug1231170.js
+new file mode 100644
+index 0000000..023e93e
+--- /dev/null
++++ b/js/src/jit-test/tests/tracelogger/bug1231170.js
+@@ -0,0 +1,3 @@
++var du = new Debugger();
++if (typeof du.drainTraceLogger === "function")
++    du.drainTraceLogger();
+diff --git a/js/src/jit-test/tests/tracelogger/bug1266649.js b/js/src/jit-test/tests/tracelogger/bug1266649.js
+new file mode 100644
+index 0000000..81ae7ad
+--- /dev/null
++++ b/js/src/jit-test/tests/tracelogger/bug1266649.js
+@@ -0,0 +1,10 @@
++
++var du = new Debugger();
++if (typeof du.setupTraceLogger === "function" &&
++    typeof oomTest === 'function')
++{
++    du.setupTraceLogger({
++        Scripts: true
++    })
++    oomTest(() => function(){});
++}
+diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp
+index 93e2fda..09049d6 100644
+--- a/js/src/jit/Ion.cpp
++++ b/js/src/jit/Ion.cpp
+@@ -1055,6 +1055,8 @@ IonScript::Destroy(FreeOp* fop, IonScript* script)
+ 
+     script->destroyCaches();
+     script->unlinkFromRuntime(fop);
++    // Frees the potential event we have set.
++    script->traceLoggerScriptEvent_ = TraceLoggerEvent();
+     fop->free_(script);
+ }
+ 
+diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp
+index 26262fd..af7f313 100644
+--- a/js/src/vm/Debugger.cpp
++++ b/js/src/vm/Debugger.cpp
+@@ -369,10 +369,10 @@ Debugger::Debugger(JSContext* cx, NativeObject* dbg)
+     objects(cx),
+     environments(cx),
+ #ifdef NIGHTLY_BUILD
+-    traceLoggerLastDrainedId(0),
++    traceLoggerLastDrainedSize(0),
+     traceLoggerLastDrainedIteration(0),
+ #endif
+-    traceLoggerScriptedCallsLastDrainedId(0),
++    traceLoggerScriptedCallsLastDrainedSize(0),
+     traceLoggerScriptedCallsLastDrainedIteration(0)
+ {
+     assertSameCompartment(cx, dbg);
+@@ -3907,9 +3907,9 @@ Debugger::drainTraceLogger(JSContext* cx, unsigned argc, Value* vp)
+     size_t num;
+     TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime());
+     bool lostEvents = logger->lostEvents(dbg->traceLoggerLastDrainedIteration,
+-                                         dbg->traceLoggerLastDrainedId);
++                                         dbg->traceLoggerLastDrainedSize);
+     EventEntry* events = logger->getEventsStartingAt(&dbg->traceLoggerLastDrainedIteration,
+-                                                     &dbg->traceLoggerLastDrainedId,
++                                                     &dbg->traceLoggerLastDrainedSize,
+                                                      &num);
+ 
+     RootedObject array(cx, NewDenseEmptyArray(cx));
+@@ -4002,10 +4002,10 @@ Debugger::drainTraceLoggerScriptCalls(JSContext* cx, unsigned argc, Value* vp)
+     size_t num;
+     TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime());
+     bool lostEvents = logger->lostEvents(dbg->traceLoggerScriptedCallsLastDrainedIteration,
+-                                         dbg->traceLoggerScriptedCallsLastDrainedId);
++                                         dbg->traceLoggerScriptedCallsLastDrainedSize);
+     EventEntry* events = logger->getEventsStartingAt(
+                                          &dbg->traceLoggerScriptedCallsLastDrainedIteration,
+-                                         &dbg->traceLoggerScriptedCallsLastDrainedId,
++                                         &dbg->traceLoggerScriptedCallsLastDrainedSize,
+                                          &num);
+ 
+     RootedObject array(cx, NewDenseEmptyArray(cx));
+diff --git a/js/src/vm/Debugger.h b/js/src/vm/Debugger.h
+index 8cac36a..c92d685 100644
+--- a/js/src/vm/Debugger.h
++++ b/js/src/vm/Debugger.h
+@@ -314,10 +314,10 @@ class Debugger : private mozilla::LinkedListElement<Debugger>
+      * lost events.
+      */
+ #ifdef NIGHTLY_BUILD
+-    uint32_t traceLoggerLastDrainedId;
++    uint32_t traceLoggerLastDrainedSize;
+     uint32_t traceLoggerLastDrainedIteration;
+ #endif
+-    uint32_t traceLoggerScriptedCallsLastDrainedId;
++    uint32_t traceLoggerScriptedCallsLastDrainedSize;
+     uint32_t traceLoggerScriptedCallsLastDrainedIteration;
+ 
+     class FrameRange;
+diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp
+index 6715b36..9766a6f 100644
+--- a/js/src/vm/TraceLogging.cpp
++++ b/js/src/vm/TraceLogging.cpp
+@@ -131,7 +131,7 @@ TraceLoggerThread::init()
+ {
+     if (!pointerMap.init())
+         return false;
+-    if (!extraTextId.init())
++    if (!textIdPayloads.init())
+         return false;
+     if (!events.init())
+         return false;
+@@ -185,10 +185,10 @@ TraceLoggerThread::~TraceLoggerThread()
+         graph = nullptr;
+     }
+ 
+-    for (TextIdHashMap::Range r = extraTextId.all(); !r.empty(); r.popFront())
+-        js_delete(r.front().value());
+-    extraTextId.finish();
+-    pointerMap.finish();
++    if (textIdPayloads.initialized()) {
++        for (TextIdHashMap::Range r = textIdPayloads.all(); !r.empty(); r.popFront())
++            js_delete(r.front().value());
++    }
+ }
+ 
+ bool
+@@ -287,7 +287,7 @@ TraceLoggerThread::eventText(uint32_t id)
+     if (id < TraceLogger_Last)
+         return TLTextIdString(static_cast<TraceLoggerTextId>(id));
+ 
+-    TextIdHashMap::Ptr p = extraTextId.lookup(id);
++    TextIdHashMap::Ptr p = textIdPayloads.lookup(id);
+     MOZ_ASSERT(p);
+ 
+     return p->value()->string();
+@@ -341,13 +341,15 @@ TraceLoggerThread::extractScriptDetails(uint32_t textId, const char** filename,
+ TraceLoggerEventPayload*
+ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId textId)
+ {
+-    TextIdHashMap::AddPtr p = extraTextId.lookupForAdd(textId);
+-    if (p)
++    TextIdHashMap::AddPtr p = textIdPayloads.lookupForAdd(textId);
++    if (p) {
++        MOZ_ASSERT(p->value()->textId() == textId); // Sanity check.
+         return p->value();
++    }
+ 
+     TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, (char*)nullptr);
+ 
+-    if (!extraTextId.add(p, textId, payload))
++    if (!textIdPayloads.add(p, textId, payload))
+         return nullptr;
+ 
+     return payload;
+@@ -357,8 +359,10 @@ TraceLoggerEventPayload*
+ TraceLoggerThread::getOrCreateEventPayload(const char* text)
+ {
+     PointerHashMap::AddPtr p = pointerMap.lookupForAdd((const void*)text);
+-    if (p)
++    if (p) {
++        MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check.
+         return p->value();
++    }
+ 
+     size_t len = strlen(text);
+     char* str = js_pod_malloc<char>(len + 1);
+@@ -369,7 +373,7 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text)
+     MOZ_ASSERT(ret == len);
+     MOZ_ASSERT(strlen(str) == len);
+ 
+-    uint32_t textId = extraTextId.count() + TraceLogger_Last;
++    uint32_t textId = nextTextId;
+ 
+     TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str);
+     if (!payload) {
+@@ -377,17 +381,19 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text)
+         return nullptr;
+     }
+ 
+-    if (!extraTextId.putNew(textId, payload)) {
++    if (!textIdPayloads.putNew(textId, payload)) {
+         js_delete(payload);
+         return nullptr;
+     }
+ 
+-    if (!pointerMap.add(p, text, payload))
+-        return nullptr;
+-
+     if (graph.get())
+         graph->addTextId(textId, str);
+ 
++    nextTextId++;
++
++    if (!pointerMap.add(p, text, payload))
++        return nullptr;
++
+     return payload;
+ }
+ 
+@@ -407,9 +413,14 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f
+     if (!traceLoggerState->isTextIdEnabled(type))
+         return getOrCreateEventPayload(type);
+ 
+-    PointerHashMap::AddPtr p = pointerMap.lookupForAdd(ptr);
+-    if (p)
+-        return p->value();
++    PointerHashMap::AddPtr p;
++    if (ptr) {
++        p = pointerMap.lookupForAdd(ptr);
++        if (p) {
++            MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check.
++            return p->value();
++        }
++    }
+ 
+     // Compute the length of the string to create.
+     size_t lenFilename = strlen(filename);
+@@ -428,24 +439,28 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f
+     MOZ_ASSERT(ret == len);
+     MOZ_ASSERT(strlen(str) == len);
+ 
+-    uint32_t textId = extraTextId.count() + TraceLogger_Last;
++    uint32_t textId = nextTextId;
+     TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str);
+     if (!payload) {
+         js_free(str);
+         return nullptr;
+     }
+ 
+-    if (!extraTextId.putNew(textId, payload)) {
++    if (!textIdPayloads.putNew(textId, payload)) {
+         js_delete(payload);
+         return nullptr;
+     }
+ 
+-    if (!pointerMap.add(p, ptr, payload))
+-        return nullptr;
+-
+     if (graph.get())
+         graph->addTextId(textId, str);
+ 
++    nextTextId++;
++
++    if (ptr) {
++        if (!pointerMap.add(p, ptr, payload))
++            return nullptr;
++    }
++
+     return payload;
+ }
+ 
+@@ -453,14 +468,14 @@ TraceLoggerEventPayload*
+ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, JSScript* script)
+ {
+     return getOrCreateEventPayload(type, script->filename(), script->lineno(), script->column(),
+-                                   script);
++                                   nullptr);
+ }
+ 
+ TraceLoggerEventPayload*
+ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type,
+                                            const JS::ReadOnlyCompileOptions& script)
+ {
+-    return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, &script);
++    return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, nullptr);
+ }
+ 
+ void
+@@ -485,7 +500,7 @@ TraceLoggerThread::startEvent(uint32_t id)
+     if (!traceLoggerState->isTextIdEnabled(id))
+        return;
+ 
+-    logTimestamp(id);
++    log(id);
+ }
+ 
+ void
+@@ -510,7 +525,7 @@ TraceLoggerThread::stopEvent(uint32_t id)
+     if (!traceLoggerState->isTextIdEnabled(id))
+         return;
+ 
+-    logTimestamp(TraceLogger_Stop);
++    log(TraceLogger_Stop);
+ }
+ 
+ void
+@@ -522,23 +537,57 @@ TraceLoggerThread::logTimestamp(TraceLoggerTextId id)
+ void
+ TraceLoggerThread::logTimestamp(uint32_t id)
+ {
++    MOZ_ASSERT(id > TraceLogger_LastTreeItem && id < TraceLogger_Last);
++    log(id);
++}
++
++void
++TraceLoggerThread::log(uint32_t id)
++{
+     if (enabled == 0)
+         return;
+ 
+     MOZ_ASSERT(traceLoggerState);
+-    if (!events.ensureSpaceBeforeAdd()) {
++
++    // We request for 3 items to add, since if we don't have enough room
++    // we record the time it took to make more place. To log this information
++    // we need 2 extra free entries.
++    if (!events.hasSpaceForAdd(3)) {
+         uint64_t start = rdtsc() - traceLoggerState->startupTime;
+ 
+-        if (graph.get())
+-            graph->log(events);
++        if (!events.ensureSpaceBeforeAdd(3)) {
++            if (graph.get())
++                graph->log(events);
++
++            iteration_++;
++            events.clear();
++
++            // Remove the item in the pointerMap for which the payloads
++            // have no uses anymore
++            for (PointerHashMap::Enum e(pointerMap); !e.empty(); e.popFront()) {
++                if (e.front().value()->uses() != 0)
++                    continue;
++
++                TextIdHashMap::Ptr p = textIdPayloads.lookup(e.front().value()->textId());
++                MOZ_ASSERT(p);
++                textIdPayloads.remove(p);
++
++                e.removeFront();
++            }
+ 
+-        iteration_++;
+-        events.clear();
++            // Free all payloads that have no uses anymore.
++            for (TextIdHashMap::Enum e(textIdPayloads); !e.empty(); e.popFront()) {
++                if (e.front().value()->uses() == 0) {
++                    js_delete(e.front().value());
++                    e.removeFront();
++                }
++            }
++        }
+ 
+         // Log the time it took to flush the events as being from the
+         // Tracelogger.
+         if (graph.get()) {
+-            MOZ_ASSERT(events.capacity() > 2);
++            MOZ_ASSERT(events.hasSpaceForAdd(2));
+             EventEntry& entryStart = events.pushUninitialized();
+             entryStart.time = start;
+             entryStart.textId = TraceLogger_Internal;
+@@ -548,13 +597,6 @@ TraceLoggerThread::logTimestamp(uint32_t id)
+             entryStop.textId = TraceLogger_Stop;
+         }
+ 
+-        // Free all TextEvents that have no uses anymore.
+-        for (TextIdHashMap::Enum e(extraTextId); !e.empty(); e.popFront()) {
+-            if (e.front().value()->uses() == 0) {
+-                js_delete(e.front().value());
+-                e.removeFront();
+-            }
+-        }
+     }
+ 
+     uint64_t time = rdtsc() - traceLoggerState->startupTime;
+@@ -956,3 +998,16 @@ TraceLoggerEvent::~TraceLoggerEvent()
+     if (payload_)
+         payload_->release();
+ }
++
++TraceLoggerEvent&
++TraceLoggerEvent::operator=(const TraceLoggerEvent& other)
++{
++    if (hasPayload())
++        payload()->release();
++    if (other.hasPayload())
++        other.payload()->use();
++
++    payload_ = other.payload_;
++
++    return *this;
++}
+diff --git a/js/src/vm/TraceLogging.h b/js/src/vm/TraceLogging.h
+index a124dcb..91a1eb0 100644
+--- a/js/src/vm/TraceLogging.h
++++ b/js/src/vm/TraceLogging.h
+@@ -110,6 +110,9 @@ class TraceLoggerEvent {
+     bool hasPayload() const {
+         return !!payload_;
+     }
++
++    TraceLoggerEvent& operator=(const TraceLoggerEvent& other);
++    TraceLoggerEvent(const TraceLoggerEvent& event) = delete;
+ };
+ 
+ /**
+@@ -130,6 +133,10 @@ class TraceLoggerEventPayload {
+         uses_(0)
+     { }
+ 
++    ~TraceLoggerEventPayload() {
++        MOZ_ASSERT(uses_ == 0);
++    }
++
+     uint32_t textId() {
+         return textId_;
+     }
+@@ -166,7 +173,8 @@ class TraceLoggerThread
+     mozilla::UniquePtr<TraceLoggerGraph> graph;
+ 
+     PointerHashMap pointerMap;
+-    TextIdHashMap extraTextId;
++    TextIdHashMap textIdPayloads;
++    uint32_t nextTextId;
+ 
+     ContinuousSpace<EventEntry> events;
+ 
+@@ -181,6 +189,7 @@ class TraceLoggerThread
+       : enabled(0),
+         failed(false),
+         graph(),
++        nextTextId(TraceLogger_Last),
+         iteration_(0),
+         top(nullptr)
+     { }
+@@ -195,22 +204,22 @@ class TraceLoggerThread
+     bool enable(JSContext* cx);
+     bool disable();
+ 
+-    // Given the previous iteration and lastEntryId, return an array of events
++    // Given the previous iteration and size, return an array of events
+     // (there could be lost events). At the same time update the iteration and
+-    // lastEntry and gives back how many events there are.
+-    EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastEntryId, size_t* num) {
++    // size and gives back how many events there are.
++    EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastSize, size_t* num) {
+         EventEntry* start;
+         if (iteration_ == *lastIteration) {
+-            MOZ_ASSERT(events.lastEntryId() >= *lastEntryId);
+-            *num = events.lastEntryId() - *lastEntryId;
+-            start = events.data() + *lastEntryId + 1;
++            MOZ_ASSERT(*lastSize <= events.size());
++            *num = events.size() - *lastSize;
++            start = events.data() + *lastSize;
+         } else {
+-            *num = events.lastEntryId() + 1;
++            *num = events.size();
+             start = events.data();
+         }
+ 
+         *lastIteration = iteration_;
+-        *lastEntryId = events.lastEntryId();
++        *lastSize = events.size();
+         return start;
+     }
+ 
+@@ -220,16 +229,16 @@ class TraceLoggerThread
+                               const char** lineno, size_t* lineno_len, const char** colno,
+                               size_t* colno_len);
+ 
+-    bool lostEvents(uint32_t lastIteration, uint32_t lastEntryId) {
++    bool lostEvents(uint32_t lastIteration, uint32_t lastSize) {
+         // If still logging in the same iteration, there are no lost events.
+         if (lastIteration == iteration_) {
+-            MOZ_ASSERT(lastEntryId <= events.lastEntryId());
++            MOZ_ASSERT(lastSize <= events.size());
+             return false;
+         }
+ 
+-        // When proceeded to the next iteration and lastEntryId points to
+-        // the maximum capacity there are no logs that are lost.
+-        if (lastIteration + 1 == iteration_ && lastEntryId == events.capacity())
++        // If we are in a consecutive iteration we are only sure we didn't lose any events,
++        // when the lastSize equals the maximum size 'events' can get.
++        if (lastIteration == iteration_ - 1 && lastSize == events.maxSize())
+             return false;
+ 
+         return true;
+@@ -268,6 +277,7 @@ class TraceLoggerThread
+     void stopEvent(uint32_t id);
+   private:
+     void stopEvent();
++    void log(uint32_t id);
+ 
+   public:
+     static unsigned offsetOfEnabled() {
+diff --git a/js/src/vm/TraceLoggingGraph.cpp b/js/src/vm/TraceLoggingGraph.cpp
+index d1b7f2e..a4eb273 100644
+--- a/js/src/vm/TraceLoggingGraph.cpp
++++ b/js/src/vm/TraceLoggingGraph.cpp
+@@ -276,7 +276,7 @@ TraceLoggerGraph::flush()
+         if (bytesWritten < tree.size())
+             return false;
+ 
+-        treeOffset += tree.lastEntryId();
++        treeOffset += tree.size();
+         tree.clear();
+     }
+ 
+@@ -359,7 +359,7 @@ TraceLoggerGraph::startEventInternal(uint32_t id, uint64_t timestamp)
+ 
+     if (parent.lastChildId() == 0) {
+         MOZ_ASSERT(!entry.hasChildren());
+-        MOZ_ASSERT(parent.treeId() == tree.lastEntryId() + treeOffset);
++        MOZ_ASSERT(parent.treeId() == treeOffset + tree.size() - 1);
+ 
+         if (!updateHasChildren(parent.treeId()))
+             return false;
+diff --git a/js/src/vm/TraceLoggingTypes.h b/js/src/vm/TraceLoggingTypes.h
+index f1c9d0c..10b76d6 100644
+--- a/js/src/vm/TraceLoggingTypes.h
++++ b/js/src/vm/TraceLoggingTypes.h
+@@ -21,7 +21,6 @@
+     _(Internal)                                       \
+     _(Interpreter)                                    \
+     _(InlinedScripts)                                 \
+-    _(Invalidation)                                   \
+     _(IonCompilation)                                 \
+     _(IonCompilationPaused)                           \
+     _(IonLinking)                                     \
+@@ -60,6 +59,7 @@
+ 
+ #define TRACELOGGER_LOG_ITEMS(_)                      \
+     _(Bailout)                                        \
++    _(Invalidation)                                   \
+     _(Disable)                                        \
+     _(Enable)                                         \
+     _(Stop)
+@@ -130,6 +130,9 @@ class ContinuousSpace {
+     uint32_t size_;
+     uint32_t capacity_;
+ 
++    // The maximum amount of ram memory a continuous space structure can take (in bytes).
++    static const uint32_t LIMIT = 200 * 1024 * 1024;
++
+   public:
+     ContinuousSpace ()
+      : data_(nullptr)
+@@ -151,6 +154,10 @@ class ContinuousSpace {
+         data_ = nullptr;
+     }
+ 
++    static uint32_t maxSize() {
++        return LIMIT / sizeof(T);
++    }
++
+     T* data() {
+         return data_;
+     }
+@@ -187,11 +194,14 @@ class ContinuousSpace {
+         if (hasSpaceForAdd(count))
+             return true;
+ 
++        // Limit the size of a continuous buffer.
++        if (size_ + count > maxSize())
++            return false;
++
+         uint32_t nCapacity = capacity_ * 2;
+-        if (size_ + count > nCapacity)
+-            nCapacity = size_ + count;
+-        T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T));
++        nCapacity = (nCapacity < maxSize()) ? nCapacity : maxSize();
+ 
++        T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T));
+         if (!entries)
+             return false;
+ 

diff --git a/dev-lang/spidermonkey/files/spidermonkey-38-jsapi-tests.patch b/dev-lang/spidermonkey/files/spidermonkey-38-jsapi-tests.patch
new file mode 100644
index 0000000000..8b023fd318
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-38-jsapi-tests.patch
@@ -0,0 +1,16 @@
+--- a/js/src/jsapi-tests/testPreserveJitCode.cpp     2015-09-17 16:12:22.000000000 -0400
++++ b/js/src/jsapi-tests/testPreserveJitCode.cpp 2017-02-27 16:30:28.899191525 -0500
+@@ -16,8 +16,12 @@
+ 
+ BEGIN_TEST(test_PreserveJitCode)
+ {
++#ifndef JS_CODEGEN_NONE
+     CHECK(testPreserveJitCode(false, 0));
+     CHECK(testPreserveJitCode(true, 1));
++#else
++    printf("*JIT is disabled, therefore CANNOT preserve jit code - skipping.\n");
++#endif
+     return true;
+ }
+ 
+

diff --git a/dev-lang/spidermonkey/metadata.xml b/dev-lang/spidermonkey/metadata.xml
index 564a0ee481..83c60ddc3f 100644
--- a/dev-lang/spidermonkey/metadata.xml
+++ b/dev-lang/spidermonkey/metadata.xml
@@ -6,9 +6,11 @@
 		<name>Gentoo Mozilla Team</name>
 	</maintainer>
 	<longdescription lang="en">
-		Stand-alone JavaScript C library
+		Stand-alone JavaScript C++ library
 	</longdescription>
 	<use>
+		<flag name="custom-optimization">Build with user-specified compiler optimizations
+			(-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag>
 		<flag name="debug">Enable assertions to allow for easier debugging of programs that link to spidermonkey -- note this will often crash software on regular end-user systems</flag>
 		<flag name="threadsafe">Build a threadsafe version of spidermonkey</flag>
 		<flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg> instead of bundled -- note, only takes effect when icu flag is enabled</flag>

diff --git a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
new file mode 100644
index 0000000000..6673931956
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+WANT_AUTOCONF="2.1"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils mozcoreconf-v4
+
+MY_PN="mozjs"
+MY_P="${MY_PN}-${PV/_/.}"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
+SRC_URI="https://people.mozilla.org/~sstangl/${MY_P}.tar.bz2"
+
+LICENSE="NPL-1.1"
+SLOT="38"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="debug +jit minimal static-libs +system-icu test"
+
+RESTRICT="ia64? ( test )"
+
+#S="${WORKDIR}/${MY_P%.rc*}"
+S="${WORKDIR}/mozjs-38.0.0"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.10.10
+	virtual/libffi
+	sys-libs/readline:0=
+	>=sys-libs/zlib-1.2.3
+	system-icu? ( >=dev-libs/icu-51.1:= )"
+DEPEND="${RDEPEND}
+	${PYTHON_DEPS}
+	app-arch/zip
+	virtual/pkgconfig"
+
+pkg_setup(){
+	if [[ ${MERGE_TYPE} != "binary" ]]; then
+		moz_pkgsetup
+	fi
+}
+
+src_prepare() {
+	eapply "${FILESDIR}"/${PN}-38-jsapi-tests-makefile.patch \
+		"${FILESDIR}"/mozjs38-1269317.patch \
+		"${FILESDIR}"/mozjs38-fix-tracelogger.patch
+
+	eapply_user
+
+	if [[ ${CHOST} == *-freebsd* ]]; then
+		# Don't try to be smart, this does not work in cross-compile anyway
+		ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
+	fi
+
+	cd "${BUILDDIR}" || die
+	eautoconf
+}
+
+src_configure() {
+	export SHELL=/bin/sh
+	cd "${BUILDDIR}" || die
+
+	econf \
+		--enable-jemalloc \
+		--enable-readline \
+		--enable-threadsafe \
+		--with-system-nspr \
+		--enable-system-ffi \
+		--disable-optimize \
+		--with-intl-api \
+		$(use_with system-icu) \
+		$(use_enable debug) \
+		$(use_enable jit yarr-jit) \
+		$(use_enable jit ion) \
+		$(use_enable static-libs static) \
+		$(use_enable test tests)
+}
+
+cross_make() {
+	emake \
+		CFLAGS="${BUILD_CFLAGS}" \
+		CXXFLAGS="${BUILD_CXXFLAGS}" \
+		AR="${BUILD_AR}" \
+		CC="${BUILD_CC}" \
+		CXX="${BUILD_CXX}" \
+		RANLIB="${BUILD_RANLIB}" \
+		"$@"
+}
+src_compile() {
+	cd "${BUILDDIR}" || die
+	if tc-is-cross-compiler; then
+		tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
+		cross_make \
+			MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
+			HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
+			MOZ_PGO_OPTIMIZE_FLAGS="" \
+			host_jsoplengen host_jskwgen
+		cross_make \
+			MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
+			-C config nsinstall
+		mv {,native-}host_jskwgen || die
+		mv {,native-}host_jsoplengen || die
+		mv config/{,native-}nsinstall || die
+		sed -i \
+			-e 's@./host_jskwgen@./native-host_jskwgen@' \
+			-e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+			Makefile || die
+		sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
+		rm -f config/host_nsinstall.o \
+			config/host_pathsub.o \
+			host_jskwgen.o \
+			host_jsoplengen.o || die
+	fi
+
+	MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+	emake \
+		MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
+		HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
+		MOZ_PGO_OPTIMIZE_FLAGS=""
+}
+
+src_test() {
+	cd "${BUILDDIR}/js/src/jsapi-tests" || die
+	./jsapi-tests || die
+}
+
+src_install() {
+	cd "${BUILDDIR}" || die
+	emake DESTDIR="${D}" install
+
+	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
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2016-06-11  0:01 Ian Stakenvicius
  0 siblings, 0 replies; 21+ messages in thread
From: Ian Stakenvicius @ 2016-06-11  0:01 UTC (permalink / raw
  To: gentoo-commits

commit:     e4cd861a39c8552ded3bdfefafbe5d0413ac6990
Author:     Austin English <wizardedit <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  3 05:22:39 2016 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Fri Jun 10 23:55:13 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4cd861a

dev-lang/spidermonkey: fix building with clang

Gentoo-Bug: https://bugs.gentoo.org/458142
Closes: https://github.com/gentoo/gentoo/pull/1589

 .../spidermonkey/files/spidermonkey-17-clang.patch |  18 +++
 .../spidermonkey/spidermonkey-17.0.0-r5.ebuild     | 140 +++++++++++++++++++++
 2 files changed, 158 insertions(+)

diff --git a/dev-lang/spidermonkey/files/spidermonkey-17-clang.patch b/dev-lang/spidermonkey/files/spidermonkey-17-clang.patch
new file mode 100644
index 0000000..062bd06b
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-17-clang.patch
@@ -0,0 +1,18 @@
+Fix compilation of spidermonkey-17 with clang
+
+Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=458142
+Upstream-Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=887645
+
+b/js/src/js-config.in
+--- a/js/src/jsinterp.cpp	2016-06-03 00:08:04.376312080 -0500
++++ b/js/src/jsinterp.cpp	2016-06-03 00:12:17.740329180 -0500
+@@ -3664,7 +3664,9 @@
+ BEGIN_CASE(JSOP_LEAVEFORLETIN)
+ BEGIN_CASE(JSOP_LEAVEBLOCKEXPR)
+ {
++    #ifdef DEBUG
+     DebugOnly<uint32_t> blockDepth = regs.fp()->blockChain().stackDepth();
++    #endif
+ 
+     regs.fp()->popBlock(cx);
+ 

diff --git a/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild b/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild
new file mode 100644
index 0000000..897b2a0
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="6"
+WANT_AUTOCONF="2.1"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+inherit toolchain-funcs multilib python-any-r1 versionator pax-utils
+
+MY_PN="mozjs"
+MY_P="${MY_PN}${PV}"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
+SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/js/${MY_PN}${PV}.tar.gz"
+
+LICENSE="NPL-1.1"
+SLOT="17"
+# "MIPS, MacroAssembler is not supported" wrt #491294 for -mips
+KEYWORDS="~alpha ~amd64 ~arm -hppa ~ia64 -mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="debug jit minimal static-libs test"
+
+REQUIRED_USE="debug? ( jit )"
+RESTRICT="ia64? ( test )"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.9.4
+	virtual/libffi
+	sys-libs/readline:0
+	>=sys-libs/zlib-1.1.4"
+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
+}
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-${SLOT}-js-config-shebang.patch
+	"${FILESDIR}"/${PN}-${SLOT}-ia64-mmap.patch
+	"${FILESDIR}"/${PN}-17.0.0-fix-file-permissions.patch
+	"${FILESDIR}"/${PN}-17-clang.patch
+	"${FILESDIR}"/${PN}-perl-defined-array-check.patch
+)
+
+src_prepare() {
+	default
+
+	# Remove obsolete jsuword bug #506160
+	sed -i -e '/jsuword/d' "${BUILDDIR}"/jsval.h || die "sed failed"
+
+	if [[ ${CHOST} == *-freebsd* ]]; then
+		# Don't try to be smart, this does not work in cross-compile anyway
+		ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
+	fi
+}
+
+src_configure() {
+	cd "${BUILDDIR}" || die
+
+	CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+	AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+	LD="$(tc-getLD)" \
+	econf \
+		${myopts} \
+		--enable-jemalloc \
+		--enable-readline \
+		--enable-threadsafe \
+		--with-system-nspr \
+		--enable-system-ffi \
+		--enable-jemalloc \
+		$(use_enable debug) \
+		$(use_enable jit tracejit) \
+		$(use_enable jit methodjit) \
+		$(use_enable static-libs static) \
+		$(use_enable test tests)
+}
+
+cross_make() {
+	emake \
+		CFLAGS="${BUILD_CFLAGS}" \
+		CXXFLAGS="${BUILD_CXXFLAGS}" \
+		AR="${BUILD_AR}" \
+		CC="${BUILD_CC}" \
+		CXX="${BUILD_CXX}" \
+		RANLIB="${BUILD_RANLIB}" \
+		"$@"
+}
+src_compile() {
+	cd "${BUILDDIR}" || die
+	if tc-is-cross-compiler; then
+		tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
+		cross_make host_jsoplengen host_jskwgen
+		cross_make -C config nsinstall
+		mv {,native-}host_jskwgen || die
+		mv {,native-}host_jsoplengen || die
+		mv config/{,native-}nsinstall || die
+		sed -i \
+			-e 's@./host_jskwgen@./native-host_jskwgen@' \
+			-e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+			Makefile || die
+		sed -i -e 's@/nsinstall@/native-nsinstall@' 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}/jsapi-tests" || die
+	emake check
+}
+
+src_install() {
+	cd "${BUILDDIR}" || die
+	default
+
+	if ! use minimal; then
+		if use jit; then
+			pax-mark m "${ED}/usr/bin/js${SLOT}" || die
+		fi
+	else
+		rm -f "${ED}/usr/bin/js${SLOT}" || die
+	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
+}


^ permalink raw reply related	[flat|nested] 21+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2016-02-23 15:11 Ian Stakenvicius
  0 siblings, 0 replies; 21+ messages in thread
From: Ian Stakenvicius @ 2016-02-23 15:11 UTC (permalink / raw
  To: gentoo-commits

commit:     ba5ae143c61e68e4e4964fbfd098178ac2a56650
Author:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 23 15:10:36 2016 +0000
Commit:     Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Feb 23 15:11:24 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba5ae143

dev-lang/spidermonkey: clean up old ebuilds

Package-Manager: portage-2.2.26

 dev-lang/spidermonkey/Manifest                     |   1 -
 .../spidermonkey-1.8.5-arm_respect_cflags-2.patch  | 102 ---------------------
 .../files/spidermonkey-1.8.7-filter_desc.patch     |  18 ----
 .../files/spidermonkey-1.9.2.13-as-needed.patch    |  22 -----
 dev-lang/spidermonkey/spidermonkey-1.7.0-r1.ebuild |  51 -----------
 dev-lang/spidermonkey/spidermonkey-1.7.0-r2.ebuild |  52 -----------
 dev-lang/spidermonkey/spidermonkey-1.7.0.ebuild    |  50 ----------
 .../spidermonkey/spidermonkey-1.8.2.15-r2.ebuild   |  77 ----------------
 8 files changed, 373 deletions(-)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index bd16fe6..45577ad 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,4 +1,3 @@
-DIST firefox-3.6.15.source.tar.bz2 51552828 SHA256 405aa411a8ddb456017564522cbb486850e34fe14485b1c31fa93fc5c750870f SHA512 82bf0a6c6cb30fc0b18b067ac3d9cb7e48a0fd0126edd851e628d49e429aea33500a5a5eba87bce922e51b1b7410ccccfe4f8b7ce5573bdbd718c76da7acb1da WHIRLPOOL b788d7ba2cfcaec4f317e615878401a7a1fb985aaa43829831c17b699812e59adb7874247114e0143da63198118cab059796fc5d5fd08d72ccc54b4fef279f85
 DIST js-1.7.0.tar.gz 1165607 SHA256 44363f0f3895800ee6010763eae90c0d15ed28e07d783bc7b3c607ce98d8668b SHA512 9d9fbd9c1dae969ca19ddb0f977ac56f3e0479ec393b859de252fcdd8b7fc325e80399073540884ed365ce56a3219be34c0db9300d5e50f32969660c90527e51 WHIRLPOOL 8044b306b3a1f0abed5ac8a6bf4f9ed70e1ebc6f83f44934a6306d9ed68cd73124f82e40430d764f158377031f5ee986595e58fdb52259ab6a3a8674eaf4eed1
 DIST js185-1.0.0.tar.gz 6164605 SHA256 5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687 SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 WHIRLPOOL 58b372713275874d3ae3c6b58c12c56bf8d17d024d591e321538bcdd8e615332e41655954368ce86b90e970209e3fd650c39d931000880f5ec22cb044b5d7a4e
 DIST mozjs-24.2.0.tar.bz2 15624530 SHA256 e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8 SHA512 49805e256f6fa797505c01b7596d5bb941ed7a2454862c52ed42ad48b5ae4540b777e77ed8da1b98c89f8622ed2c76052187983687008a4ff53594addb328df4 WHIRLPOOL ea74d19c79b1a0fe407e2803900c49c23e8b76444fb4e20995072c3c59427e8df1895df04f2f4de779a1c58cd1166dd97aeaf7564350832011efe89dbcf9583e

diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-2.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-2.patch
deleted file mode 100644
index 106ec14..0000000
--- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-2.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- a/js-1.8.5/js/src/configure.in	2011-03-31 15:08:36.000000000 -0400
-+++ b/js-1.8.5/js/src/configure.in	2012-11-02 15:32:38.000000000 -0400
-@@ -3550,7 +3550,7 @@
- _SAVE_CFLAGS="$CFLAGS"
- if test "$GNU_CC"; then
-   # gcc needs -mfpu=neon to recognize NEON instructions
--  CFLAGS="$CFLAGS -mfpu=neon -mfloat-abi=softfp"
-+  CFLAGS="$CFLAGS -mfpu=neon"
- fi
- AC_TRY_COMPILE([],
-                [asm("vadd.i8 d0, d0, d0");],
-@@ -4654,12 +4654,6 @@
- dnl ========================================================
- MOZ_ARG_HEADER(Individual module options)
- 
--dnl Setup default CPU arch for arm target
--case "$target_cpu" in
--  arm*)
--    MOZ_ARM_ARCH=armv7
--  ;;
--esac
- dnl ========================================================
- dnl = Enable building the Thumb2 instruction set
- dnl ========================================================
-@@ -4668,66 +4662,35 @@
-     MOZ_THUMB2=1,
-     MOZ_THUMB2=)
- if test -n "$MOZ_THUMB2"; then
--  MOZ_ARM_ARCH=armv7
-+    AC_MSG_WARN([thumb2 enabled instead of autodetected -- hope you know what you are doing])
-+else
-+    AC_MSG_CHECKING([for thumb2 support in arm architecture])
-+    AC_LANG_SAVE
-+    AC_LANG_C
-+    AC_TRY_LINK([int ac_test(int i) { return i; }],[asm(".syntax unified\n.thumb\nb.w ac_test\n.arm"); if (ac_test(1)) return 1;],
-+      [MOZ_THUMB2=1
-+        AC_MSG_RESULT([yes])],
-+      [MOZ_THUMB2=
-+        AC_MSG_RESULT([no])])
-+    AC_LANG_RESTORE
- fi
- 
- dnl ========================================================
- dnl = Enable building for ARM specific CPU features
- dnl ========================================================
--MOZ_ARG_WITH_STRING(cpu-arch,
--[  --with-cpu-arch=arch      Use specific arm architecture CPU features, default armv7],
--    MOZ_ARM_ARCH=$withval)
--
- if test -n "$MOZ_THUMB2"; then
-   case "$target_cpu" in
-     arm*)
--      if test "$MOZ_ARM_ARCH" != "armv7"; then
--        AC_MSG_ERROR([--enable-thumb2 is not compatible with cpu-arch=$MOZ_ARM_ARCH])
--      fi
-       if test "$GNU_CC"; then
-         AC_DEFINE(MOZ_THUMB2)
--        AC_DEFINE(MOZ_ARM_ARCH)
--        CFLAGS="$CFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
--        CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
--        ASFLAGS="$ASFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
-       else
-         AC_MSG_ERROR([--enable-thumb2 is not supported for non-GNU toolchains])
-       fi
-     ;;
--    *)
--      AC_MSG_ERROR([--enable-thumb2 is not supported for non-ARM CPU architectures])
--    ;;
--  esac
--elif test "$MOZ_ARM_ARCH" = "armv7"; then
--  case "$target_cpu" in
--    arm*)
--      if test "$GNU_CC"; then
--        AC_DEFINE(MOZ_ARM_ARCH)
--        CFLAGS="$CFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
--        CXXFLAGS="$CXXFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
--        ASFLAGS="$ASFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
--      else
--        AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-GNU toolchains])
--      fi
--    ;;
--    *)
--      AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-ARM CPU architectures])
--    ;;
--  esac
--else
--  case "$target_cpu" in
--    arm*)
--      if test "$GNU_CC"; then
--        CFLAGS="$CFLAGS -march=armv5te -mthumb-interwork -msoft-float"
--        CXXFLAGS="$CXXFLAGS -march=armv5te -mthumb-interwork -msoft-float"
--        ASFLAGS="$ASFLAGS -march=armv5te -mthumb-interwork -msoft-float"
--      fi
--      ;;
-   esac
- fi
- 
- AC_SUBST(MOZ_THUMB2)
--AC_SUBST(MOZ_ARM_ARCH)
- 
- dnl ========================================================
- dnl =

diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.7-filter_desc.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.7-filter_desc.patch
deleted file mode 100644
index 65d0a2d..0000000
--- a/dev-lang/spidermonkey/files/spidermonkey-1.8.7-filter_desc.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/js/src/Makefile.in	2012-06-18 13:53:41.000000000 -0400
-+++ b/js/src/Makefile.in	2012-06-18 13:55:44.000000000 -0400
-@@ -965,10 +965,10 @@
- endif
- endif
- 
--install:: $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
--ifneq (,$(LIBRARY))
--	$(SYSINSTALL) $(LIBRARY) $(DESTDIR)$(libdir)
--	mv -f $(DESTDIR)$(libdir)/$(LIBRARY) $(subst $(STATIC_LIBRARY_NAME),mozjs187-$(SRCREL_ABI_VERSION),$(DESTDIR)$(libdir)/$(LIBRARY))
-+install:: $(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
-+ifneq (,$(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)))
-+	$(SYSINSTALL) $(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(DESTDIR)$(libdir)
-+	mv -f $(DESTDIR)$(libdir)/$(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(subst $(STATIC_LIBRARY_NAME),mozjs187-$(SRCREL_ABI_VERSION),$(DESTDIR)$(libdir)/$(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)))
- endif
- ifneq (,$(SHARED_LIBRARY))
- ifeq (,$(HOST_BIN_SUFFIX))
-

diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.9.2.13-as-needed.patch b/dev-lang/spidermonkey/files/spidermonkey-1.9.2.13-as-needed.patch
deleted file mode 100644
index 847bf79..0000000
--- a/dev-lang/spidermonkey/files/spidermonkey-1.9.2.13-as-needed.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/js/src/jsapi-tests/Makefile.in b/js/src/jsapi-tests/Makefile.in
---- a/js/src/jsapi-tests/Makefile.in
-+++ b/js/src/jsapi-tests/Makefile.in
-@@ -55,17 +55,17 @@ CPPSRCS = \
-   testSameValue.cpp \
-   testDebugger.cpp \
-   testDefineGetterSetterNonEnumerable.cpp \
-   testExtendedEq.cpp \
-   $(NULL)
- 
- DEFINES         += -DEXPORT_JS_API
- 
--LIBS      = $(NSPR_LIBS) $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX)
-+LIBS      = $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX) $(NSPR_LIBS)
- 
- LOCAL_INCLUDES += -I$(topsrcdir) -I..
- 
- ifdef _MSC_VER
- ifdef WINCE
- WIN32_EXE_LDFLAGS += -ENTRY:mainACRTStartup
- endif
- endif

diff --git a/dev-lang/spidermonkey/spidermonkey-1.7.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-1.7.0-r1.ebuild
deleted file mode 100644
index b38ada4..0000000
--- a/dev-lang/spidermonkey/spidermonkey-1.7.0-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-inherit eutils toolchain-funcs multilib flag-o-matic
-
-MY_P="js-${PV}"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.gz"
-
-LICENSE="NPL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
-IUSE="threadsafe unicode"
-
-S="${WORKDIR}/js/src"
-
-RDEPEND="threadsafe? ( dev-libs/nspr )"
-
-DEPEND="${RDEPEND}"
-
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
-	epatch "${FILESDIR}/${PN}-1.5-build.patch"
-	epatch "${FILESDIR}/${PN}-1.6-header.patch"
-	epatch "${FILESDIR}/${P}-threadsafe.diff"
-	if [[ ${CHOST} == *-freebsd* ]]; then
-		# Don't try to be smart, this does not work in cross-compile anyway
-		ln -s "${S}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk"
-	fi
-}
-
-src_compile() {
-	use unicode && append-flags "-DJS_C_STRINGS_ARE_UTF8"
-	tc-export CC LD AR
-	if use threadsafe; then
-		emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" JS_THREADSAFE=1 \
-		|| die "emake with threadsafe enabled failed";
-	else
-		emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" \
-		|| die "emake without threadsafe enabled failed";
-	fi
-}
-
-src_install() {
-	emake -f Makefile.ref install DESTDIR="${D}" LIBDIR="$(get_libdir)" || die
-	dodoc ../jsd/README
-	dohtml README.html
-}

diff --git a/dev-lang/spidermonkey/spidermonkey-1.7.0-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-1.7.0-r2.ebuild
deleted file mode 100644
index 9fc6671..0000000
--- a/dev-lang/spidermonkey/spidermonkey-1.7.0-r2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-inherit eutils toolchain-funcs multilib flag-o-matic
-
-MY_P="js-${PV}"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.gz"
-
-LICENSE="NPL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
-IUSE="threadsafe unicode"
-
-S="${WORKDIR}/js/src"
-
-RDEPEND="threadsafe? ( dev-libs/nspr )"
-DEPEND="${RDEPEND}"
-
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
-	epatch "${FILESDIR}/${PN}-1.5-build.patch"
-	epatch "${FILESDIR}/${PN}-1.6-header.patch"
-	epatch "${FILESDIR}/${P}-threadsafe.diff" \
-		"${FILESDIR}"/${P}-ldflags.patch
-	if [[ ${CHOST} == *-freebsd* ]]; then
-		# Don't try to be smart, this does not work in cross-compile anyway
-		ln -s "${S}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk"
-	fi
-}
-
-src_compile() {
-	use unicode && append-flags "-DJS_C_STRINGS_ARE_UTF8"
-	tc-export CC LD AR
-	if use threadsafe; then
-		emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" JS_THREADSAFE=1 \
-			XLDFLAGS="$(raw-ldflags)" HOST_LDFLAGS="${LDFLAGS}" \
-				|| die "emake with threadsafe enabled failed";
-	else
-		emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" XLDFLAGS="$(raw-ldflags)" \
-		HOST_LDFLAGS="${LDFLAGS}" || die "emake without threadsafe enabled failed";
-	fi
-}
-
-src_install() {
-	emake -f Makefile.ref install DESTDIR="${D}" LIBDIR="$(get_libdir)" || die
-	dodoc ../jsd/README
-	dohtml README.html
-}

diff --git a/dev-lang/spidermonkey/spidermonkey-1.7.0.ebuild b/dev-lang/spidermonkey/spidermonkey-1.7.0.ebuild
deleted file mode 100644
index 2a130bc..0000000
--- a/dev-lang/spidermonkey/spidermonkey-1.7.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-inherit eutils toolchain-funcs multilib
-
-MY_P="js-${PV}"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.gz"
-
-LICENSE="NPL-1.1"
-SLOT="0"
-KEYWORDS="alpha amd64 ~arm ppc ppc64 sparc x86 ~x86-fbsd"
-IUSE="threadsafe"
-
-S="${WORKDIR}/js/src"
-
-RDEPEND="threadsafe? ( dev-libs/nspr )"
-
-DEPEND="${RDEPEND}"
-
-src_unpack() {
-	unpack ${A}
-	cd "${S}"
-	epatch "${FILESDIR}/${PN}-1.5-build.patch"
-	epatch "${FILESDIR}/${PN}-1.6-header.patch"
-	epatch "${FILESDIR}/${P}-threadsafe.diff"
-	if [[ ${CHOST} == *-freebsd* ]]; then
-		# Don't try to be smart, this does not work in cross-compile anyway
-		ln -s "${S}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk"
-	fi
-}
-
-src_compile() {
-	tc-export CC LD AR
-	if use threadsafe; then
-		emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" JS_THREADSAFE=1 \
-		|| die "emake with threadsafe enabled failed";
-	else
-		emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" \
-		|| die "emake without threadsafe enabled failed";
-	fi
-}
-
-src_install() {
-	emake -f Makefile.ref install DESTDIR="${D}" LIBDIR="$(get_libdir)" || die
-	dodoc ../jsd/README
-	dohtml README.html
-}

diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.2.15-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.2.15-r2.ebuild
deleted file mode 100644
index da38130..0000000
--- a/dev-lang/spidermonkey/spidermonkey-1.8.2.15-r2.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads"
-inherit eutils toolchain-funcs multilib python-any-r1
-
-MY_PV="${PV}"
-MY_PV="${MY_PV/1.8.2/3.6}"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
-REL_URI="http://releases.mozilla.org/pub/mozilla.org/firefox/releases"
-SRC_URI="${REL_URI}/${MY_PV}/source/firefox-${MY_PV}.source.tar.bz2"
-
-LICENSE="NPL-1.1"
-SLOT="0/mozjs"
-KEYWORDS="alpha amd64 arm ppc ppc64 sparc x86 ~x86-fbsd ~x64-macos ~x86-macos"
-IUSE="threadsafe"
-
-S="${WORKDIR}/mozilla-1.9.2"
-BUILDDIR="${S}/js/src"
-
-RDEPEND="threadsafe? ( >=dev-libs/nspr-4.8.6 )"
-
-DEPEND="${RDEPEND}
-	${PYTHON_DEPS}
-	app-arch/zip
-	virtual/pkgconfig"
-
-src_prepare() {
-	epatch "${FILESDIR}/${PN}-1.9.2.13-as-needed.patch"
-
-	epatch_user
-
-	if [[ ${CHOST} == *-freebsd* ]]; then
-		# Don't try to be smart, this does not work in cross-compile anyway
-		ln -s "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk"
-	fi
-}
-
-src_configure() {
-	cd "${BUILDDIR}" || die
-
-	local myconf
-
-	use threadsafe && myconf="${myconf} \
-		--with-system-nspr --enable-threadsafe"
-
-	# Disable no-print-directory
-	MAKEOPTS=${MAKEOPTS/--no-print-directory/}
-
-	CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
-	AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
-	LD="$(tc-getLD)" econf \
-		${myconf}
-}
-
-src_compile() {
-	cd "${BUILDDIR}" || die
-	emake -j1
-}
-
-src_install() {
-	cd "${BUILDDIR}" || die
-	emake install DESTDIR="${D}"
-	dobin shell/js
-	dodoc ../jsd/README
-	dohtml README.html
-
-	if [[ ${CHOST} == *-darwin* ]] ; then
-		# fixup install_name
-		install_name_tool -id "${EPREFIX}"/usr/$(get_libdir)/libmozjs.dylib \
-			"${ED}"/usr/$(get_libdir)/libmozjs.dylib || die
-	fi
-}


^ permalink raw reply related	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2024-08-08 11:22 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-01 21:03 [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/ Ian Stakenvicius
  -- strict thread matches above, loose matches on Subject: below --
2024-08-08 11:22 Joonas Niilola
2024-01-31 14:24 Matt Turner
2024-01-24  6:23 Joonas Niilola
2022-11-24 13:38 Joonas Niilola
2022-11-24  7:21 Sam James
2022-11-24  3:08 Sam James
2022-08-10  8:31 Joonas Niilola
2022-05-16 13:58 Joonas Niilola
2022-03-12 18:03 Matt Turner
2022-01-18 11:03 Joonas Niilola
2019-07-25 15:37 Jory Pratt
2019-07-25 15:37 Jory Pratt
2019-06-18 12:19 Jory Pratt
2018-01-13  1:48 Ian Stakenvicius
2017-10-03 20:51 Ian Stakenvicius
2017-02-28 20:42 Ian Stakenvicius
2017-02-28 18:49 Ian Stakenvicius
2017-02-27 23:39 Ian Stakenvicius
2016-06-11  0:01 Ian Stakenvicius
2016-02-23 15:11 Ian Stakenvicius

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox