commit:     9c0712fef03d999cf730ce695eb8821930c45291
Author:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 31 04:33:04 2025 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Jul 31 04:34:24 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9c0712fe

dev-lang/spidermonkey: drop versions

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

 dev-lang/spidermonkey/Manifest                     |   5 -
 dev-lang/spidermonkey/spidermonkey-128.11.0.ebuild | 482 ---------------------
 .../spidermonkey/spidermonkey-128.12.0-r1.ebuild   | 482 ---------------------
 dev-lang/spidermonkey/spidermonkey-128.12.0.ebuild | 482 ---------------------
 dev-lang/spidermonkey/spidermonkey-128.8.0.ebuild  | 482 ---------------------
 dev-lang/spidermonkey/spidermonkey-140.0.ebuild    | 467 --------------------
 6 files changed, 2400 deletions(-)

diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 7dd6258a7f07..8328601a0a5d 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -2,14 +2,9 @@ DIST firefox-115.16.0esr.source.tar.xz 515133700 BLAKE2B 
9501b617b346d56f6de975f
 DIST firefox-115.24.0esr.source.tar.xz 507720392 BLAKE2B 
04cfff28d39ce693182f293aefcf176e0700df89d8f70832f1ea8a20950529629a0e01d431d2d122c38f0689943fdce15438751bbe55f7160949a157e694e38a
 SHA512 
5f50d73845ddb61d4acf09223549fd90f2e576a5b21a83fa0521705f637ecbdd6034ea889ceb9ff66d4b6d1224b66e983503bc5b86279f07c15984f7f23d9643
 DIST firefox-115esr-patches-13.tar.xz 51360 BLAKE2B 
a048bfadba989ebbd4c6e3df97d303d6853844e66ed92f5f5f322acf18866218b91d52dbbece63827de283eef855c932d67e329c8d93200aa83f11268a5d1b2f
 SHA512 
186ec72323e621362dcef1bc67c476716aff97dfad701faa9220a7302e798d3cb4ed90d5ea59e3e92f016be29875bb5219787635db99a8848b7c76e4e2e09e90
 DIST firefox-128.10.1esr.source.tar.xz 568752664 BLAKE2B 
6fe2da50fcc49ecd1304bd167fd73dad312ae9364ba7a33fe9216cb4fcdb6f806f637dd6aa8857516fd516366c31e19a6120c56c6568f20b2eb87bb6b5b84fff
 SHA512 
6e7363d8cbecda1cedaf534ac10dc046b5f515399ec754492357e8a558c61ee3389f7bb90aa929dbcb4d6eba041ae1e778a0a8f90aa1e1f939eea517333b6c45
-DIST firefox-128.11.0esr.source.tar.xz 558920388 BLAKE2B 
698828743acb046589b5eadaf7699d39b170c8e9491585e9704599e3a7a2519a3e5c516a10b8af9ffe425319b6c386cfbcd6694c8feb309c702eb7e44a9a2c8e
 SHA512 
80af64c1dce6d7a25111480567a3251cc2d1edce00acc4d85bbaa44590f5bbf4c0716f9490c3ab8ef1e6fc2bbabb2379029c2dee51ce477933c7a5935092d279
-DIST firefox-128.12.0esr.source.tar.xz 560934320 BLAKE2B 
ba87d758e9f0d6803db2090fec27a24d8eece75226401190d76d11163424ad24d9db4882876bb88c872a84205265fac4a7b11b5e2826ce667466452b062f4807
 SHA512 
442d0b2b6ce02adcd878975f01e86548ca8fe93840185d77a1acb41ec99440c7abfdc8757e6f30d60593dcf2c7f50563b6ea6ccd4d239beea01305615b73c359
 DIST firefox-128.13.0esr.source.tar.xz 560782432 BLAKE2B 
1be2fb1e76167f83061fa805dc09b2f32dc7c813655cde72eea4b0ccc44a02570a78e2f177c909f2faed96eed6f47d08b783cae3f19c1d8e44dc8e531eb1ecc2
 SHA512 
9e6f3af535e0904219bcac947d458789cc43cbfaf476ac287328323662391eaaadeff57b244599acf3626a2fadc0bc41b70d07e33ca6af4412006ad01ceff034
-DIST firefox-128.8.0esr.source.tar.xz 563554116 BLAKE2B 
3fdfa2539b42a6a659d05ef9ad60d3dd7a0097abf3c5038150316d775e3eb864056a56edc58ae4e49ca36b3ccf2f05d68a07f8493a7649388e340cd81640e584
 SHA512 
7c0ef22bc14d4fa248cbae14d629174c9c967f891f4525f609760595f5a108aedf7dd804d1b63b97ec268613fa98378f4742a9b6ab562454351cf21175fdb802
-DIST firefox-128esr-patches-09.tar.xz 17976 BLAKE2B 
78f64f5086951f7bf2b304c1148154647aef5c4e699257cba5e94a83d8d8c159a591d0b2a7a5f8bc0f8ec28d5eae66a0783b45f94b4ef713282a6f88e46c75be
 SHA512 
159d8c94af0f90c10baf7446e573a37397b3be7103e7001fb6b38845a28a41793c21ad24c23e0b3cfc4daa2c3a6040ef701f612693c9f4dfff8534f82e7b18a1
 DIST firefox-128esr-patches-11.tar.xz 18696 BLAKE2B 
0f35eaa29f1daf9beb09c7303b3e92676eea84337683b8f7393e8b52e36ec1f37683a050e1e8d7939ebb1bdc190acaac887bebe88812c1b64785e38980f18be3
 SHA512 
04bf8bbf3c4e7901a6681fec66f179f797615613be838cf35a4b03cd9a347656b1264524ac7355f0c3978a5e740ddc5dc438610e5cae6ffcad73a8988cf0e572
 DIST firefox-139-patches-03.tar.xz 11536 BLAKE2B 
a7610d1348a2a4d02305c8d694a1648997040c69cb1445b901fe456045d0b1a73f28b0102ed03d34f70d8cc1ea9ab0245599a104b0063c7fb0dcb5a8fdd6f60b
 SHA512 
4733d34a842d525824fbcf6ef5d8f33e26b4f37a16aa87043427eaaf1e0665aa257cb8487bd692e4fd095c2a78553ab3f0213208124c3455e534394576fb5614
-DIST firefox-140.0esr.source.tar.xz 628567364 BLAKE2B 
c53de3ef536acbd72813ba4a8087f3cb363e380f16570ad2840db60235d55c7b2706ce9d694d029e8a2304bfb47a50cf8fa7a169a9c0631b9e7533ea4af6ad09
 SHA512 
12e40b81627ac4b44d43edb94aa1cd2a6c50bb49503e3b1b6f80259eed197ecb5847a0f0520ad204340dfe0ab7b5a4aa1ced2bc21ee0258471e8fdb121f6aaf4
 DIST firefox-140.1.0esr.source.tar.xz 638937036 BLAKE2B 
8a6c1f50802cafc171a4c5a197afd3c724053203d5d92fe35a7453fa1a8c05c743c246b1ac257f073f70b485fb0d5a68071254587677c55926aeeed0e0bc87cc
 SHA512 
1b5caff9b381cd449c40d148542501f7a31a7151a3f2f888e789c9743af8ee1d1eddbd970f8c0054902d1e1d739221db0cfcf1dc6ab704bb83bbb7b7b6a20055
 DIST spidermonkey-115-patches-02.tar.xz 4896 BLAKE2B 
f78d9804c1427b45d6fda496b4991ec6f672dec9ce031ed57a2920fa1968c942a235f46e40166c8ab8d731a1963f322d34bb2f6984133179175e6f7376d27d13
 SHA512 
11fd01152d1e7b8ca89bf628076e1f4fb4f1ba6c9dc0f9dd544252495c580c04e4d5ffc238d5587f9e993aa91a47828333564ca55f60e008bd370089cd07d2e6
 DIST spidermonkey-128-patches-03.tar.xz 3636 BLAKE2B 
99517642e255762c57a9e65f4c4c4107b8d6a1630dd2e68dea4527ac0e5d70fc435122e6b4068a8223c9b2a6e06503c242659d1895b9a2ff6d75212e9c917498
 SHA512 
71e059861318073f09f7892094e6d44ec04385385086b2e126de8e4f80cff99410bbfd352a10f325e950441c398f7ba0ac82c861ce417c10a37ab5ea063c6be2

diff --git a/dev-lang/spidermonkey/spidermonkey-128.11.0.ebuild 
b/dev-lang/spidermonkey/spidermonkey-128.11.0.ebuild
deleted file mode 100644
index 7bb6d0bb35b7..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-128.11.0.ebuild
+++ /dev/null
@@ -1,482 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-FIREFOX_PATCHSET="firefox-128esr-patches-11.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-03.tar.xz"
-
-LLVM_COMPAT=( 17 18 19 )
-RUST_NEEDS_LLVM=1
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="ncurses,ssl,xml(+)"
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing 
python-any-r1 rust toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}"
-
-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}
-)
-
-DESCRIPTION="Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://spidermonkey.dev 
https://firefox-source-docs.mozilla.org/js/index.html";
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
-       ${PATCH_URIS[@]}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-LICENSE="MPL-2.0"
-SLOT="$(ver_cut 1)"
-IUSE="clang cpu_flags_arm_neon debug +jit test"
-
-#RESTRICT="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
-       $(llvm_gen_dep '
-               clang? (
-                       llvm-core/clang:${LLVM_SLOT}
-                       llvm-core/lld:${LLVM_SLOT}
-                       llvm-core/llvm:${LLVM_SLOT}
-               )
-       ')
-       >=dev-util/cbindgen-0.26.0
-       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-${PV%_*}"
-
-llvm_check_deps() {
-       if use clang ; then
-               if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
-                       einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
-                       return 1
-               fi
-
-               if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then
-                       einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then
-                               einfo "llvm-core/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
-}
-
-mozconfig_add_options_ac() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 2 ]] ; then
-               die "${FUNCNAME} requires at least two arguments"
-       fi
-
-       local reason=${1}
-       shift
-
-       local option
-       for option in ${@} ; do
-               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
-       done
-}
-
-mozconfig_add_options_mk() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 2 ]] ; then
-               die "${FUNCNAME} requires at least two arguments"
-       fi
-
-       local reason=${1}
-       shift
-
-       local option
-       for option in ${@} ; do
-               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
-       done
-}
-
-mozconfig_use_enable() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 1 ]] ; then
-               die "${FUNCNAME} requires at least one arguments"
-       fi
-
-       local flag=$(use_enable "${@}")
-       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
-}
-
-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="4400M"
-       else
-               CHECKREQS_DISK_BUILD="4300M"
-       fi
-
-       check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-       # Get LTO from environment; export after this phase for use in 
src_configure (etc)
-       use_lto=no
-
-       if [[ ${MERGE_TYPE} != binary ]] ; then
-               if tc-is-lto; then
-                       use_lto=yes
-                       # LTO is handled via configure
-                       filter-lto
-               fi
-
-               if [[ ${use_lto} = yes ]]; then
-                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
-                       # bmo#1516758, bgo#942288
-                       filter-flags -Werror=lto-type-mismatch -Werror=odr
-               fi
-
-               if use test ; then
-                       CHECKREQS_DISK_BUILD="4400M"
-               else
-                       CHECKREQS_DISK_BUILD="4300M"
-               fi
-
-               check-reqs_pkg_setup
-               llvm-r1_pkg_setup
-               rust_pkg_setup
-               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
-
-       export use_lto
-}
-
-src_prepare() {
-       if [[ ${use_lto} == "yes" ]]; then
-               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.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"
-               elif use arm64 ; then
-                       export RUST_TARGET="aarch64-unknown-linux-musl"
-               elif use ppc64 ; then
-                       export RUST_TARGET="powerpc64le-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"
-
-       einfo "Removing pre-built binaries ..."
-       find third_party -type f \( -name '*.so' -o -name '*.o' \) -print 
-delete || die
-
-       # Create build dir
-       BUILD_DIR="${WORKDIR}/${PN}_build"
-       mkdir -p "${BUILD_DIR}" || die
-}
-
-src_configure() {
-       # Show flags set at the beginning
-       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
-       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
-               READELF=llvm-readelf
-               OBJDUMP=llvm-objdump
-
-       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
-               READELF=readelf
-               OBJDUMP=objdump
-       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 READELF PKG_CONFIG
-
-       # Pass the correct toolchain paths through cbindgen
-       if tc-is-cross-compiler ; then
-               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
-       fi
-
-       # ../python/mach/mach/mixin/process.py fails to detect SHELL
-       export SHELL="${EPREFIX}/bin/bash"
-
-       # Set state path
-       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
-
-       # Set MOZCONFIG
-       export MOZCONFIG="${S}/.mozconfig"
-
-       # Initialize MOZCONFIG
-       mozconfig_add_options_ac '' --enable-project=js
-
-       mozconfig_add_options_ac 'Gentoo default' \
-               --host="${CBUILD:-${CHOST}}" \
-               --target="${CHOST}" \
-               --disable-ctype \
-               --disable-jemalloc \
-               --disable-smoosh \
-               --disable-strip \
-               --enable-readline \
-               --enable-release \
-               --enable-shared-js \
-               --libdir="${EPREFIX}/usr/$(get_libdir)" \
-               --prefix="${EPREFIX}/usr" \
-               --with-intl-api \
-               --with-system-icu \
-               --with-system-nspr \
-               --with-system-zlib \
-               --with-toolchain-prefix="${CHOST}-" \
-               --x-includes="${ESYSROOT}/usr/include" \
-               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
-
-       mozconfig_use_enable debug
-       mozconfig_use_enable jit
-       mozconfig_use_enable test tests
-
-       if use debug ; then
-               mozconfig_add_options_ac '+debug' --disable-optimize
-               mozconfig_add_options_ac '+debug' --enable-debug-symbols
-               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
-       else
-               mozconfig_add_options_ac '-debug' --enable-optimize
-               mozconfig_add_options_ac '-debug' --disable-debug-symbols
-               mozconfig_add_options_ac '-debug' --disable-real-time-tracing
-       fi
-
-       # We always end up disabling this at some point due to newer rust 
versions. bgo#933372
-       mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd
-
-       # Modifications to better support ARM, bug 717344
-       if use cpu_flags_arm_neon ; then
-               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
-
-               if ! tc-is-clang ; then
-                       # thumb options aren't supported when using clang, bug 
666966
-                       mozconfig_add_options_ac '+cpu_flags_arm_neon' 
--with-thumb=yes
-                       mozconfig_add_options_ac '+cpu_flags_arm_neon' 
--with-thumb-interwork=no
-               fi
-       fi
-
-       # Tell build system that we want to use LTO
-       if [[ ${use_lto} == "yes" ]] ; then
-               if use clang ; then
-                       if tc-ld-is-mold ; then
-                               mozconfig_add_options_ac '+lto' 
--enable-linker=mold
-                       else
-                               mozconfig_add_options_ac '+lto' 
--enable-linker=lld
-                       fi
-                       mozconfig_add_options_ac '+lto' --enable-lto=cross
-
-               else
-                       mozconfig_add_options_ac '+lto' --enable-linker=bfd
-                       mozconfig_add_options_ac '+lto' --enable-lto=full
-               fi
-       fi
-
-       # LTO flag was handled via configure
-       filter-lto
-
-       # Pass MAKEOPTS to build system
-       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
-
-       # Use system's Python environment
-       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
-       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
-
-       # Disable notification when build system has finished
-       export MOZ_NOSPAM=1
-
-       # Portage sets XARGS environment variable to "xargs -r" by default which
-       # breaks build system's check_prog() function which doesn't support 
arguments
-       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
-
-       # Set build dir
-       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
-
-       # Show flags we will use
-       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
-       einfo "Build CFLAGS:    ${CFLAGS}"
-       einfo "Build CXXFLAGS:  ${CXXFLAGS}"
-       einfo "Build LDFLAGS:   ${LDFLAGS}"
-       einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
-       ./mach configure || die
-}
-
-src_compile() {
-       ./mach build --verbose || die
-}
-
-src_test() {
-       if "${BUILD_DIR}/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_test_failures.list || die
-
-       if use ppc ; then
-               echo 
"non262/extensions/reviver-mutates-holder-object-nonnative.js" >> 
"${T}"/known_test_failures.list
-               echo "non262/extensions/typedarray-set-detach.js" >> 
"${T}"/known_test_failures.list
-       fi
-
-       if use ppc64 ; then
-               echo 
"test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js"
 >> "${T}"/known_test_failures.list
-       fi
-
-       if use x86 ; then
-               echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> 
"${T}"/known_test_failures.list
-               echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> 
"${T}"/known_test_failures.list
-       fi
-
-       ./mach jstests --exclude-file="${T}"/known_test_failures.list || die
-}
-
-src_install() {
-       cd "${BUILD_DIR}" || 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
-}

diff --git a/dev-lang/spidermonkey/spidermonkey-128.12.0-r1.ebuild 
b/dev-lang/spidermonkey/spidermonkey-128.12.0-r1.ebuild
deleted file mode 100644
index 951ea6fb8dad..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-128.12.0-r1.ebuild
+++ /dev/null
@@ -1,482 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-FIREFOX_PATCHSET="firefox-128esr-patches-11.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-03.tar.xz"
-
-LLVM_COMPAT=( 17 18 19 )
-RUST_NEEDS_LLVM=1
-
-PYTHON_COMPAT=( python3_{10..13} )
-PYTHON_REQ_USE="ncurses,ssl,xml(+)"
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing 
python-any-r1 rust toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}"
-
-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}
-)
-
-DESCRIPTION="Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://spidermonkey.dev 
https://firefox-source-docs.mozilla.org/js/index.html";
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
-       ${PATCH_URIS[@]}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-LICENSE="MPL-2.0"
-SLOT="$(ver_cut 1)"
-IUSE="clang cpu_flags_arm_neon debug +jit test"
-
-#RESTRICT="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
-       $(llvm_gen_dep '
-               clang? (
-                       llvm-core/clang:${LLVM_SLOT}
-                       llvm-core/lld:${LLVM_SLOT}
-                       llvm-core/llvm:${LLVM_SLOT}
-               )
-       ')
-       >=dev-util/cbindgen-0.26.0
-       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-${PV%_*}"
-
-llvm_check_deps() {
-       if use clang ; then
-               if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
-                       einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
-                       return 1
-               fi
-
-               if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then
-                       einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then
-                               einfo "llvm-core/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
-}
-
-mozconfig_add_options_ac() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 2 ]] ; then
-               die "${FUNCNAME} requires at least two arguments"
-       fi
-
-       local reason=${1}
-       shift
-
-       local option
-       for option in ${@} ; do
-               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
-       done
-}
-
-mozconfig_add_options_mk() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 2 ]] ; then
-               die "${FUNCNAME} requires at least two arguments"
-       fi
-
-       local reason=${1}
-       shift
-
-       local option
-       for option in ${@} ; do
-               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
-       done
-}
-
-mozconfig_use_enable() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 1 ]] ; then
-               die "${FUNCNAME} requires at least one arguments"
-       fi
-
-       local flag=$(use_enable "${@}")
-       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
-}
-
-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="4400M"
-       else
-               CHECKREQS_DISK_BUILD="4300M"
-       fi
-
-       check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-       # Get LTO from environment; export after this phase for use in 
src_configure (etc)
-       use_lto=no
-
-       if [[ ${MERGE_TYPE} != binary ]] ; then
-               if tc-is-lto; then
-                       use_lto=yes
-                       # LTO is handled via configure
-                       filter-lto
-               fi
-
-               if [[ ${use_lto} = yes ]]; then
-                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
-                       # bmo#1516758, bgo#942288
-                       filter-flags -Werror=lto-type-mismatch -Werror=odr
-               fi
-
-               if use test ; then
-                       CHECKREQS_DISK_BUILD="4400M"
-               else
-                       CHECKREQS_DISK_BUILD="4300M"
-               fi
-
-               check-reqs_pkg_setup
-               llvm-r1_pkg_setup
-               rust_pkg_setup
-               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
-
-       export use_lto
-}
-
-src_prepare() {
-       if [[ ${use_lto} == "yes" ]]; then
-               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.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"
-               elif use arm64 ; then
-                       export RUST_TARGET="aarch64-unknown-linux-musl"
-               elif use ppc64 ; then
-                       export RUST_TARGET="powerpc64le-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"
-
-       einfo "Removing pre-built binaries ..."
-       find third_party -type f \( -name '*.so' -o -name '*.o' \) -print 
-delete || die
-
-       # Create build dir
-       BUILD_DIR="${WORKDIR}/${PN}_build"
-       mkdir -p "${BUILD_DIR}" || die
-}
-
-src_configure() {
-       # Show flags set at the beginning
-       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
-       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
-               READELF=llvm-readelf
-               OBJDUMP=llvm-objdump
-
-       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
-               READELF=readelf
-               OBJDUMP=objdump
-       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 READELF PKG_CONFIG
-
-       # Pass the correct toolchain paths through cbindgen
-       if tc-is-cross-compiler ; then
-               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
-       fi
-
-       # ../python/mach/mach/mixin/process.py fails to detect SHELL
-       export SHELL="${EPREFIX}/bin/bash"
-
-       # Set state path
-       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
-
-       # Set MOZCONFIG
-       export MOZCONFIG="${S}/.mozconfig"
-
-       # Initialize MOZCONFIG
-       mozconfig_add_options_ac '' --enable-project=js
-
-       mozconfig_add_options_ac 'Gentoo default' \
-               --host="${CBUILD:-${CHOST}}" \
-               --target="${CHOST}" \
-               --disable-ctype \
-               --disable-jemalloc \
-               --disable-smoosh \
-               --disable-strip \
-               --enable-readline \
-               --enable-release \
-               --enable-shared-js \
-               --libdir="${EPREFIX}/usr/$(get_libdir)" \
-               --prefix="${EPREFIX}/usr" \
-               --with-intl-api \
-               --with-system-icu \
-               --with-system-nspr \
-               --with-system-zlib \
-               --with-toolchain-prefix="${CHOST}-" \
-               --x-includes="${ESYSROOT}/usr/include" \
-               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
-
-       mozconfig_use_enable debug
-       mozconfig_use_enable jit
-       mozconfig_use_enable test tests
-
-       if use debug ; then
-               mozconfig_add_options_ac '+debug' --disable-optimize
-               mozconfig_add_options_ac '+debug' --enable-debug-symbols
-               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
-       else
-               mozconfig_add_options_ac '-debug' --enable-optimize
-               mozconfig_add_options_ac '-debug' --disable-debug-symbols
-               mozconfig_add_options_ac '-debug' --disable-real-time-tracing
-       fi
-
-       # We always end up disabling this at some point due to newer rust 
versions. bgo#933372
-       mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd
-
-       # Modifications to better support ARM, bug 717344
-       if use cpu_flags_arm_neon ; then
-               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
-
-               if ! tc-is-clang ; then
-                       # thumb options aren't supported when using clang, bug 
666966
-                       mozconfig_add_options_ac '+cpu_flags_arm_neon' 
--with-thumb=yes
-                       mozconfig_add_options_ac '+cpu_flags_arm_neon' 
--with-thumb-interwork=no
-               fi
-       fi
-
-       # Tell build system that we want to use LTO
-       if [[ ${use_lto} == "yes" ]] ; then
-               if use clang ; then
-                       if tc-ld-is-mold ; then
-                               mozconfig_add_options_ac '+lto' 
--enable-linker=mold
-                       else
-                               mozconfig_add_options_ac '+lto' 
--enable-linker=lld
-                       fi
-                       mozconfig_add_options_ac '+lto' --enable-lto=cross
-
-               else
-                       mozconfig_add_options_ac '+lto' --enable-linker=bfd
-                       mozconfig_add_options_ac '+lto' --enable-lto=full
-               fi
-       fi
-
-       # LTO flag was handled via configure
-       filter-lto
-
-       # Pass MAKEOPTS to build system
-       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
-
-       # Use system's Python environment
-       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
-       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
-
-       # Disable notification when build system has finished
-       export MOZ_NOSPAM=1
-
-       # Portage sets XARGS environment variable to "xargs -r" by default which
-       # breaks build system's check_prog() function which doesn't support 
arguments
-       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
-
-       # Set build dir
-       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
-
-       # Show flags we will use
-       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
-       einfo "Build CFLAGS:    ${CFLAGS}"
-       einfo "Build CXXFLAGS:  ${CXXFLAGS}"
-       einfo "Build LDFLAGS:   ${LDFLAGS}"
-       einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
-       ./mach configure || die
-}
-
-src_compile() {
-       ./mach build --verbose || die
-}
-
-src_test() {
-       if "${BUILD_DIR}/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_test_failures.list || die
-
-       if use ppc ; then
-               echo 
"non262/extensions/reviver-mutates-holder-object-nonnative.js" >> 
"${T}"/known_test_failures.list
-               echo "non262/extensions/typedarray-set-detach.js" >> 
"${T}"/known_test_failures.list
-       fi
-
-       if use ppc64 ; then
-               echo 
"test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js"
 >> "${T}"/known_test_failures.list
-       fi
-
-       if use x86 ; then
-               echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> 
"${T}"/known_test_failures.list
-               echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> 
"${T}"/known_test_failures.list
-       fi
-
-       ./mach jstests --exclude-file="${T}"/known_test_failures.list || die
-}
-
-src_install() {
-       cd "${BUILD_DIR}" || 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
-}

diff --git a/dev-lang/spidermonkey/spidermonkey-128.12.0.ebuild 
b/dev-lang/spidermonkey/spidermonkey-128.12.0.ebuild
deleted file mode 100644
index 7bb6d0bb35b7..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-128.12.0.ebuild
+++ /dev/null
@@ -1,482 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-FIREFOX_PATCHSET="firefox-128esr-patches-11.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-03.tar.xz"
-
-LLVM_COMPAT=( 17 18 19 )
-RUST_NEEDS_LLVM=1
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="ncurses,ssl,xml(+)"
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing 
python-any-r1 rust toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}"
-
-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}
-)
-
-DESCRIPTION="Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://spidermonkey.dev 
https://firefox-source-docs.mozilla.org/js/index.html";
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
-       ${PATCH_URIS[@]}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-LICENSE="MPL-2.0"
-SLOT="$(ver_cut 1)"
-IUSE="clang cpu_flags_arm_neon debug +jit test"
-
-#RESTRICT="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
-       $(llvm_gen_dep '
-               clang? (
-                       llvm-core/clang:${LLVM_SLOT}
-                       llvm-core/lld:${LLVM_SLOT}
-                       llvm-core/llvm:${LLVM_SLOT}
-               )
-       ')
-       >=dev-util/cbindgen-0.26.0
-       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-${PV%_*}"
-
-llvm_check_deps() {
-       if use clang ; then
-               if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
-                       einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
-                       return 1
-               fi
-
-               if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then
-                       einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then
-                               einfo "llvm-core/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
-}
-
-mozconfig_add_options_ac() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 2 ]] ; then
-               die "${FUNCNAME} requires at least two arguments"
-       fi
-
-       local reason=${1}
-       shift
-
-       local option
-       for option in ${@} ; do
-               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
-       done
-}
-
-mozconfig_add_options_mk() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 2 ]] ; then
-               die "${FUNCNAME} requires at least two arguments"
-       fi
-
-       local reason=${1}
-       shift
-
-       local option
-       for option in ${@} ; do
-               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
-       done
-}
-
-mozconfig_use_enable() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 1 ]] ; then
-               die "${FUNCNAME} requires at least one arguments"
-       fi
-
-       local flag=$(use_enable "${@}")
-       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
-}
-
-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="4400M"
-       else
-               CHECKREQS_DISK_BUILD="4300M"
-       fi
-
-       check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-       # Get LTO from environment; export after this phase for use in 
src_configure (etc)
-       use_lto=no
-
-       if [[ ${MERGE_TYPE} != binary ]] ; then
-               if tc-is-lto; then
-                       use_lto=yes
-                       # LTO is handled via configure
-                       filter-lto
-               fi
-
-               if [[ ${use_lto} = yes ]]; then
-                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
-                       # bmo#1516758, bgo#942288
-                       filter-flags -Werror=lto-type-mismatch -Werror=odr
-               fi
-
-               if use test ; then
-                       CHECKREQS_DISK_BUILD="4400M"
-               else
-                       CHECKREQS_DISK_BUILD="4300M"
-               fi
-
-               check-reqs_pkg_setup
-               llvm-r1_pkg_setup
-               rust_pkg_setup
-               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
-
-       export use_lto
-}
-
-src_prepare() {
-       if [[ ${use_lto} == "yes" ]]; then
-               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.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"
-               elif use arm64 ; then
-                       export RUST_TARGET="aarch64-unknown-linux-musl"
-               elif use ppc64 ; then
-                       export RUST_TARGET="powerpc64le-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"
-
-       einfo "Removing pre-built binaries ..."
-       find third_party -type f \( -name '*.so' -o -name '*.o' \) -print 
-delete || die
-
-       # Create build dir
-       BUILD_DIR="${WORKDIR}/${PN}_build"
-       mkdir -p "${BUILD_DIR}" || die
-}
-
-src_configure() {
-       # Show flags set at the beginning
-       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
-       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
-               READELF=llvm-readelf
-               OBJDUMP=llvm-objdump
-
-       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
-               READELF=readelf
-               OBJDUMP=objdump
-       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 READELF PKG_CONFIG
-
-       # Pass the correct toolchain paths through cbindgen
-       if tc-is-cross-compiler ; then
-               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
-       fi
-
-       # ../python/mach/mach/mixin/process.py fails to detect SHELL
-       export SHELL="${EPREFIX}/bin/bash"
-
-       # Set state path
-       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
-
-       # Set MOZCONFIG
-       export MOZCONFIG="${S}/.mozconfig"
-
-       # Initialize MOZCONFIG
-       mozconfig_add_options_ac '' --enable-project=js
-
-       mozconfig_add_options_ac 'Gentoo default' \
-               --host="${CBUILD:-${CHOST}}" \
-               --target="${CHOST}" \
-               --disable-ctype \
-               --disable-jemalloc \
-               --disable-smoosh \
-               --disable-strip \
-               --enable-readline \
-               --enable-release \
-               --enable-shared-js \
-               --libdir="${EPREFIX}/usr/$(get_libdir)" \
-               --prefix="${EPREFIX}/usr" \
-               --with-intl-api \
-               --with-system-icu \
-               --with-system-nspr \
-               --with-system-zlib \
-               --with-toolchain-prefix="${CHOST}-" \
-               --x-includes="${ESYSROOT}/usr/include" \
-               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
-
-       mozconfig_use_enable debug
-       mozconfig_use_enable jit
-       mozconfig_use_enable test tests
-
-       if use debug ; then
-               mozconfig_add_options_ac '+debug' --disable-optimize
-               mozconfig_add_options_ac '+debug' --enable-debug-symbols
-               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
-       else
-               mozconfig_add_options_ac '-debug' --enable-optimize
-               mozconfig_add_options_ac '-debug' --disable-debug-symbols
-               mozconfig_add_options_ac '-debug' --disable-real-time-tracing
-       fi
-
-       # We always end up disabling this at some point due to newer rust 
versions. bgo#933372
-       mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd
-
-       # Modifications to better support ARM, bug 717344
-       if use cpu_flags_arm_neon ; then
-               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
-
-               if ! tc-is-clang ; then
-                       # thumb options aren't supported when using clang, bug 
666966
-                       mozconfig_add_options_ac '+cpu_flags_arm_neon' 
--with-thumb=yes
-                       mozconfig_add_options_ac '+cpu_flags_arm_neon' 
--with-thumb-interwork=no
-               fi
-       fi
-
-       # Tell build system that we want to use LTO
-       if [[ ${use_lto} == "yes" ]] ; then
-               if use clang ; then
-                       if tc-ld-is-mold ; then
-                               mozconfig_add_options_ac '+lto' 
--enable-linker=mold
-                       else
-                               mozconfig_add_options_ac '+lto' 
--enable-linker=lld
-                       fi
-                       mozconfig_add_options_ac '+lto' --enable-lto=cross
-
-               else
-                       mozconfig_add_options_ac '+lto' --enable-linker=bfd
-                       mozconfig_add_options_ac '+lto' --enable-lto=full
-               fi
-       fi
-
-       # LTO flag was handled via configure
-       filter-lto
-
-       # Pass MAKEOPTS to build system
-       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
-
-       # Use system's Python environment
-       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
-       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
-
-       # Disable notification when build system has finished
-       export MOZ_NOSPAM=1
-
-       # Portage sets XARGS environment variable to "xargs -r" by default which
-       # breaks build system's check_prog() function which doesn't support 
arguments
-       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
-
-       # Set build dir
-       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
-
-       # Show flags we will use
-       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
-       einfo "Build CFLAGS:    ${CFLAGS}"
-       einfo "Build CXXFLAGS:  ${CXXFLAGS}"
-       einfo "Build LDFLAGS:   ${LDFLAGS}"
-       einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
-       ./mach configure || die
-}
-
-src_compile() {
-       ./mach build --verbose || die
-}
-
-src_test() {
-       if "${BUILD_DIR}/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_test_failures.list || die
-
-       if use ppc ; then
-               echo 
"non262/extensions/reviver-mutates-holder-object-nonnative.js" >> 
"${T}"/known_test_failures.list
-               echo "non262/extensions/typedarray-set-detach.js" >> 
"${T}"/known_test_failures.list
-       fi
-
-       if use ppc64 ; then
-               echo 
"test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js"
 >> "${T}"/known_test_failures.list
-       fi
-
-       if use x86 ; then
-               echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> 
"${T}"/known_test_failures.list
-               echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> 
"${T}"/known_test_failures.list
-       fi
-
-       ./mach jstests --exclude-file="${T}"/known_test_failures.list || die
-}
-
-src_install() {
-       cd "${BUILD_DIR}" || 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
-}

diff --git a/dev-lang/spidermonkey/spidermonkey-128.8.0.ebuild 
b/dev-lang/spidermonkey/spidermonkey-128.8.0.ebuild
deleted file mode 100644
index 06695ea79639..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-128.8.0.ebuild
+++ /dev/null
@@ -1,482 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-FIREFOX_PATCHSET="firefox-128esr-patches-09.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-03.tar.xz"
-
-LLVM_COMPAT=( 17 18 19 )
-RUST_NEEDS_LLVM=1
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="ncurses,ssl,xml(+)"
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm-r1 multiprocessing 
python-any-r1 rust toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}"
-
-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}
-)
-
-DESCRIPTION="Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://spidermonkey.dev 
https://firefox-source-docs.mozilla.org/js/index.html";
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
-       ${PATCH_URIS[@]}"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
-
-LICENSE="MPL-2.0"
-SLOT="$(ver_cut 1)"
-IUSE="clang cpu_flags_arm_neon debug +jit test"
-
-#RESTRICT="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
-       $(llvm_gen_dep '
-               clang? (
-                       llvm-core/clang:${LLVM_SLOT}
-                       llvm-core/lld:${LLVM_SLOT}
-                       llvm-core/llvm:${LLVM_SLOT}
-               )
-       ')
-       >=dev-util/cbindgen-0.26.0
-       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-${PV%_*}"
-
-llvm_check_deps() {
-       if use clang ; then
-               if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
-                       einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
-                       return 1
-               fi
-
-               if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then
-                       einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then
-                               einfo "llvm-core/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
-}
-
-mozconfig_add_options_ac() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 2 ]] ; then
-               die "${FUNCNAME} requires at least two arguments"
-       fi
-
-       local reason=${1}
-       shift
-
-       local option
-       for option in ${@} ; do
-               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
-       done
-}
-
-mozconfig_add_options_mk() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 2 ]] ; then
-               die "${FUNCNAME} requires at least two arguments"
-       fi
-
-       local reason=${1}
-       shift
-
-       local option
-       for option in ${@} ; do
-               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
-       done
-}
-
-mozconfig_use_enable() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 1 ]] ; then
-               die "${FUNCNAME} requires at least one arguments"
-       fi
-
-       local flag=$(use_enable "${@}")
-       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
-}
-
-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="4400M"
-       else
-               CHECKREQS_DISK_BUILD="4300M"
-       fi
-
-       check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-       # Get LTO from environment; export after this phase for use in 
src_configure (etc)
-       use_lto=no
-
-       if [[ ${MERGE_TYPE} != binary ]] ; then
-               if tc-is-lto; then
-                       use_lto=yes
-                       # LTO is handled via configure
-                       filter-lto
-               fi
-
-               if [[ ${use_lto} = yes ]]; then
-                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
-                       # bmo#1516758, bgo#942288
-                       filter-flags -Werror=lto-type-mismatch -Werror=odr
-               fi
-
-               if use test ; then
-                       CHECKREQS_DISK_BUILD="4400M"
-               else
-                       CHECKREQS_DISK_BUILD="4300M"
-               fi
-
-               check-reqs_pkg_setup
-               llvm-r1_pkg_setup
-               rust_pkg_setup
-               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
-
-       export use_lto
-}
-
-src_prepare() {
-       if [[ ${use_lto} == "yes" ]]; then
-               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.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"
-               elif use arm64 ; then
-                       export RUST_TARGET="aarch64-unknown-linux-musl"
-               elif use ppc64 ; then
-                       export RUST_TARGET="powerpc64le-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"
-
-       einfo "Removing pre-built binaries ..."
-       find third_party -type f \( -name '*.so' -o -name '*.o' \) -print 
-delete || die
-
-       # Create build dir
-       BUILD_DIR="${WORKDIR}/${PN}_build"
-       mkdir -p "${BUILD_DIR}" || die
-}
-
-src_configure() {
-       # Show flags set at the beginning
-       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
-       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
-               READELF=llvm-readelf
-               OBJDUMP=llvm-objdump
-
-       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
-               READELF=readelf
-               OBJDUMP=objdump
-       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 READELF PKG_CONFIG
-
-       # Pass the correct toolchain paths through cbindgen
-       if tc-is-cross-compiler ; then
-               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
-       fi
-
-       # ../python/mach/mach/mixin/process.py fails to detect SHELL
-       export SHELL="${EPREFIX}/bin/bash"
-
-       # Set state path
-       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
-
-       # Set MOZCONFIG
-       export MOZCONFIG="${S}/.mozconfig"
-
-       # Initialize MOZCONFIG
-       mozconfig_add_options_ac '' --enable-project=js
-
-       mozconfig_add_options_ac 'Gentoo default' \
-               --host="${CBUILD:-${CHOST}}" \
-               --target="${CHOST}" \
-               --disable-ctype \
-               --disable-jemalloc \
-               --disable-smoosh \
-               --disable-strip \
-               --enable-readline \
-               --enable-release \
-               --enable-shared-js \
-               --libdir="${EPREFIX}/usr/$(get_libdir)" \
-               --prefix="${EPREFIX}/usr" \
-               --with-intl-api \
-               --with-system-icu \
-               --with-system-nspr \
-               --with-system-zlib \
-               --with-toolchain-prefix="${CHOST}-" \
-               --x-includes="${ESYSROOT}/usr/include" \
-               --x-libraries="${ESYSROOT}/usr/$(get_libdir)"
-
-       mozconfig_use_enable debug
-       mozconfig_use_enable jit
-       mozconfig_use_enable test tests
-
-       if use debug ; then
-               mozconfig_add_options_ac '+debug' --disable-optimize
-               mozconfig_add_options_ac '+debug' --enable-debug-symbols
-               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
-       else
-               mozconfig_add_options_ac '-debug' --enable-optimize
-               mozconfig_add_options_ac '-debug' --disable-debug-symbols
-               mozconfig_add_options_ac '-debug' --disable-real-time-tracing
-       fi
-
-       # We always end up disabling this at some point due to newer rust 
versions. bgo#933372
-       mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd
-
-       # Modifications to better support ARM, bug 717344
-       if use cpu_flags_arm_neon ; then
-               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
-
-               if ! tc-is-clang ; then
-                       # thumb options aren't supported when using clang, bug 
666966
-                       mozconfig_add_options_ac '+cpu_flags_arm_neon' 
--with-thumb=yes
-                       mozconfig_add_options_ac '+cpu_flags_arm_neon' 
--with-thumb-interwork=no
-               fi
-       fi
-
-       # Tell build system that we want to use LTO
-       if [[ ${use_lto} == "yes" ]] ; then
-               if use clang ; then
-                       if tc-ld-is-mold ; then
-                               mozconfig_add_options_ac '+lto' 
--enable-linker=mold
-                       else
-                               mozconfig_add_options_ac '+lto' 
--enable-linker=lld
-                       fi
-                       mozconfig_add_options_ac '+lto' --enable-lto=cross
-
-               else
-                       mozconfig_add_options_ac '+lto' --enable-linker=bfd
-                       mozconfig_add_options_ac '+lto' --enable-lto=full
-               fi
-       fi
-
-       # LTO flag was handled via configure
-       filter-lto
-
-       # Pass MAKEOPTS to build system
-       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
-
-       # Use system's Python environment
-       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
-       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
-
-       # Disable notification when build system has finished
-       export MOZ_NOSPAM=1
-
-       # Portage sets XARGS environment variable to "xargs -r" by default which
-       # breaks build system's check_prog() function which doesn't support 
arguments
-       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
-
-       # Set build dir
-       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
-
-       # Show flags we will use
-       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
-       einfo "Build CFLAGS:    ${CFLAGS}"
-       einfo "Build CXXFLAGS:  ${CXXFLAGS}"
-       einfo "Build LDFLAGS:   ${LDFLAGS}"
-       einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
-       ./mach configure || die
-}
-
-src_compile() {
-       ./mach build --verbose || die
-}
-
-src_test() {
-       if "${BUILD_DIR}/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_test_failures.list || die
-
-       if use ppc ; then
-               echo 
"non262/extensions/reviver-mutates-holder-object-nonnative.js" >> 
"${T}"/known_test_failures.list
-               echo "non262/extensions/typedarray-set-detach.js" >> 
"${T}"/known_test_failures.list
-       fi
-
-       if use ppc64 ; then
-               echo 
"test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js"
 >> "${T}"/known_test_failures.list
-       fi
-
-       if use x86 ; then
-               echo "non262/Intl/DateTimeFormat/timeZone_version.js" >> 
"${T}"/known_test_failures.list
-               echo "test262/intl402/Locale/constructor-non-iana-canon.js" >> 
"${T}"/known_test_failures.list
-       fi
-
-       ./mach jstests --exclude-file="${T}"/known_test_failures.list || die
-}
-
-src_install() {
-       cd "${BUILD_DIR}" || 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
-}

diff --git a/dev-lang/spidermonkey/spidermonkey-140.0.ebuild 
b/dev-lang/spidermonkey/spidermonkey-140.0.ebuild
deleted file mode 100644
index 17714dbf083c..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-140.0.ebuild
+++ /dev/null
@@ -1,467 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-FIREFOX_PATCHSET="firefox-139-patches-03.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-140-patches-01.tar.xz"
-
-LLVM_COMPAT=( 19 20 )
-RUST_NEEDS_LLVM=1
-RUST_MIN_VER=1.82.0
-
-PYTHON_COMPAT=( python3_{11..13} )
-PYTHON_REQ_USE="ncurses,ssl,xml(+)"
-
-WANT_AUTOCONF="2.1"
-
-inherit check-reqs flag-o-matic llvm-r1 multiprocessing python-any-r1 rust 
toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}"
-
-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}
-)
-
-DESCRIPTION="Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://spidermonkey.dev 
https://firefox-source-docs.mozilla.org/js/index.html";
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> 
${MOZ_P_DISTFILES}.source.tar.xz
-       ${PATCH_URIS[@]}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-LICENSE="MPL-2.0"
-SLOT="$(ver_cut 1)"
-IUSE="clang cpu_flags_arm_neon debug +jit test"
-
-#RESTRICT="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
-       $(llvm_gen_dep '
-               clang? (
-                       llvm-core/clang:${LLVM_SLOT}
-                       llvm-core/lld:${LLVM_SLOT}
-                       llvm-core/llvm:${LLVM_SLOT}
-               )
-       ')
-       >=dev-util/cbindgen-0.27.0
-       virtual/pkgconfig
-       test? (
-               $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
-       )"
-DEPEND=">=dev-libs/icu-76.1:=
-       >=dev-libs/nspr-4.35
-       sys-libs/readline:0=
-       sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/firefox-${PV%_*}"
-
-llvm_check_deps() {
-       if use clang ; then
-               if ! has_version -b "llvm-core/clang:${LLVM_SLOT}" ; then
-                       einfo "llvm-core/clang:${LLVM_SLOT} is missing! Cannot 
use LLVM slot ${LLVM_SLOT} ..." >&2
-                       return 1
-               fi
-
-               if ! has_version -b "llvm-core/llvm:${LLVM_SLOT}" ; then
-                       einfo "llvm-core/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 "llvm-core/lld:${LLVM_SLOT}" ; then
-                               einfo "llvm-core/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
-}
-
-mozconfig_add_options_ac() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 2 ]] ; then
-               die "${FUNCNAME} requires at least two arguments"
-       fi
-
-       local reason=${1}
-       shift
-
-       local option
-       for option in ${@} ; do
-               echo "ac_add_options ${option} # ${reason}" >>${MOZCONFIG}
-       done
-}
-
-mozconfig_add_options_mk() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 2 ]] ; then
-               die "${FUNCNAME} requires at least two arguments"
-       fi
-
-       local reason=${1}
-       shift
-
-       local option
-       for option in ${@} ; do
-               echo "mk_add_options ${option} # ${reason}" >>${MOZCONFIG}
-       done
-}
-
-mozconfig_use_enable() {
-       debug-print-function ${FUNCNAME} "$@"
-
-       if [[ ${#} -lt 1 ]] ; then
-               die "${FUNCNAME} requires at least one arguments"
-       fi
-
-       local flag=$(use_enable "${@}")
-       mozconfig_add_options_ac "$(use ${1} && echo +${1} || echo -${1})" 
"${flag}"
-}
-
-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="4400M"
-       else
-               CHECKREQS_DISK_BUILD="4300M"
-       fi
-
-       check-reqs_pkg_pretend
-}
-
-pkg_setup() {
-       # Get LTO from environment; export after this phase for use in 
src_configure (etc)
-       use_lto=no
-
-       if [[ ${MERGE_TYPE} != binary ]] ; then
-               if tc-is-lto; then
-                       use_lto=yes
-                       # LTO is handled via configure
-                       filter-lto
-               fi
-
-               if [[ ${use_lto} = yes ]]; then
-                       # -Werror=lto-type-mismatch -Werror=odr are going to 
fail with GCC,
-                       # bmo#1516758, bgo#942288
-                       filter-flags -Werror=lto-type-mismatch -Werror=odr
-               fi
-
-               if use test ; then
-                       CHECKREQS_DISK_BUILD="4400M"
-               else
-                       CHECKREQS_DISK_BUILD="4300M"
-               fi
-
-               check-reqs_pkg_setup
-               llvm-r1_pkg_setup
-               rust_pkg_setup
-               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
-
-       export use_lto
-}
-
-src_prepare() {
-       if [[ ${use_lto} == "yes" ]]; then
-               rm -v 
"${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.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"
-               elif use arm64 ; then
-                       export RUST_TARGET="aarch64-unknown-linux-musl"
-               elif use ppc64 ; then
-                       export RUST_TARGET="powerpc64le-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"
-
-       einfo "Removing pre-built binaries ..."
-       find third_party -type f \( -name '*.so' -o -name '*.o' \) -print 
-delete || die
-
-       # Create build dir
-       BUILD_DIR="${WORKDIR}/${PN}_build"
-       mkdir -p "${BUILD_DIR}" || die
-}
-
-src_configure() {
-       # Show flags set at the beginning
-       einfo "Current BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
-       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
-               READELF=llvm-readelf
-               OBJDUMP=llvm-objdump
-
-       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
-               READELF=readelf
-               OBJDUMP=objdump
-       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 READELF PKG_CONFIG
-
-       # Pass the correct toolchain paths through cbindgen
-       if tc-is-cross-compiler ; then
-               export BINDGEN_CFLAGS="${SYSROOT:+--sysroot=${ESYSROOT}} 
--target=${CHOST} ${BINDGEN_CFLAGS-}"
-       fi
-
-       # ../python/mach/mach/mixin/process.py fails to detect SHELL
-       export SHELL="${EPREFIX}/bin/bash"
-
-       # Set state path
-       export MOZBUILD_STATE_PATH="${BUILD_DIR}"
-
-       # Set MOZCONFIG
-       export MOZCONFIG="${S}/.mozconfig"
-
-       # Initialize MOZCONFIG
-       mozconfig_add_options_ac '' --enable-project=js
-
-       mozconfig_add_options_ac 'Gentoo default' \
-               --host="${CBUILD:-${CHOST}}" \
-               --target="${CHOST}" \
-               --disable-ctype \
-               --disable-jemalloc \
-               --disable-smoosh \
-               --disable-strip \
-               --enable-packed-relative-relocs \
-               --enable-readline \
-               --enable-release \
-               --enable-shared-js \
-               --libdir="${EPREFIX}/usr/$(get_libdir)" \
-               --prefix="${EPREFIX}/usr" \
-               --with-intl-api \
-               --with-system-icu \
-               --with-system-nspr \
-               --with-system-zlib \
-               --with-toolchain-prefix="${CHOST}-"
-
-       mozconfig_use_enable debug
-       mozconfig_use_enable jit
-       mozconfig_use_enable test tests
-
-       if use debug ; then
-               mozconfig_add_options_ac '+debug' --disable-optimize
-               mozconfig_add_options_ac '+debug' --enable-debug-symbols
-               mozconfig_add_options_ac '+debug' --enable-real-time-tracing
-       else
-               mozconfig_add_options_ac '-debug' --enable-optimize
-               mozconfig_add_options_ac '-debug' --disable-debug-symbols
-               mozconfig_add_options_ac '-debug' --disable-real-time-tracing
-       fi
-
-       # We always end up disabling this at some point due to newer rust 
versions. bgo#933372
-       mozconfig_add_options_ac '--disable-rust-simd' --disable-rust-simd
-
-       # Modifications to better support ARM, bug 717344
-       if use cpu_flags_arm_neon ; then
-               mozconfig_add_options_ac '+cpu_flags_arm_neon' --with-fpu=neon
-
-               if ! tc-is-clang ; then
-                       # thumb options aren't supported when using clang, bug 
666966
-                       mozconfig_add_options_ac '+cpu_flags_arm_neon' 
--with-thumb=yes
-                       mozconfig_add_options_ac '+cpu_flags_arm_neon' 
--with-thumb-interwork=no
-               fi
-       fi
-
-       # Tell build system that we want to use LTO
-       if [[ ${use_lto} == "yes" ]] ; then
-               if use clang ; then
-                       if tc-ld-is-mold ; then
-                               mozconfig_add_options_ac '+lto' 
--enable-linker=mold
-                       else
-                               mozconfig_add_options_ac '+lto' 
--enable-linker=lld
-                       fi
-                       mozconfig_add_options_ac '+lto' --enable-lto=cross
-
-               else
-                       mozconfig_add_options_ac '+lto' --enable-linker=bfd
-                       mozconfig_add_options_ac '+lto' --enable-lto=full
-               fi
-       fi
-
-       # LTO flag was handled via configure
-       filter-lto
-
-       # Pass MAKEOPTS to build system
-       export MOZ_MAKE_FLAGS="${MAKEOPTS}"
-
-       # Use system's Python environment
-       export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
-       export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
-
-       # Disable notification when build system has finished
-       export MOZ_NOSPAM=1
-
-       # Portage sets XARGS environment variable to "xargs -r" by default which
-       # breaks build system's check_prog() function which doesn't support 
arguments
-       mozconfig_add_options_ac 'Gentoo default' 
"XARGS=${EPREFIX}/usr/bin/xargs"
-
-       # Set build dir
-       mozconfig_add_options_mk 'Gentoo default' "MOZ_OBJDIR=${BUILD_DIR}"
-
-       # Show flags we will use
-       einfo "Build BINDGEN_CFLAGS:\t${BINDGEN_CFLAGS:-no value set}"
-       einfo "Build CFLAGS:    ${CFLAGS}"
-       einfo "Build CXXFLAGS:  ${CXXFLAGS}"
-       einfo "Build LDFLAGS:   ${LDFLAGS}"
-       einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
-       ./mach configure || die
-}
-
-src_compile() {
-       ./mach build --verbose || die
-}
-
-src_test() {
-       if "${BUILD_DIR}/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_test_failures.list || die
-       ./mach jstests --exclude-file="${T}"/known_test_failures.list || die
-}
-
-src_install() {
-       cd "${BUILD_DIR}" || 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
-}

Reply via email to