* [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
* [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-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/
@ 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/
@ 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-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-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/
@ 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/
@ 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/
@ 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/
@ 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/
@ 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-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-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-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-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 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/
@ 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/
@ 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-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
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 --
2022-05-16 13:58 [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/ Joonas Niilola
-- 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-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-09-01 21:03 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