summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin21681 -> 21684 bytes
-rw-r--r--dev-lang/luajit/Manifest6
-rw-r--r--dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r2.ebuild68
-rw-r--r--dev-lang/luajit/luajit-2.1.0_beta3_p20220613.ebuild82
-rw-r--r--dev-lang/luajit/metadata.xml1
-rw-r--r--dev-lang/mlton/Manifest4
-rw-r--r--dev-lang/mlton/metadata.xml1
-rw-r--r--dev-lang/mlton/mlton-20180207.ebuild6
-rw-r--r--dev-lang/python/Manifest2
-rw-r--r--dev-lang/python/python-3.8.20.ebuild2
-rw-r--r--dev-lang/spidermonkey/Manifest2
-rw-r--r--dev-lang/spidermonkey/spidermonkey-115.15.0.ebuild509
12 files changed, 523 insertions, 160 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 6e3ab14ea76c..eddbd5114184 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/luajit/Manifest b/dev-lang/luajit/Manifest
index 41da15d2d217..8a8da30dc256 100644
--- a/dev-lang/luajit/Manifest
+++ b/dev-lang/luajit/Manifest
@@ -1,7 +1,3 @@
-DIST luajit-2.1.0_beta3_p20220127.tar.gz 1072282 BLAKE2B e1d4834683b9ec16f0567f5de486262d84af145e3e27724d343c130288e90abff089fd5c7ff1275f9dde3cb5ae4f818f710020bd708c599972a14f1671381c2a SHA512 4c6ae7173bb91dc2d4d425da4afdab2520078e15ae4471c0cb99a255dd7544d6900b333efbbfc8f26ffbc4fcd8f1d2daf65671c59b5cafd6b0d53cb07b49d4ff
-DIST luajit-2.1.0_beta3_p20220613.tar.gz 1074088 BLAKE2B dbcfd4efcffb9b659a85af753017da5ca9b95e89a03dfe4e594513f2ad09b08e19a862527d41bd5adf8473afd022a471176ff5412975af47bdd785b9b9cfd43b SHA512 e4fc6ebde9cd9efc5e9936416526a0f581186bf0661eca60a50bcf5048312e02f66dc905308d63abda03380c33aa2e64ceddd87527d59a4488ae7f4aeaf36dfe
DIST luajit-2.1.1716656478.tar.gz 1081717 BLAKE2B 42807910aa81e705ff39c382e98e479d46d31453fd6fc1857220c7d4cb66d0801e2ffd813ea3c55ab2bcde8e64275d0fec2044514d7b0ef5287714ec8061bf7a SHA512 6b00d37a33f0bafbd953569ef035546a97237a53cfb718d8aecca7e9c7afe5e4706e4a53e40b9afb8720adc8eee044d8d75b8ea6cdc50d2c3f8461d79bb73b26
-EBUILD luajit-2.1.0_beta3_p20220127-r2.ebuild 1897 BLAKE2B e36a17eef5bc699c2dee1a73fbd7b3bd9c9a8beab48d6ad35a1fc9b6c05ac251726adeff6bb7914cdae8449056f7c23700885bcd8b8ae3f3a80635957ae86d39 SHA512 2b5d6ea075711e38789774c84a5989be2554a0b1ef0423a92368e24b1bd904731ed097a4be609e5912f5b67432b0f5baf5935e625e0a754863e6aac0c4a00aa1
-EBUILD luajit-2.1.0_beta3_p20220613.ebuild 2532 BLAKE2B 63ad1f6706340f3ddffd488eaf7250d8933a7ed7e27196e1d8081d32eb123ab4fbebfbe357a3737918660709b775b4e0c5511986cb0e02e06d78edabb20f3dd2 SHA512 43658155a3f05a211c840d2db034c331b445578295dd583158e60b88b3aba317ee23055de65bfb4011e1e62596330b3870aa52dacf4a317b7eb25bcc76bdbf9b
EBUILD luajit-2.1.1716656478.ebuild 1765 BLAKE2B 1e2960f12069fce84b46b1f06cc1129bd35c13e25ca3d9de5e1ccaed92ee0e827574c8f96faee5c32da1a2e3cd7335b94417ddcf0f299b4f1223b25bc98d3465 SHA512 3ed141f3339ba892fb2598b3c8d3f86760dfb5ea1c6efbf996cad9cb202faa9f5613426c5bf4dcfe741cf3b13f63bbf76bf651333eab414f4852a0622f629f64
-MISC metadata.xml 388 BLAKE2B 5ad0235b40c728e82abd26949ac5c1ac1a8b68a4ea12365c5c443852bc42b9268e6233eaec638511bc34f45c2b2624a93ade9e23569a686d1613a099ee31bbcb SHA512 079a19dcea25726ef9ac61c8ac4f564fe67dc5760202ec6f7f57fba32b6a96901a52637b4f87fb75825bed908b07fc91f6f0bce790c9642392dc017ddfed435d
+MISC metadata.xml 417 BLAKE2B dca79cd3a003ad462f7da8372af0e4012c826bc5b3001417f5b5c969f9ae9dc0cf5f6a5ac35c1badfa95769c46f701a9fa1220e2c4ecd1320cd3e904a657a4ce SHA512 812208e908c4775c7a6009764416007ab3bea124da44dca696425340848a8ff4eeae7128977162c0e679c485a9c27f03639c87854b0d513eec8bceb19d316e0d
diff --git a/dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r2.ebuild b/dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r2.ebuild
deleted file mode 100644
index ceef227070dc..000000000000
--- a/dev-lang/luajit/luajit-2.1.0_beta3_p20220127-r2.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GIT_COMMIT=1d7b5029c5ba36870d25c67524034d452b761d27
-
-# Upstream don't make releases anymore and instead have a (broken) "rolling git tag"
-# model.
-#
-# https://github.com/LuaJIT/LuaJIT/issues/665#issuecomment-784452583
-# https://www.freelists.org/post/luajit/LuaJIT-uses-rolling-releases
-#
-# Regular snapshots should be made from the v2.1 branch.
-
-inherit pax-utils toolchain-funcs
-
-MY_PV="$(ver_cut 1-5)"
-MY_PV="${MY_PV/_beta/-beta}"
-MY_P="LuaJIT-${MY_PV}"
-
-DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
-HOMEPAGE="https://luajit.org/"
-# SRC_URI="https://luajit.org/download/${MY_P}.tar.gz"
-SRC_URI="https://github.com/LuaJIT/LuaJIT/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-# this should probably be pkgmoved to 2.0 for sake of consistency.
-SLOT="2/${PV}"
-KEYWORDS="amd64 arm arm64 -hppa ppc -riscv -sparc x86 ~amd64-linux ~x86-linux"
-IUSE="lua52compat static-libs"
-
-S="${WORKDIR}/LuaJIT-${GIT_COMMIT}"
-
-_emake() {
- emake \
- Q= \
- PREFIX="${EPREFIX}/usr" \
- MULTILIB="$(get_libdir)" \
- DESTDIR="${D}" \
- CFLAGS="" \
- LDFLAGS="" \
- HOST_CC="$(tc-getBUILD_CC)" \
- HOST_CFLAGS="${BUILD_CPPFLAGS} ${BUILD_CFLAGS}" \
- HOST_LDFLAGS="${BUILD_LDFLAGS}" \
- STATIC_CC="$(tc-getCC)" \
- DYNAMIC_CC="$(tc-getCC) -fPIC" \
- TARGET_LD="$(tc-getCC)" \
- TARGET_CFLAGS="${CPPFLAGS} ${CFLAGS}" \
- TARGET_LDFLAGS="${LDFLAGS}" \
- TARGET_AR="$(tc-getAR) rcus" \
- BUILDMODE="$(usex static-libs mixed dynamic)" \
- TARGET_STRIP="true" \
- INSTALL_LIB="${ED}/usr/$(get_libdir)" \
- "$@"
-}
-
-src_compile() {
- tc-export_build_env
- _emake XCFLAGS="$(usex lua52compat "-DLUAJIT_ENABLE_LUA52COMPAT" "")"
-}
-
-src_install() {
- _emake install
- dosym luajit-2.1.0-beta3 /usr/bin/luajit
- pax-mark m "${ED}/usr/bin/luajit-${MY_PV}"
-
- HTML_DOCS="doc/." einstalldocs
-}
diff --git a/dev-lang/luajit/luajit-2.1.0_beta3_p20220613.ebuild b/dev-lang/luajit/luajit-2.1.0_beta3_p20220613.ebuild
deleted file mode 100644
index 01c4aca8c65c..000000000000
--- a/dev-lang/luajit/luajit-2.1.0_beta3_p20220613.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-GIT_COMMIT=0065cff7e0222c234b75a71e72b8883df5d000c2
-
-# Upstream don't make releases anymore and instead have a (broken) "rolling git tag"
-# model.
-#
-# https://github.com/LuaJIT/LuaJIT/issues/665#issuecomment-784452583
-# https://www.freelists.org/post/luajit/LuaJIT-uses-rolling-releases
-#
-# Regular snapshots should be made from the v2.1 branch.
-
-inherit pax-utils toolchain-funcs
-
-MY_PV="$(ver_cut 1-5)"
-MY_PV="${MY_PV/_beta/-beta}"
-MY_P="LuaJIT-${MY_PV}"
-
-DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
-HOMEPAGE="https://luajit.org/"
-# SRC_URI="https://luajit.org/download/${MY_P}.tar.gz"
-SRC_URI="https://github.com/LuaJIT/LuaJIT/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-# this should probably be pkgmoved to 2.0 for sake of consistency.
-SLOT="2/${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 -hppa ~mips ~ppc -riscv -sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="lua52compat static-libs"
-
-S="${WORKDIR}/LuaJIT-${GIT_COMMIT}"
-
-src_configure() {
- tc-export_build_env
-
- # You need to use a 32-bit toolchain to build for a 32-bit architecture.
- # Some 64-bit toolchains (like amd64 and ppc64) usually have multilib
- # enabled, allowing you to build in 32-bit with -m32. This won't work in all
- # cases, but it will otherwise just break, so it's worth trying anyway. If
- # you're trying to build for 64-bit from 32-bit, then you're screwed, sorry.
- # See https://github.com/LuaJIT/LuaJIT/issues/664 for the upstream issue.
- if tc-is-cross-compiler && [[ $(tc-get-build-ptr-size) != 4 && $(tc-get-ptr-size) == 4 ]]; then
- BUILD_CFLAGS+=" -m32"
- BUILD_LDFLAGS+=" -m32"
- fi
-}
-
-_emake() {
- emake \
- Q= \
- PREFIX="${EPREFIX}/usr" \
- MULTILIB="$(get_libdir)" \
- DESTDIR="${D}" \
- CFLAGS="" \
- LDFLAGS="" \
- HOST_CC="$(tc-getBUILD_CC)" \
- HOST_CFLAGS="${BUILD_CPPFLAGS} ${BUILD_CFLAGS}" \
- HOST_LDFLAGS="${BUILD_LDFLAGS}" \
- STATIC_CC="$(tc-getCC)" \
- DYNAMIC_CC="$(tc-getCC) -fPIC" \
- TARGET_LD="$(tc-getCC)" \
- TARGET_CFLAGS="${CPPFLAGS} ${CFLAGS}" \
- TARGET_LDFLAGS="${LDFLAGS}" \
- TARGET_AR="$(tc-getAR) rcus" \
- BUILDMODE="$(usex static-libs mixed dynamic)" \
- TARGET_STRIP="true" \
- INSTALL_LIB="${ED}/usr/$(get_libdir)" \
- "$@"
-}
-
-src_compile() {
- _emake XCFLAGS="$(usex lua52compat "-DLUAJIT_ENABLE_LUA52COMPAT" "")"
-}
-
-src_install() {
- _emake install
- dosym luajit-2.1.0-beta3 /usr/bin/luajit
- pax-mark m "${ED}/usr/bin/luajit-${MY_PV}"
-
- HTML_DOCS="doc/." einstalldocs
-}
diff --git a/dev-lang/luajit/metadata.xml b/dev-lang/luajit/metadata.xml
index edeaec8f16f2..9aaf0f2d3ecc 100644
--- a/dev-lang/luajit/metadata.xml
+++ b/dev-lang/luajit/metadata.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <!-- maintainer-needed -->
<use>
<flag name="lua52compat">
Enable some upwards-compatible features
diff --git a/dev-lang/mlton/Manifest b/dev-lang/mlton/Manifest
index 2285d9ddb956..9f5a45dfd107 100644
--- a/dev-lang/mlton/Manifest
+++ b/dev-lang/mlton/Manifest
@@ -2,5 +2,5 @@ AUX mlton-20180207-bootstrap.patch 980 BLAKE2B 4128d0d3aae1e30c6b234e9cc3e0d91ee
AUX mlton-20180207-paxmark.patch 728 BLAKE2B 05bb27260dc8007a815ce74276a537a48127b4c336472afca571c39b0e29368be5be79ae03c21940dde6bd37f79613817adc8f22d986d570fab4cb184051b141 SHA512 78526ab383f481663cc892938f74ad1783aa7a2b1fcfd7032a67c4489daa5d141877806fb16232b8f0843e7b4e001d3f76a9a171a8da6413cd921688f493f7f9
DIST mlton-20180207-1.amd64-linux.tgz 18772644 BLAKE2B 7fe2d9db7edfb2d3e301be88e90b7dffe1441ff315ddac1464ef42fb436be1a9dc4e2c03fdb93880779360aed04cb7662a1a5a733f2d4158082d228f718d8b93 SHA512 74ab847ff567cde365a113f8819bae69cc18df20c441a6c6666b600980d2687faf143311f42be21a261b2493dc5c45fbecb4737c599cf767c3680afec06c2e0c
DIST mlton-20180207.src.tgz 25003695 BLAKE2B 8cddfe83c76e05fda446917ddc85035b3d74534fe4bc597a839cd13cb59a15538f40a3f68bb8f7136f9cf8cb27a582e88ca0d14b8f7a4582a202b3bd075f3c9a SHA512 3599159950e857d257abce92abf5c548dd9c0b0cdc4ba0d7cdf9badb5d997f73386cd1ff79f563221b394dd831cb344e287927f90683b0715678edb3ca0ae15a
-EBUILD mlton-20180207.ebuild 7028 BLAKE2B 7789dce341ee7a92f26a5dd706ac169b78d946fe4015743c277e8d0cdd629d253a4f4748acc360098accf8df66d9daecdd8119d6dd7161e301b486afdba50ea4 SHA512 af7f7698fb809a9f547d161104507508d64f476f0e34baf7865bd446520a9203710959cb0c33245047841b2a20cf2e83f8bce3f678833f548967d2aeea8a7ae7
-MISC metadata.xml 695 BLAKE2B 1337d3e75b251006be201ea33faa842f747515ec7a816d336767960bfe06fdc1ab5f70ba6e40ceddc61cd7c7914ad6171705db261bd3425ca089beecfd8ff0be SHA512 c1021b1c91af678cc34477cdcd7d579f07862df34e97e4a67a98539499329092d2ce443e0ed0477044a144b50e6f12a9e5db8fb3893cee475cc9d14a5b76e845
+EBUILD mlton-20180207.ebuild 7126 BLAKE2B faf0969c45b8733f13337ca0df2f5ed24818162f4f8f67fd3ae4d58aa3af3b32680016f320412a642dc4b1aff66dd64f7e270236a1eb7c167cee9cbceacff28c SHA512 c9f792fe9eac895cd98f528d337d3415eb14206ca03ed709c3fdecc24a9c326e0a36f67e9b45cb7a79c8aac62fce7b7d7f793bd146f985cd560f07ecd1723e6e
+MISC metadata.xml 746 BLAKE2B 7a42ac83f43058486cd53bdf20666c2be5b0d02c17aa72cc0c8cdd65915449b345380580af44d0ddd230cc7ceba55c5371dc0f6149689ed6b70ceda6e93a6e12 SHA512 e8fb8097be40cd1d8a0fd06970393fdff95fdf21e56cd059f986bd7b26d3917acfbaec4fe00742c2db81c7791595014ccf93fa6efff44649a5c41ef991474184
diff --git a/dev-lang/mlton/metadata.xml b/dev-lang/mlton/metadata.xml
index b6e787edaff3..4b9fb56b4de7 100644
--- a/dev-lang/mlton/metadata.xml
+++ b/dev-lang/mlton/metadata.xml
@@ -14,5 +14,6 @@
</use>
<upstream>
<remote-id type="sourceforge">mlton</remote-id>
+ <remote-id type="github">MLton/mlton</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-lang/mlton/mlton-20180207.ebuild b/dev-lang/mlton/mlton-20180207.ebuild
index 22cd719e8d45..44e66eaa657c 100644
--- a/dev-lang/mlton/mlton-20180207.ebuild
+++ b/dev-lang/mlton/mlton-20180207.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-inherit check-reqs multibuild pax-utils
+inherit check-reqs flag-o-matic multibuild pax-utils
DESCRIPTION="Standard ML optimizing compiler and libraries"
BASE_URI="https://downloads.sourceforge.net/${PN}"
@@ -172,6 +172,10 @@ src_prepare() {
}
mlton_src_compile() {
+ # produces invalid codegen for twelf
+ # https://bugs.gentoo.org/863266
+ filter-lto
+
if [[ ${MULTIBUILD_VARIANT} == $(mlton_bootstrap_variant) ]]; then
emake -j1 \
"bootstrap-smlnj" \
diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest
index 01e80c9a5b38..3422ad22eef4 100644
--- a/dev-lang/python/Manifest
+++ b/dev-lang/python/Manifest
@@ -79,7 +79,7 @@ EBUILD python-3.13.0_rc2.ebuild 17167 BLAKE2B a43aad0a17cd72d1688b40ba9b67b97792
EBUILD python-3.8.19_p2.ebuild 12217 BLAKE2B ff0dc6d1012257d77cdac44a2c3b022ec6c06564a4f2bbf871450efd17d9486ee36af14d57fd338adfc9fdf96d43b880cd5b12f4f73bf2008b52e34fbd0e7459 SHA512 d61c2155ee1332be4c0bc799a306efd7b2ea0655ab1ec957446c9711b798bbee0d4815c5e4fb9da325d1c20dbe820ff03f58b7ff4e825a770f78a00706754062
EBUILD python-3.8.19_p3.ebuild 12224 BLAKE2B 8d182b564ce67a7962f6aca4143890b7d7c835aecdcff2b544721accdc85a0ab61a0e2f719fdf40c29fee0c90a558fe21f9da53dc6e092d1a3ae6ec41289fc45 SHA512 1d87ddcf64e82a28f97ec8d01f2d665e383f9c7ff58d8318065ace29f2122f2d3b9d578dc3fffd3b49b08d2dac2f45052937bc3badb4a5fe2d3db84393d13dff
EBUILD python-3.8.19_p4.ebuild 12224 BLAKE2B 8e0fc0ce54ad61c0e9f0471e1b9202bfb98315f4954e9913f4772eb7ccb668327a337cc8c83762663b85e9b0defcb7a20378040c205db920994389cb179e06e9 SHA512 d5f85ccee572821aedb57c5c50723d9b1437df39896d30a1299ae34b3e2bdf467167f67823617683751fd4e28d9a4801787c5fb4dc60d2151b4e7af9e87f40ad
-EBUILD python-3.8.20.ebuild 12224 BLAKE2B 0d3ca485d3399f932e3cb8175fefda311486dca0b6024367e84934d4c4eb3513fca8e435d29c1785fb5b5d707fd5fd8a52fadffe4ce714afa283f038fc9e8a2f SHA512 6280d96a6ce913b0401c514fdc027c8098faa1ccac26902168533509ad8cedfcc74b1c00d06f3cee87fe42c26b17fc7fb0bf50dc6d64399196518fd1140a81e7
+EBUILD python-3.8.20.ebuild 12223 BLAKE2B 8923585fb5005fd5a189361b19412e1063782589a06c9c74b05edc39e19992b4a19f3e6d8bda6dcca6df6030800c978c09c432d476dcb6498e10e52f033d30e8 SHA512 a21e492fa44970664fdb86cb71b333dd933e7fa313325b1350c27c28bca5ad68c96ce269827571e12d77e593e68beeeda1a7ba0434d610f4b014a3ab73b09559
EBUILD python-3.9.19_p3.ebuild 13667 BLAKE2B c1579e1d0395e677834ce1891f4de07abf4b5156d1e150d2f04dfd5a5a21afa4dde9e5800dc7ba591c3c5d51267c64c60f4ece3b31f583bb320841ce89c649f4 SHA512 9df7d256591e73d71d6b8e3a637d737102ae809534c62d92b69a9fad8cb1ad693730398f5392f03fa5a194c7259143d1e83fdc6bcd872599f322269108af4e66
EBUILD python-3.9.19_p4.ebuild 13674 BLAKE2B 6fe5612dba5a73c32326262d7aa8101801ee236fe9e9d887dc3d6c13854545b4aeca7a23ea71f80a83301fab5b5a77a402acfb5364dca7b2760872aba1802d1d SHA512 6f2916005ad1575b220ee9f328559b6832b6041e3899373c851a2f48f7f0567c40786cf80ef4a507a3d3cb5d0ffdea875aa452e96175fb0d22d4924f2f9ed7ef
EBUILD python-3.9.19_p5.ebuild 13674 BLAKE2B 693bbd6a9a19ca8c5cf13735df1240d6e9b80af4da55fa25f26db4ff99ee0d327c6d214be11bbbc11a73436586f46b70064d3c14227451e0eaf7d6aa45cacd89 SHA512 147e46e68d808028ac6079c68359895b07c5fb946737913f387d1b8f8f84bb520d99986f6542b08c57f89561555dfe1f5ddf89f434be0c1bddcb06901692b2d0
diff --git a/dev-lang/python/python-3.8.20.ebuild b/dev-lang/python/python-3.8.20.ebuild
index 82e915416632..7e418d6a23b3 100644
--- a/dev-lang/python/python-3.8.20.ebuild
+++ b/dev-lang/python/python-3.8.20.ebuild
@@ -28,7 +28,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="PSF-2"
SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc ~x86"
IUSE="
bluetooth build debug +ensurepip examples gdbm +ncurses pgo
+readline +sqlite +ssl test tk valgrind
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 763f90f71cc3..740e0aa13e8b 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -4,6 +4,7 @@ DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374b
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-115.15.0esr.source.tar.xz 507920832 BLAKE2B 997a3148b7019fbec95e1e003561a1135c27a769ff92a675debff540b20213a21cf96f9f2e9cb1db4e8c81702b7fcf7e1ba35045dc7dfd705957d099350ea9f3 SHA512 0df4c498c99cce08903004d2e0f9e977a19f7de86240aa82dba179b60f1d67ca3021eb474f56bddc38035e773eeb5d99bb3e1b0756d9f7583dc8e1f747f477ba
DIST firefox-115esr-patches-10.tar.xz 17256 BLAKE2B 0f6265d6e12f55e9b5128f2f261ba3785b80563e049d2441fde09dedf419c6086c9d994d2b44d1aab35af64cde375bdc254206da9ef148fc20fa90da0417606d SHA512 a1f0012420593a1c1b38dba1785ee9092e0923f56458c38f003cca4ebaac30a73fe3d1f5806a5795c76b2b8d729f8184372e63681daa450c3bb8e5afbe9e2e4f
DIST firefox-115esr-patches-13.tar.xz 51360 BLAKE2B a048bfadba989ebbd4c6e3df97d303d6853844e66ed92f5f5f322acf18866218b91d52dbbece63827de283eef855c932d67e329c8d93200aa83f11268a5d1b2f SHA512 186ec72323e621362dcef1bc67c476716aff97dfad701faa9220a7302e798d3cb4ed90d5ea59e3e92f016be29875bb5219787635db99a8848b7c76e4e2e09e90
DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185
@@ -11,4 +12,5 @@ DIST spidermonkey-115-patches-01.tar.xz 3992 BLAKE2B e97d0cb3edfb885119226f54f22
EBUILD spidermonkey-102.15.0.ebuild 15624 BLAKE2B a10e3fb8fcbc0f0016778a3c5bb1caea09b05eef2d059f5bb920158b45e9f15ab1e9bd9da90300457e68a147b334a49a86bd1dd07f036feedfa69d17491e63a5 SHA512 c71d02f78d2196e9afa44e3481fa9f6ef8324799b4a4a460eab531ca3d51e09a1b43a15bd2efbac5d11d03bb410babe6400236220684641c97aaa030ee970fdf
EBUILD spidermonkey-115.13.0.ebuild 13974 BLAKE2B 40e43ac67750de9928dd01e5cd5396a7e8a90a4ed284ac76fb4693351167a97ba48c6b717951fd7d8d82d4f1482d4b897e7c81d7b0026bb3a0ac821ba1bb2f2b SHA512 e828e1fad89c36a131a9f94cf738f547b93a69e4251e442209761409c9c3e4b71d075e56544584e629c1ec4289e566f783eccfd1cb8a1e07b516a7b40ea10951
EBUILD spidermonkey-115.14.0.ebuild 13979 BLAKE2B 96de21ebef7cf36ef49af9e783d477b9571aafa74ce97cd5da3c8c3aa18b41247867ecc991d63be71fb6f7113d804a3ee2fb69502d9d44a75404fc6d7f973176 SHA512 3558492dd944c0dd048c58b1c28b86422b49dc91ba15f57de676656b59add08e6ddb7b17827497c18f9bede9fbdaf94ce86c7f13a4928b41839abb88095938c1
+EBUILD spidermonkey-115.15.0.ebuild 13979 BLAKE2B 96de21ebef7cf36ef49af9e783d477b9571aafa74ce97cd5da3c8c3aa18b41247867ecc991d63be71fb6f7113d804a3ee2fb69502d9d44a75404fc6d7f973176 SHA512 3558492dd944c0dd048c58b1c28b86422b49dc91ba15f57de676656b59add08e6ddb7b17827497c18f9bede9fbdaf94ce86c7f13a4928b41839abb88095938c1
MISC metadata.xml 513 BLAKE2B 58ffd474492f03c16bda95e48511fb6281e03067d2ad77e994f8117345ecece5da9591dccedafe75b037d98e06851a3759caa4b993adc2910dbb76e1c01a7fa3 SHA512 1ee02bff37e2dabbd72b7f719463b12299270c7960b4cf5a92afab17c954c50e6acb826d4a91db4954fb4a7b0f8669988f2cdb5be991df90e3a605c6b35fdbfb
diff --git a/dev-lang/spidermonkey/spidermonkey-115.15.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.15.0.ebuild
new file mode 100644
index 000000000000..2bdbe0e3afc7
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-115.15.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-13.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
+}