commit: 740e4fcdbc5c9371c07941dae3dcba121002062e
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 19 06:39:38 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Jun 19 06:39:38 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=740e4fcd
dev-lang/spidermonkey: drop 128.9.0, 128.10.0
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 2 -
dev-lang/spidermonkey/spidermonkey-128.10.0.ebuild | 482 ---------------------
dev-lang/spidermonkey/spidermonkey-128.9.0.ebuild | 482 ---------------------
3 files changed, 966 deletions(-)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 4bbd142e0716..3a38ca696ae7 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,11 +1,9 @@
DIST firefox-115.16.0esr.source.tar.xz 515133700 BLAKE2B
9501b617b346d56f6de975f88974be6fdc3d4a901b2a1b952b6bbf6cc46384084260078d23c52bedff83a65bec4ea5ec78c3bcaac86c78d0b44e796317534840
SHA512
b6f93ec3d6acac5df177253c65b833c017e65ed6e78e96ff029098443928d291f6f67164aedb83d80aa28ee9dee305086597798238d3330e35183030e53e3550
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.0esr.source.tar.xz 556644356 BLAKE2B
8ff5d2301d02ea32dc9c7635bdaecdb2f8a859c9f0a3875d10f9e0531e60768a88a51761e49de34c2c0ade73bf661db2f1bdbf0b72e19783415a23d14a4cc528
SHA512
c0f349cba626e6ec16ff0b52b7d21e05681acd1377fd1111992860f8079373f631ff997d833a3596c72a6d8c6e4f1d051927fa719f1d37a72553dcbd5348659c
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.8.0esr.source.tar.xz 563554116 BLAKE2B
3fdfa2539b42a6a659d05ef9ad60d3dd7a0097abf3c5038150316d775e3eb864056a56edc58ae4e49ca36b3ccf2f05d68a07f8493a7649388e340cd81640e584
SHA512
7c0ef22bc14d4fa248cbae14d629174c9c967f891f4525f609760595f5a108aedf7dd804d1b63b97ec268613fa98378f4742a9b6ab562454351cf21175fdb802
-DIST firefox-128.9.0esr.source.tar.xz 562959584 BLAKE2B
e49ac096a68cc450be909d3e5d325ae5d45acdad5a37afd6567f960d585d30f6ea3a03e9f9e976b430a60180ccd2baaa1679050f46e0a736a46c0cc6694f3797
SHA512
c0c8ac8374291cc93279064c73c17786c6f4fba7505ebc2cbd7a4ce7c82710620abdae7be15f60c43f9d10c3614fc9fd31f094e787105d528031c6f0510f7339
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 spidermonkey-115-patches-02.tar.xz 4896 BLAKE2B
f78d9804c1427b45d6fda496b4991ec6f672dec9ce031ed57a2920fa1968c942a235f46e40166c8ab8d731a1963f322d34bb2f6984133179175e6f7376d27d13
SHA512
11fd01152d1e7b8ca89bf628076e1f4fb4f1ba6c9dc0f9dd544252495c580c04e4d5ffc238d5587f9e993aa91a47828333564ca55f60e008bd370089cd07d2e6
diff --git a/dev-lang/spidermonkey/spidermonkey-128.10.0.ebuild
b/dev-lang/spidermonkey/spidermonkey-128.10.0.ebuild
deleted file mode 100644
index 7bb6d0bb35b7..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-128.10.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.9.0.ebuild
b/dev-lang/spidermonkey/spidermonkey-128.9.0.ebuild
deleted file mode 100644
index 1039e6be8a28..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-128.9.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
-}