* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2024-01-31 14:24 Matt Turner
0 siblings, 0 replies; 24+ messages in thread
From: Matt Turner @ 2024-01-31 14:24 UTC (permalink / raw
To: gentoo-commits
commit: 90d882a58e4acb2b0ce2da1512d25d9cd9314846
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 31 14:17:28 2024 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Wed Jan 31 14:24:36 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90d882a5
dev-lang/spidermonkey: Drop SLOT=91
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 3 -
.../files/spidermonkey-91-known-test-failures.txt | 152 -------
.../spidermonkey/spidermonkey-91.13.0-r1.ebuild | 455 ---------------------
3 files changed, 610 deletions(-)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 230420112300..c4dc49bea2e3 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -4,8 +4,5 @@ DIST firefox-115.3.1esr.source.tar.xz 515785920 BLAKE2B ad5ec24361e94d9185eed210
DIST firefox-115.7.0esr.source.tar.xz 515513828 BLAKE2B 9cacd9cd7e9b9040f37843645bc6823d72b3b736a3c4dcef7706304ebeda718e36e98962d9d9c000b7507fdfda40bd19ca4c8267573dc623a9507a7f77b17b52 SHA512 d468d8ef117d76e0660c5359c3becf0502354c61bdaaeb4137d86f52b50143abec2ac4578af69afa5670700b57efff1c7323ca23e3339a9eaaa888dee7e8e922
DIST firefox-115esr-patches-06.tar.xz 14944 BLAKE2B e60a8a32f8c5e6d897e8c3e13d291ffab651937505ce258f031e7e75560c9eb89fce4a22c61872d639e6e1d40244e94761baa1660c2d3d02584ad4cc4778946f SHA512 d9ea1a063df287fa651042c90529b1a1b5ebd5a28735c44b5527cc7dd29678c2f8a9204f007db328371ed6af9613ca7215464c00df5e685c3af4296a22139257
DIST firefox-115esr-patches-08.tar.xz 15912 BLAKE2B 3f94deb17920672ad2184e813bd38e390ecaa50bfc6e00973db717bc56a5adb4f096224cc366da525db25aaa3d198d57716bcb765ddc906783532864e23dd8d4 SHA512 4474fbed14b2c4fac03d82f4b37849a69dbdd61fc15f01cefa373eb8a64a692f5a584247acdf7c349ab6965225c3cd47be3fc4523f93db5299680e2a22e94d94
-DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516
-DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185
DIST spidermonkey-115-patches-01.tar.xz 3992 BLAKE2B e97d0cb3edfb885119226f54f22485ed4e8220cd904d3356b87ccc013403f976a042171cf9ca7250bcf3fe3d90996dd80b4104e7d614f95d7bcfcb0e710a8a78 SHA512 cece96f172a09dd0e29f7c2fdbf650cde405b276bc4083956365289f1da4b1d078ccbde760da6553888ddb3c53cf9aded52051db556a2c4ec492fed01dcb03a1
-DIST spidermonkey-91-patches-05j.tar.xz 5964 BLAKE2B 13f09f77bf16bc61b03c9488b7ab521552e179bfb123e390d0883ea4a3f55e87e0a5d5a246f31a9ddc35f212ea84655fe9d4fc364bbdddc1aac421eb28dbe41f SHA512 4d9cf21b712234ff6a18554a010badd756028e6147597040c423f7e27d260e3984938f956d9bc3572557163a144345ed28d9f88e459fc959aaa6fd448f6deab7
diff --git a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
deleted file mode 100644
index 448ee25e96bb..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
+++ /dev/null
@@ -1,152 +0,0 @@
-non262/Date/15.9.5.7.js
-non262/Date/reset-time-zone-cache-same-offset.js
-non262/Date/time-zone-path.js
-non262/Date/time-zones-historic.js
-non262/Date/time-zones-imported.js
-non262/Date/toString-localized-posix.js
-non262/Date/toString-localized.js
-non262/Intl/Array/toLocaleString-date.js
-non262/Intl/Date/toLocaleDateString_timeZone.js
-non262/Intl/Date/toLocaleString_timeZone.js
-non262/Intl/Date/toLocaleTimeString_timeZone.js
-non262/Intl/DateTimeFormat/day-period-hour-cycle.js
-non262/Intl/DateTimeFormat/extended-time-zone-names.js
-non262/Intl/DateTimeFormat/field-widths.js
-non262/Intl/DateTimeFormat/format.js
-non262/Intl/DateTimeFormat/formatRange-hour-cycle.js
-non262/Intl/DateTimeFormat/formatToParts.js
-non262/Intl/DateTimeFormat/format_timeZone.js
-non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
-non262/Intl/DateTimeFormat/hourCycle.js
-non262/Intl/DateTimeFormat/implied-script-has-consistent-output.js
-non262/Intl/DateTimeFormat/japanese-gannen-year.js
-non262/Intl/DateTimeFormat/related-year.js
-non262/Intl/DateTimeFormat/timeZone_backward_links.js
-non262/Intl/DateTimeFormat/timeZone_version.js
-non262/Intl/DateTimeFormat/tz-environment-variable.js
-non262/Intl/DisplayNames/calendar.js
-non262/Intl/DisplayNames/dateTimeField.js
-non262/Intl/DisplayNames/language.js
-non262/Intl/DisplayNames/region.js
-non262/Intl/ListFormat/conjunction-type.js
-non262/Intl/Locale/likely-subtags-generated.js
-non262/Intl/Locale/likely-subtags.js
-non262/Intl/NumberFormat/currency-narrow-symbol.js
-non262/Intl/NumberFormat/format.js
-non262/Intl/NumberFormat/notation-compact-long.js
-non262/Intl/available-locales-resolved.js
-non262/Intl/available-locales-supported.js
-test262/built-ins/Date/UTC/fp-evaluation-order.js
-test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js
-test262/built-ins/RegExp/property-escapes/generated/Assigned.js
-test262/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js
-test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js
-test262/built-ins/RegExp/property-escapes/generated/Cased.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js
-test262/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js
-test262/built-ins/RegExp/property-escapes/generated/Dash.js
-test262/built-ins/RegExp/property-escapes/generated/Default_Ignorable_Code_Point.js
-test262/built-ins/RegExp/property-escapes/generated/Diacritic.js
-test262/built-ins/RegExp/property-escapes/generated/Emoji.js
-test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js
-test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js
-test262/built-ins/RegExp/property-escapes/generated/Extender.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Close_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Currency_Symbol.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Symbol.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js
-test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js
-test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js
-test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js
-test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js
-test262/built-ins/RegExp/property-escapes/generated/ID_Start.js
-test262/built-ins/RegExp/property-escapes/generated/Ideographic.js
-test262/built-ins/RegExp/property-escapes/generated/Lowercase.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Takri.js
-test262/built-ins/RegExp/property-escapes/generated/Script_-_Telugu.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ahom.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagalog.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Takri.js
-test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Telugu.js
-test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js
-test262/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js
-test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js
-test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js
-test262/built-ins/RegExp/property-escapes/generated/Uppercase.js
-test262/built-ins/RegExp/property-escapes/generated/Variation_Selector.js
-test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
-test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
-test262/intl402/DateTimeFormat/prototype/format/timedatestyle-en.js
-test262/intl402/DateTimeFormat/prototype/formatRange/en-US.js
-test262/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js
-test262/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US.js
-test262/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits.js
-test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js
diff --git a/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild
deleted file mode 100644
index 6fe09813c00e..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild
+++ /dev/null
@@ -1,455 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-# Patch version
-FIREFOX_PATCHSET="firefox-91esr-patches-10j.tar.xz"
-SPIDERMONKEY_PATCHSET="spidermonkey-91-patches-05j.tar.xz"
-
-LLVM_MAX_SLOT=15
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="ssl,xml(+)"
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
-
-MY_MAJOR=$(ver_cut 1)
-
-MOZ_ESR=yes
-
-MOZ_PV=${PV}
-MOZ_PV_SUFFIX=
-if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
- MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
-
- # Convert the ebuild version to the upstream Mozilla version
- MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
- MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
- MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
-fi
-
-if [[ -n ${MOZ_ESR} ]] ; then
- # ESR releases have slightly different version numbers
- MOZ_PV="${MOZ_PV}esr"
-fi
-
-MOZ_PN="firefox"
-MOZ_P="${MOZ_PN}-${MOZ_PV}"
-MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
-MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
-
-MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
-
-if [[ ${PV} == *_rc* ]] ; then
- MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
-fi
-
-PATCH_URIS=(
- https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
- https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
-)
-
-SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
-
-KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv sparc x86"
-
-SLOT="91"
-LICENSE="MPL-2.0"
-IUSE="clang cpu_flags_arm_neon debug +jit lto test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="${PYTHON_DEPS}
- || (
- (
- sys-devel/llvm:15
- clang? (
- sys-devel/clang:15
- virtual/rust:0/llvm-15
- lto? ( sys-devel/lld:15 )
- )
- )
- (
- sys-devel/llvm:14
- clang? (
- sys-devel/clang:14
- virtual/rust:0/llvm-14
- lto? ( sys-devel/lld:14 )
- )
- )
- )
- !clang? ( virtual/rust )
- virtual/pkgconfig
- test? (
- $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
- )"
-DEPEND=">=dev-libs/icu-69.1:=
- dev-libs/nspr
- sys-libs/readline:0=
- sys-libs/zlib"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/firefox-${MY_PV}/js/src"
-
-llvm_check_deps() {
- if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
- einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use clang ; then
- if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
- einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
- einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- if use lto ; then
- if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
- einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
- fi
- fi
-
- einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
-}
-
-python_check_deps() {
- if use test ; then
- python_has_version "dev-python/six[${PYTHON_USEDEP}]"
- fi
-}
-
-pkg_pretend() {
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]] ; then
- if use test ; then
- CHECKREQS_DISK_BUILD="7600M"
- else
- CHECKREQS_DISK_BUILD="6400M"
- fi
-
- check-reqs_pkg_setup
-
- llvm_pkg_setup
-
- if use clang && use lto ; then
- local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
- [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
- [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
-
- local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
- [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
- [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
-
- if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
- eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
- eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
- eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
- eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
- eerror " - Build ${CATEGORY}/${PN} without USE=lto"
- eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
- eerror " llvm/clang/lld/rust chain depending on your @world updates)"
- die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
- fi
- fi
-
- python-any-r1_pkg_setup
-
- # Build system is using /proc/self/oom_score_adj, bug #604394
- addpredict /proc/self/oom_score_adj
-
- if ! mountpoint -q /dev/shm ; then
- # If /dev/shm is not available, configure is known to fail with
- # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
- ewarn "/dev/shm is not mounted -- expect build failures!"
- fi
-
- # Ensure we use C locale when building, bug #746215
- export LC_ALL=C
- fi
-}
-
-src_prepare() {
- pushd ../.. &>/dev/null || die
-
- use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
-
- eapply "${WORKDIR}"/firefox-patches
- eapply "${WORKDIR}"/spidermonkey-patches
-
- default
-
- # Make cargo respect MAKEOPTS
- export CARGO_BUILD_JOBS="$(makeopts_jobs)"
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- # use prefix shell in wrapper linker scripts, bug #789660
- hprefixify "${S}"/../../build/cargo-{,host-}linker
-
- einfo "Removing pre-built binaries ..."
- find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
-
- MOZJS_BUILDDIR="${WORKDIR}/build"
- mkdir "${MOZJS_BUILDDIR}" || die
-
- popd &>/dev/null || die
- eautoconf
-}
-
-src_configure() {
- # Show flags set at the beginning
- einfo "Current CFLAGS: ${CFLAGS}"
- einfo "Current CXXFLAGS: ${CXXFLAGS}"
- einfo "Current LDFLAGS: ${LDFLAGS}"
- einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
-
- local have_switched_compiler=
- if use clang; then
- # Force clang
- einfo "Enforcing the use of clang due to USE=clang ..."
- if tc-is-gcc; then
- have_switched_compiler=yes
- fi
- AR=llvm-ar
- CC=${CHOST}-clang
- CXX=${CHOST}-clang++
- NM=llvm-nm
- RANLIB=llvm-ranlib
- elif ! use clang && ! tc-is-gcc ; then
- # Force gcc
- have_switched_compiler=yes
- einfo "Enforcing the use of gcc due to USE=-clang ..."
- AR=gcc-ar
- CC=${CHOST}-gcc
- CXX=${CHOST}-g++
- NM=gcc-nm
- RANLIB=gcc-ranlib
- fi
-
- if [[ -n "${have_switched_compiler}" ]] ; then
- # Because we switched active compiler we have to ensure
- # that no unsupported flags are set
- strip-unsupported-flags
- fi
-
- # Ensure we use correct toolchain
- export HOST_CC="$(tc-getBUILD_CC)"
- export HOST_CXX="$(tc-getBUILD_CXX)"
- tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
-
- cd "${MOZJS_BUILDDIR}" || die
-
- # ../python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- local -a myeconfargs=(
- --host="${CBUILD:-${CHOST}}"
- --target="${CHOST}"
- --disable-ctype
- --disable-jemalloc
- --disable-optimize
- --disable-smoosh
- --disable-strip
- --enable-readline
- --enable-release
- --enable-shared-js
- --with-intl-api
- --with-system-icu
- --with-system-nspr
- --with-system-zlib
- --with-toolchain-prefix="${CHOST}-"
- $(use_enable debug)
- $(use_enable jit)
- $(use_enable test tests)
- )
-
- # Temporary fix with rust-1.63, bgo#870193
- # if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
- # myeconfargs+=( --enable-rust-simd )
- # fi
- myeconfargs+=( --disable-rust-simd )
-
- # Modifications to better support ARM, bug 717344
- if use cpu_flags_arm_neon ; then
- myeconfargs+=( --with-fpu=neon )
-
- if ! tc-is-clang ; then
- # thumb options aren't supported when using clang, bug 666966
- myeconfargs+=( --with-thumb=yes )
- myeconfargs+=( --with-thumb-interwork=no )
- fi
- fi
-
- # Tell build system that we want to use LTO
- if use lto ; then
- if use clang ; then
- myeconfargs+=( --enable-linker=lld )
- myeconfargs+=( --enable-lto=cross )
- else
- myeconfargs+=( --enable-linker=bfd )
- myeconfargs+=( --enable-lto )
- fi
- fi
-
- # LTO flag was handled via configure
- filter-lto
-
- if tc-is-gcc ; then
- if ver_test $(gcc-fullversion) -ge 10 ; then
- einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
- append-cxxflags -fno-tree-loop-vectorize
- fi
- fi
-
- export MACH_USE_SYSTEM_PYTHON=1
- export PIP_NO_CACHE_DIR=off
-
- # Show flags we will use
- einfo "Build CFLAGS: ${CFLAGS}"
- einfo "Build CXXFLAGS: ${CXXFLAGS}"
- einfo "Build LDFLAGS: ${LDFLAGS}"
- einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
-
- # Forcing system-icu allows us to skip patching bundled ICU for PPC
- # and other minor arches
- ECONF_SOURCE="${S}" \
- econf \
- ${myeconfargs[@]} \
- XARGS="${EPREFIX}/usr/bin/xargs"
-}
-
-src_compile() {
- cd "${MOZJS_BUILDDIR}" || die
- default
-}
-
-src_test() {
- if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
- einfo "Smoke-test successful, continuing with full test suite"
- else
- die "Smoke-test failed: did interpreter initialization fail?"
- fi
-
- cp "${FILESDIR}"/spidermonkey-91-known-test-failures.txt "${T}"/known_failures.list || die
-
- # bgo #827960
- if use ppc; then
- echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/load/bigint/good-views.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/load/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/add/bigint/good-views.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/add/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/exchange/bigint/good-views.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/store/bigint/good-views.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/store/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/xor/bigint/good-views.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/sub/bigint/good-views.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/and/bigint/good-views.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/or/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/negative-timeout-agent.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/value-not-equal.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/nan-for-timeout.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/compareExchange/bigint/good-views.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/and/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/or/bigint/good-views.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Atomics/notify/bigint/notify-all-on-loc.js" >> "${T}"/known_failures.list
- fi
-
- if use x86 ; then
- echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Number/prototype/toPrecision/return-values.js" >> "${T}"/known_failures.list
- echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
- echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
- echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
- fi
-
- ${EPYTHON} \
- "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
- --exclude-file="${T}"/known_failures.list \
- "${MOZJS_BUILDDIR}"/js/src/js \
- || die
-
- if use jit ; then
- ${EPYTHON} \
- "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
- --exclude-file="${T}"/known_failures.list \
- "${MOZJS_BUILDDIR}"/js/src/js basic \
- || die
- fi
-}
-
-src_install() {
- cd "${MOZJS_BUILDDIR}" || die
- default
-
- # fix soname links
- pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
- mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
- ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
- ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
- popd &>/dev/null || die
-
- # remove unneeded files
- rm \
- "${ED}"/usr/bin/js${MY_MAJOR}-config \
- "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
- || die
-
- # fix permissions
- chmod -x \
- "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
- "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
- || die
-}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2025-07-01 16:15 Joonas Niilola
0 siblings, 0 replies; 24+ messages in thread
From: Joonas Niilola @ 2025-07-01 16:15 UTC (permalink / raw
To: gentoo-commits
commit: 7424902bd9a58f07009ca039c758b8f754a3a2cc
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 1 16:10:03 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Jul 1 16:15:11 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7424902b
dev-lang/spidermonkey: add 140.0
Had to drop our custom patch (0007-bgo-821091-dont-depend-on-llvm-objdump.patch)
that got rid of hardcoded llvm-objdump dependency, but that logic is now split
to at least two files (might be more) and I'm not sure if it even works with
the way rust.eclass handles llvm dependency in Gentoo now. Hence needs more
investigation and testing before I'll spend time updating the patch.
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 3 +
.../files/spidermonkey-140-known-test-failures.txt | 22 +
dev-lang/spidermonkey/spidermonkey-140.0.ebuild | 467 +++++++++++++++++++++
3 files changed, 492 insertions(+)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 2a160b9e6c34..9d8f9a801d0e 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -7,5 +7,8 @@ DIST firefox-128.12.0esr.source.tar.xz 560934320 BLAKE2B ba87d758e9f0d6803db2090
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 spidermonkey-115-patches-02.tar.xz 4896 BLAKE2B f78d9804c1427b45d6fda496b4991ec6f672dec9ce031ed57a2920fa1968c942a235f46e40166c8ab8d731a1963f322d34bb2f6984133179175e6f7376d27d13 SHA512 11fd01152d1e7b8ca89bf628076e1f4fb4f1ba6c9dc0f9dd544252495c580c04e4d5ffc238d5587f9e993aa91a47828333564ca55f60e008bd370089cd07d2e6
DIST spidermonkey-128-patches-03.tar.xz 3636 BLAKE2B 99517642e255762c57a9e65f4c4c4107b8d6a1630dd2e68dea4527ac0e5d70fc435122e6b4068a8223c9b2a6e06503c242659d1895b9a2ff6d75212e9c917498 SHA512 71e059861318073f09f7892094e6d44ec04385385086b2e126de8e4f80cff99410bbfd352a10f325e950441c398f7ba0ac82c861ce417c10a37ab5ea063c6be2
+DIST spidermonkey-140-patches-01.tar.xz 3324 BLAKE2B 551566e4e150dbe5cbe5400e27751a0da878e3cefab2cdb38d72f99b19b2403b3786ea2230b4477fba8d3e6799743a51652de5c0136811b0213134ce506e5534 SHA512 63327436c51b82c307a883a46c147ad8f3b9ea5b2d4c18b8c8cb475fe1c2c25e4d00af1e6c6c83899089df88794962725125c8572dbb31e201c2298bb3ad30c9
diff --git a/dev-lang/spidermonkey/files/spidermonkey-140-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-140-known-test-failures.txt
new file mode 100644
index 000000000000..5296901a35a7
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-140-known-test-failures.txt
@@ -0,0 +1,22 @@
+non262/Date/15.9.5.7.js
+non262/Intl/Collator/big5han-gb2312han.js
+non262/Intl/Collator/implicithan.js
+non262/Intl/DateTimeFormat/day-period-hour-cycle.js
+non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js
+non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js
+non262/Intl/DateTimeFormat/formatRange-timeZoneName.js
+non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
+non262/Intl/DateTimeFormat/timeZone_links.js
+non262/Intl/DateTimeFormat/timeZone_version.js
+non262/Intl/available-locales-resolved.js
+non262/Intl/available-locales-supported.js
+non262/Intl/supportedValuesOf-timeZones-canonical.js
+non262/Temporal/Intl/consistent-dates.js
+non262/Temporal/ZonedDateTime/zones-and-links.js
+test262/intl402/Temporal/ZonedDateTime/prototype/getTimeZoneTransition/nanoseconds-subtracted-or-added-at-dst-transition.js
+test262/intl402/Temporal/ZonedDateTime/prototype/getTimeZoneTransition/result-type.js
+test262/intl402/Temporal/ZonedDateTime/prototype/getTimeZoneTransition/specific-tzdb-values.js
+test262/intl402/Temporal/ZonedDateTime/prototype/getTimeZoneTransition/transition-at-instant-boundaries.js
+test262/intl402/Temporal/ZonedDateTime/prototype/getTimeZoneTransition/transitions-close-together.js
+test262/staging/Intl402/Temporal/old/zoneddatetime-dst-corner-cases.js
+test262/staging/sm/Temporal/ZonedDateTime/zones-and-links.js
diff --git a/dev-lang/spidermonkey/spidermonkey-140.0.ebuild b/dev-lang/spidermonkey/spidermonkey-140.0.ebuild
new file mode 100644
index 000000000000..17714dbf083c
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-140.0.ebuild
@@ -0,0 +1,467 @@
+# 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
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2025-05-19 5:11 Joonas Niilola
0 siblings, 0 replies; 24+ messages in thread
From: Joonas Niilola @ 2025-05-19 5:11 UTC (permalink / raw
To: gentoo-commits
commit: f027875479a5133e8fe07786668fcb21f93576e0
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Mon May 19 05:11:17 2025 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon May 19 05:11:43 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0278754
dev-lang/spidermonkey: add 128.10.1
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 1 +
.../files/spidermonkey-128-known-test-failures.txt | 8 +
dev-lang/spidermonkey/spidermonkey-128.10.1.ebuild | 482 +++++++++++++++++++++
3 files changed, 491 insertions(+)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 5afa9e066f91..8666dd6e66c7 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -3,6 +3,7 @@ DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffc
DIST firefox-115.16.0esr.source.tar.xz 515133700 BLAKE2B 9501b617b346d56f6de975f88974be6fdc3d4a901b2a1b952b6bbf6cc46384084260078d23c52bedff83a65bec4ea5ec78c3bcaac86c78d0b44e796317534840 SHA512 b6f93ec3d6acac5df177253c65b833c017e65ed6e78e96ff029098443928d291f6f67164aedb83d80aa28ee9dee305086597798238d3330e35183030e53e3550
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.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
diff --git a/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt
index eaa7f00cefa7..d066e23ee814 100644
--- a/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt
+++ b/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt
@@ -1,9 +1,11 @@
non262/Date/15.9.5.7.js
non262/Date/time-zone-etc_localetime.js
+non262/Date/time-zones-imported.js
non262/Intl/Array/toLocaleString-number.js
non262/Intl/Collator/big5han-gb2312han.js
non262/Intl/Collator/implicithan.js
non262/Intl/DateTimeFormat/day-period-hour-cycle.js
+non262/Intl/DateTimeFormat/day-period-standalone.js
non262/Intl/DateTimeFormat/era.js
non262/Intl/DateTimeFormat/extended-time-zone-names.js
non262/Intl/DateTimeFormat/format-timeZone-offset.js
@@ -153,5 +155,11 @@ test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js
test262/built-ins/RegExp/property-escapes/generated/Uppercase.js
test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
+test262/intl402/DateTimeFormat/prototype/format/dayPeriod-long-en.js
+test262/intl402/DateTimeFormat/prototype/format/dayPeriod-narrow-en.js
+test262/intl402/DateTimeFormat/prototype/format/dayPeriod-short-en.js
+test262/intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-long-en.js
+test262/intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-narrow-en.js
+test262/intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-short-en.js
test262/intl402/Intl/supportedValuesOf/timeZones-accepted-by-DateTimeFormat.js
test262/intl402/NumberFormat/prototype/format/useGrouping-extended-en-IN.js
diff --git a/dev-lang/spidermonkey/spidermonkey-128.10.1.ebuild b/dev-lang/spidermonkey/spidermonkey-128.10.1.ebuild
new file mode 100644
index 000000000000..7bb6d0bb35b7
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-128.10.1.ebuild
@@ -0,0 +1,482 @@
+# 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
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2024-12-09 7:33 Joonas Niilola
0 siblings, 0 replies; 24+ messages in thread
From: Joonas Niilola @ 2024-12-09 7:33 UTC (permalink / raw
To: gentoo-commits
commit: 2a029d79237f71bd0a06b041b5d39790afc5ed46
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 9 07:31:52 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon Dec 9 07:33:06 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2a029d79
dev-lang/spidermonkey: add 128.5.0
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 1 +
.../files/spidermonkey-128-known-test-failures.txt | 113 +++++
dev-lang/spidermonkey/spidermonkey-128.5.0.ebuild | 478 +++++++++++++++++++++
3 files changed, 592 insertions(+)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 89ee9cdcce5b..ff1653a7e167 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -4,6 +4,7 @@ DIST firefox-115.16.0esr.source.tar.xz 515133700 BLAKE2B 9501b617b346d56f6de975f
DIST firefox-115esr-patches-13.tar.xz 51360 BLAKE2B a048bfadba989ebbd4c6e3df97d303d6853844e66ed92f5f5f322acf18866218b91d52dbbece63827de283eef855c932d67e329c8d93200aa83f11268a5d1b2f SHA512 186ec72323e621362dcef1bc67c476716aff97dfad701faa9220a7302e798d3cb4ed90d5ea59e3e92f016be29875bb5219787635db99a8848b7c76e4e2e09e90
DIST firefox-128.3.0esr.source.tar.xz 560960556 BLAKE2B 015fefb408dcea5733053151aff05579b007ab757542a47956e007dc127b460f4a35e885a2ee4ef4dbb936820c8ea3907b00383f659b15a84e701590b50a5d72 SHA512 3c6ef272c0fb653d030fe3f7f72aa0e1097b1c6759556166815cde15465330f988b3bc23df4b4eb753daee930edbb1ef72145273cb29d0952bd9d7c547050f9b
DIST firefox-128.4.0esr.source.tar.xz 558619512 BLAKE2B 1f0528c8806bb034af623f2022740bb5056ea11817b9cb7154a60b87f04051ba5ae06b0daf55e6b03b7531c369deb871d3d3579a86f3ca19f3ab71ccb45243f9 SHA512 e720b1f993926d73f5a5727648f753176ac2fd093fb0b71393946bbc5919ce5fc7b88b82960bd1aa427b5663c7f659828dc6702485fc0c1e7a6961571c67faa3
+DIST firefox-128.5.0esr.source.tar.xz 567200548 BLAKE2B b524796854d4f622e90c219e4e302e5665f3f1e3ffb7935ba58244903dbcf1c2b9a13731e9af5507ffc25dda621d4ea13650aae842ed0317843182da55d1d652 SHA512 ff20f18f92c5e9cd1d9eaf7c38cec61bcab2dca8dd2817519b712bc1f760b5c6e290212acf3289152764e5130e01626950b7ecd9327b2c587b24a246591afd67
DIST firefox-128esr-patches-03.tar.xz 14156 BLAKE2B 9a618f0ddb8596b740893dc9113f374d193a00e4e8e76dbb2794928ceaafc7b5309cb6f69f6287ae1e423f0be0a060580b0d9d59307c9889362dd17fb7d31d3d SHA512 c6ec7233b368fac623ec0cce6f5c37d358a0fa5bb2154dc67eebb50968376ca9d46f3a734f5d79a4aa4edde9e300a9c65315d0e499aa6a1325b6c76a6c164258
DIST firefox-128esr-patches-07.tar.xz 18856 BLAKE2B 44d0ddf11518c7eef0a96de4f475a6ae1535e43e5bf89b8f61dc95330f28d6a053d08e6a183cf71432107256c83cd6ee6f742b235ca82babe4dd83698bf80d07 SHA512 60b4f18f5d91fc25f86cceccd561b55f167299908fbf2f9d7d69a8ce299c643f0b538d613d4348e42dd17c3812e4fa315e15004614af1f40fbe2adda417a1a81
DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185
diff --git a/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt
index 5c6f6941b2ad..eaa7f00cefa7 100644
--- a/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt
+++ b/dev-lang/spidermonkey/files/spidermonkey-128-known-test-failures.txt
@@ -1,44 +1,157 @@
non262/Date/15.9.5.7.js
non262/Date/time-zone-etc_localetime.js
+non262/Intl/Array/toLocaleString-number.js
non262/Intl/Collator/big5han-gb2312han.js
non262/Intl/Collator/implicithan.js
non262/Intl/DateTimeFormat/day-period-hour-cycle.js
+non262/Intl/DateTimeFormat/era.js
+non262/Intl/DateTimeFormat/extended-time-zone-names.js
+non262/Intl/DateTimeFormat/format-timeZone-offset.js
non262/Intl/DateTimeFormat/formatRange-timeZone-offset.js
non262/Intl/DateTimeFormat/formatRange-timeZoneName-matches-format.js
non262/Intl/DateTimeFormat/formatRange-timeZoneName.js
non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
+non262/Intl/DateTimeFormat/islamic.js
non262/Intl/DateTimeFormat/related-year.js
+non262/Intl/DateTimeFormat/timeZone_version.js
+non262/Intl/DateTimeFormat/tz-environment-variable.js
non262/Intl/DisplayNames/calendar.js
non262/Intl/DisplayNames/currency.js
+non262/Intl/DisplayNames/dateTimeField.js
non262/Intl/DisplayNames/language-dialect.js
non262/Intl/ListFormat/conjunction-type.js
non262/Intl/Locale/likely-subtags-generated.js
non262/Intl/Locale/likely-subtags.js
non262/Intl/NumberFormat/currency-narrow-symbol.js
+non262/Intl/NumberFormat/formatRange.js
+non262/Intl/NumberFormat/formatRangeToParts-approximately-sign-compact.js
+non262/Intl/NumberFormat/formatRangeToParts-approximately-sign-currency.js
+non262/Intl/NumberFormat/formatRangeToParts-approximately-sign-percent.js
+non262/Intl/NumberFormat/formatRangeToParts-approximately-sign-signDisplay.js
+non262/Intl/NumberFormat/formatRangeToParts-approximately-sign-unit.js
+non262/Intl/NumberFormat/formatRangeToParts-approximately-sign.js
+non262/Intl/NumberFormat/formatRangeToParts.js
+non262/Intl/RelativeTimeFormat/locale-fallback-handling.js
+non262/Intl/TypedArray/toLocaleString.js
non262/Intl/available-locales-resolved.js
non262/Intl/available-locales-supported.js
+non262/Intl/supportedValuesOf-timeZones-canonical.js
+non262/Intl/supportedValuesOf-timeZones.js
test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js
test262/built-ins/RegExp/property-escapes/generated/Assigned.js
+test262/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js
+test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js
+test262/built-ins/RegExp/property-escapes/generated/Cased.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js
+test262/built-ins/RegExp/property-escapes/generated/Dash.js
+test262/built-ins/RegExp/property-escapes/generated/Diacritic.js
+test262/built-ins/RegExp/property-escapes/generated/Emoji.js
+test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js
+test262/built-ins/RegExp/property-escapes/generated/Extender.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Math_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js
test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js
+test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js
test262/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js
test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js
test262/built-ins/RegExp/property-escapes/generated/ID_Start.js
test262/built-ins/RegExp/property-escapes/generated/Ideographic.js
+test262/built-ins/RegExp/property-escapes/generated/Lowercase.js
+test262/built-ins/RegExp/property-escapes/generated/Math.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Kawi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Khitan_Small_Script.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Myanmar.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Armenian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Avestan.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bengali.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bopomofo.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Carian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Caucasian_Albanian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cherokee.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Coptic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Duployan.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elbasan.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Georgian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gothic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Greek.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gunjala_Gondi.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hebrew.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kawi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khitan_Small_Script.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lisu.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lycian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lydian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mahajani.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Hieroglyphs.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Myanmar.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Hungarian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Permic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Turkic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osage.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phags_Pa.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Runic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Samaritan.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Shavian.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Le.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tangut.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thai.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tibetan.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tifinagh.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Toto.js
test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js
+test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js
test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js
+test262/built-ins/RegExp/property-escapes/generated/Uppercase.js
test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
+test262/intl402/Intl/supportedValuesOf/timeZones-accepted-by-DateTimeFormat.js
test262/intl402/NumberFormat/prototype/format/useGrouping-extended-en-IN.js
diff --git a/dev-lang/spidermonkey/spidermonkey-128.5.0.ebuild b/dev-lang/spidermonkey/spidermonkey-128.5.0.ebuild
new file mode 100644
index 000000000000..cd98a1fef5bb
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-128.5.0.ebuild
@@ -0,0 +1,478 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+FIREFOX_PATCHSET="firefox-128esr-patches-07.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-128-patches-02.tar.xz"
+
+LLVM_COMPAT=( 17 18 19 )
+
+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 ~riscv ~x86"
+
+LICENSE="MPL-2.0"
+SLOT="$(ver_cut 1)"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+ $(llvm_gen_dep '
+ clang? (
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/lld:${LLVM_SLOT}
+ sys-devel/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 "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+ einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+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() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ 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
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_prepare() {
+ if use lto ; 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 ; 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 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
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2024-08-08 11:22 Joonas Niilola
0 siblings, 0 replies; 24+ messages in thread
From: Joonas Niilola @ 2024-08-08 11:22 UTC (permalink / raw
To: gentoo-commits
commit: 94deb725baf7cbe43e1ea5128a7bd12114ffec67
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 8 11:20:26 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Aug 8 11:20:26 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=94deb725
dev-lang/spidermonkey: add 115.14.0
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 2 +
.../files/spidermonkey-115-known-test-failures.txt | 1 +
dev-lang/spidermonkey/spidermonkey-115.14.0.ebuild | 509 +++++++++++++++++++++
3 files changed, 512 insertions(+)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 3c135b8dc442..60a10aea91d6 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,6 +1,8 @@
DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374bebb4745b87f6194191c1c9415547d772811a4a85f79a97e8985877eb5c9beef43fe15bef574172da35935e7024a947919ec11d883 SHA512 87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9
DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520
DIST firefox-115.13.0esr.source.tar.xz 510571488 BLAKE2B e2b00965a92cd11da6c81daa8b6c652dfccc9f0f7d066bc17ae5fa3ac3aaaa021c4489a9f653127f5516e3d77cd7174de328343e22c4edab438e3fcb9a859178 SHA512 799cdf2d0494003a5addd0da703f53deb9c9d6bb6f6c95d40026363382803e2d086039c7798940a1f35f4cba111f2e8e21bde8ac2eac29fd9bd6876dd8d3a85f
+DIST firefox-115.14.0esr.source.tar.xz 507310580 BLAKE2B ffca6b7dce6ae6a470c9d5506b4236077b2151732bff811aa0bf0367be80aec5ea4918ee5dcd611b0e19a025156def3e9524a4f5d741343e9fda5a2e693e15fa SHA512 dd40c1fd3cf454dbf33a85d38e47bb0e736ed89b829643653e239f43232441f4e9f3c7876f058ff2e6f19daf2b50a8f2d13274e9a107d8a258a6067d1fc43f54
DIST firefox-115esr-patches-10.tar.xz 17256 BLAKE2B 0f6265d6e12f55e9b5128f2f261ba3785b80563e049d2441fde09dedf419c6086c9d994d2b44d1aab35af64cde375bdc254206da9ef148fc20fa90da0417606d SHA512 a1f0012420593a1c1b38dba1785ee9092e0923f56458c38f003cca4ebaac30a73fe3d1f5806a5795c76b2b8d729f8184372e63681daa450c3bb8e5afbe9e2e4f
+DIST firefox-115esr-patches-12.tar.xz 50732 BLAKE2B 821ea063bd14085458967e33570bb28a1457672d2c210368507532024db25dfbb7d30d37084a2cc60a4cc34dde453669ad9046c664e7e8459a8c7fab33485068 SHA512 e80b0eb9a4efa8e6a872a875a31e384a5d3ac2f7000a3d12b03cbe2dff43baf8e3e544b7b7baadcb46ae714e3709ecbc53742b9562fcb1b1caf85b037b5ad501
DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185
DIST spidermonkey-115-patches-01.tar.xz 3992 BLAKE2B e97d0cb3edfb885119226f54f22485ed4e8220cd904d3356b87ccc013403f976a042171cf9ca7250bcf3fe3d90996dd80b4104e7d614f95d7bcfcb0e710a8a78 SHA512 cece96f172a09dd0e29f7c2fdbf650cde405b276bc4083956365289f1da4b1d078ccbde760da6553888ddb3c53cf9aded52051db556a2c4ec492fed01dcb03a1
diff --git a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
index 9d21ef6dc615..0788f0f2b12d 100644
--- a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
+++ b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
@@ -12,6 +12,7 @@ non262/Intl/DisplayNames/language-dialect.js
non262/Intl/ListFormat/conjunction-type.js
non262/Intl/Locale/likely-subtags-generated.js
non262/Intl/Locale/likely-subtags.js
+non262/Intl/NumberFormat/currency-narrow-symbol.js
non262/Intl/available-locales-resolved.js
non262/Intl/available-locales-supported.js
non262/Intl/supportedValuesOf-timeZones-canonical.js
diff --git a/dev-lang/spidermonkey/spidermonkey-115.14.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.14.0.ebuild
new file mode 100644
index 000000000000..ca63af63c74c
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-115.14.0.ebuild
@@ -0,0 +1,509 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-115esr-patches-12.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=18
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="ncurses,ssl,xml(+)"
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+SLOT="$(ver_cut 1)"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+ virtual/pkgconfig
+ || (
+ (
+ sys-devel/llvm:18
+ clang? (
+ sys-devel/lld:18
+ sys-devel/clang:18
+ virtual/rust:0/llvm-18
+ )
+ )
+ (
+ sys-devel/llvm:17
+ clang? (
+ sys-devel/lld:17
+ sys-devel/clang:17
+ virtual/rust:0/llvm-17
+ )
+ )
+ (
+ sys-devel/llvm:16
+ clang? (
+ sys-devel/lld:16
+ sys-devel/clang:16
+ virtual/rust:0/llvm-16
+ )
+ )
+ (
+ sys-devel/llvm:15
+ clang? (
+ sys-devel/lld:15
+ sys-devel/clang:15
+ virtual/rust:0/llvm-15
+ )
+ )
+ )
+ !clang? ( virtual/rust )
+ !elibc_glibc? (
+ || (
+ dev-lang/rust
+ <dev-lang/rust-bin-1.73
+ )
+ )
+ test? (
+ $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+ )"
+DEPEND=">=dev-libs/icu-73.1:=
+ dev-libs/nspr
+ sys-libs/readline:0=
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+ einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+ if use test ; then
+ python_has_version "dev-python/six[${PYTHON_USEDEP}]"
+ fi
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-linker"
+ cat <<-EOF > "${base}.c"
+ int main() { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
+pkg_pretend() {
+ if use test ; then
+ CHECKREQS_DISK_BUILD="4000M"
+ else
+ CHECKREQS_DISK_BUILD="3600M"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use test ; then
+ CHECKREQS_DISK_BUILD="4000M"
+ else
+ CHECKREQS_DISK_BUILD="3600M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_prepare() {
+ pushd ../.. &>/dev/null || die
+
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+ if ! use ppc64; then
+ rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+ fi
+
+ # Workaround for bgo #915651,915651,929013 on musl
+ if use elibc_glibc ; then
+ rm -v "${WORKDIR}"/firefox-patches/*bgo-748849-RUST_TARGET_override.patch || die
+ fi
+
+ eapply "${WORKDIR}"/firefox-patches
+ eapply "${WORKDIR}"/spidermonkey-patches
+
+ default
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # Workaround for bgo #915651,915651,929013 on musl
+ if ! use elibc_glibc ; then
+ if use amd64 ; then
+ export RUST_TARGET="x86_64-unknown-linux-musl"
+ elif use x86 ; then
+ export RUST_TARGET="i686-unknown-linux-musl"
+ else
+ die "Unknown musl chost, please post your rustc -vV along with emerge --info on Gentoo's bug #915651"
+ fi
+ fi
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ # use prefix shell in wrapper linker scripts, bug #789660
+ hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+ einfo "Removing pre-built binaries ..."
+ find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ MOZJS_BUILDDIR="${WORKDIR}/build"
+ mkdir "${MOZJS_BUILDDIR}" || die
+
+ popd &>/dev/null || die
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current CFLAGS: ${CFLAGS}"
+ einfo "Current CXXFLAGS: ${CXXFLAGS}"
+ einfo "Current LDFLAGS: ${LDFLAGS}"
+ einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+ cd "${MOZJS_BUILDDIR}" || die
+
+ # ../python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ local -a myeconfargs=(
+ --host="${CBUILD:-${CHOST}}"
+ --target="${CHOST}"
+
+ --disable-ctype
+ --disable-jemalloc
+ --disable-smoosh
+ --disable-strip
+
+ --enable-project=js
+ --enable-readline
+ --enable-release
+ --enable-shared-js
+
+ --with-intl-api
+ --with-system-icu
+ --with-system-nspr
+ --with-system-zlib
+ --with-toolchain-prefix="${CHOST}-"
+
+ $(use_enable debug)
+ $(use_enable jit)
+ $(use_enable test tests)
+ )
+
+ if use debug; then
+ myeconfargs+=( --disable-optimize )
+ myeconfargs+=( --enable-debug-symbols )
+ myeconfargs+=( --enable-real-time-tracing )
+ else
+ myeconfargs+=( --enable-optimize )
+ myeconfargs+=( --disable-debug-symbols )
+ myeconfargs+=( --disable-real-time-tracing )
+ fi
+
+ # We always end up disabling this at some point due to newer rust versions. bgo#933372
+ myeconfargs+=( --disable-rust-simd )
+
+ # Modifications to better support ARM, bug 717344
+ if use cpu_flags_arm_neon ; then
+ myeconfargs+=( --with-fpu=neon )
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ myeconfargs+=( --with-thumb=yes )
+ myeconfargs+=( --with-thumb-interwork=no )
+ fi
+ fi
+
+ # Tell build system that we want to use LTO
+ if use lto ; then
+ if use clang ; then
+ if tc-ld-is-mold ; then
+ myeconfargs+=( --enable-linker=mold )
+ else
+ myeconfargs+=( --enable-linker=lld )
+ fi
+ myeconfargs+=( --enable-lto=cross )
+
+ else
+ myeconfargs+=( --enable-linker=bfd )
+ myeconfargs+=( --enable-lto=full )
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-lto
+
+ # Use system's Python environment
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ # Show flags we will use
+ einfo "Build CFLAGS: ${CFLAGS}"
+ einfo "Build CXXFLAGS: ${CXXFLAGS}"
+ einfo "Build LDFLAGS: ${LDFLAGS}"
+ einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+ # Forcing system-icu allows us to skip patching bundled ICU for PPC
+ # and other minor arches
+ ECONF_SOURCE="${S}" \
+ econf \
+ ${myeconfargs[@]} \
+ XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+}
+
+src_test() {
+ if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+ einfo "Smoke-test successful, continuing with full test suite"
+ else
+ die "Smoke-test failed: did interpreter initialization fail?"
+ fi
+
+ cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
+
+ if use sparc ; then
+ echo "non262/Array/regress-157652.js" >> "${T}"/known_failures.list
+ echo "non262/regress/regress-422348.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
+ fi
+
+ if use x86 ; then
+ echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
+ fi
+
+ ${EPYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js \
+ || die
+
+ if use jit ; then
+ ${EPYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js basic \
+ || die
+ fi
+}
+
+src_install() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+
+ # fix soname links
+ pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+ mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+ popd &>/dev/null || die
+
+ # remove unneeded files
+ rm \
+ "${ED}"/usr/bin/js${MY_MAJOR}-config \
+ "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+ || die
+
+ # fix permissions
+ chmod -x \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+ "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+ || die
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2024-01-24 6:23 Joonas Niilola
0 siblings, 0 replies; 24+ messages in thread
From: Joonas Niilola @ 2024-01-24 6:23 UTC (permalink / raw
To: gentoo-commits
commit: 7760cd017655ac22f64d32f69981256ca3d46893
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 24 06:22:55 2024 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Jan 24 06:23:25 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7760cd01
dev-lang/spidermonkey: add 115.7.0
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 2 +
.../files/spidermonkey-115-known-test-failures.txt | 33 ++
dev-lang/spidermonkey/spidermonkey-115.7.0.ebuild | 474 +++++++++++++++++++++
3 files changed, 509 insertions(+)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 4e01be2d8da3..230420112300 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,7 +1,9 @@
DIST firefox-102.15.0esr.source.tar.xz 486592324 BLAKE2B b70727fa91d0d270673374bebb4745b87f6194191c1c9415547d772811a4a85f79a97e8985877eb5c9beef43fe15bef574172da35935e7024a947919ec11d883 SHA512 87db6e32fda215253f9b3bd233ef7fa91a64349310064b8482e5c634f34cbe99a2a111d74d2b9f2a99a0b3b510dbf9039ebe4ccfc176c2554d65bc9cfb508bf9
DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520
DIST firefox-115.3.1esr.source.tar.xz 515785920 BLAKE2B ad5ec24361e94d9185eed210f681c50159f5be3e6046d79200b5e2586107f1ed98ebe7935f1e266afadd570fc1aa6a1aec81fe3b7fb86efb48afe82514f26c68 SHA512 65cb6fc46bba03eed742bd67f8e36b63b19f2ad7b85d2f503595704a4e88f554758a1e66ba548c8efe97a76322fb2514db72e6ff4bb2992d1aaa86edc3af85f1
+DIST firefox-115.7.0esr.source.tar.xz 515513828 BLAKE2B 9cacd9cd7e9b9040f37843645bc6823d72b3b736a3c4dcef7706304ebeda718e36e98962d9d9c000b7507fdfda40bd19ca4c8267573dc623a9507a7f77b17b52 SHA512 d468d8ef117d76e0660c5359c3becf0502354c61bdaaeb4137d86f52b50143abec2ac4578af69afa5670700b57efff1c7323ca23e3339a9eaaa888dee7e8e922
DIST firefox-115esr-patches-06.tar.xz 14944 BLAKE2B e60a8a32f8c5e6d897e8c3e13d291ffab651937505ce258f031e7e75560c9eb89fce4a22c61872d639e6e1d40244e94761baa1660c2d3d02584ad4cc4778946f SHA512 d9ea1a063df287fa651042c90529b1a1b5ebd5a28735c44b5527cc7dd29678c2f8a9204f007db328371ed6af9613ca7215464c00df5e685c3af4296a22139257
+DIST firefox-115esr-patches-08.tar.xz 15912 BLAKE2B 3f94deb17920672ad2184e813bd38e390ecaa50bfc6e00973db717bc56a5adb4f096224cc366da525db25aaa3d198d57716bcb765ddc906783532864e23dd8d4 SHA512 4474fbed14b2c4fac03d82f4b37849a69dbdd61fc15f01cefa373eb8a64a692f5a584247acdf7c349ab6965225c3cd47be3fc4523f93db5299680e2a22e94d94
DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516
DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185
diff --git a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
index 14c4db040eda..e71ebabdc356 100644
--- a/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
+++ b/dev-lang/spidermonkey/files/spidermonkey-115-known-test-failures.txt
@@ -4,6 +4,39 @@ non262/Intl/Collator/implicithan.js
non262/Intl/DateTimeFormat/day-period-hour-cycle.js
non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
non262/Intl/DateTimeFormat/timeZone_backzone.js
+non262/Intl/DisplayNames/calendar.js
+non262/Intl/DisplayNames/currency.js
+non262/Intl/DisplayNames/language-dialect.js
+non262/Intl/ListFormat/conjunction-type.js
+non262/Intl/Locale/likely-subtags-generated.js
+non262/Intl/Locale/likely-subtags.js
non262/Intl/available-locales-resolved.js
non262/Intl/available-locales-supported.js
non262/Intl/supportedValuesOf-timeZones-canonical.js
+non262/Intl/supportedValuesOf-timeZones.js
+test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js
+test262/built-ins/RegExp/property-escapes/generated/Assigned.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js
+test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js
+test262/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js
+test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js
+test262/built-ins/RegExp/property-escapes/generated/ID_Start.js
+test262/built-ins/RegExp/property-escapes/generated/Ideographic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js
+test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js
+test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js
+test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
+test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
+test262/intl402/Intl/supportedValuesOf/timeZones-accepted-by-DateTimeFormat.js
+test262/intl402/Locale/likely-subtags.js
diff --git a/dev-lang/spidermonkey/spidermonkey-115.7.0.ebuild b/dev-lang/spidermonkey/spidermonkey-115.7.0.ebuild
new file mode 100644
index 000000000000..7917e7324620
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-115.7.0.ebuild
@@ -0,0 +1,474 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-115esr-patches-08.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-115-patches-01.tar.xz"
+
+LLVM_MAX_SLOT=17
+
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="ncurses,ssl,xml(+)"
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${FIREFOX_PATCHSET}
+ https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
+
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+SLOT="$(ver_cut 1)"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+ || (
+ (
+ sys-devel/llvm:17
+ clang? (
+ sys-devel/lld:17
+ sys-devel/clang:17
+ virtual/rust:0/llvm-17
+ )
+ )
+ (
+ sys-devel/llvm:16
+ clang? (
+ sys-devel/lld:16
+ sys-devel/clang:16
+ virtual/rust:0/llvm-16
+ )
+ )
+ (
+ sys-devel/llvm:15
+ clang? (
+ sys-devel/lld:15
+ sys-devel/clang:15
+ virtual/rust:0/llvm-15
+ )
+ )
+ )
+ !clang? ( virtual/rust )
+ virtual/pkgconfig
+ test? (
+ $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+ )"
+DEPEND=">=dev-libs/icu-73.1:=
+ dev-libs/nspr
+ sys-libs/readline:0=
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+ einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! tc-ld-is-mold ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+ if use test ; then
+ python_has_version "dev-python/six[${PYTHON_USEDEP}]"
+ fi
+}
+
+# This is a straight copypaste from toolchain-funcs.eclass's 'tc-ld-is-lld', and is temporarily
+# placed here until toolchain-funcs.eclass gets an official support for mold linker.
+# Please see:
+# https://github.com/gentoo/gentoo/pull/28366 ||
+# https://github.com/gentoo/gentoo/pull/28355
+tc-ld-is-mold() {
+ local out
+
+ # Ensure ld output is in English.
+ local -x LC_ALL=C
+
+ # First check the linker directly.
+ out=$($(tc-getLD "$@") --version 2>&1)
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # Then see if they're selecting mold via compiler flags.
+ # Note: We're assuming they're using LDFLAGS to hold the
+ # options and not CFLAGS/CXXFLAGS.
+ local base="${T}/test-tc-linker"
+ cat <<-EOF > "${base}.c"
+ int main() { return 0; }
+ EOF
+ out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1)
+ rm -f "${base}"*
+ if [[ ${out} == *"mold"* ]] ; then
+ return 0
+ fi
+
+ # No mold here!
+ return 1
+}
+
+pkg_pretend() {
+ if use test ; then
+ CHECKREQS_DISK_BUILD="4000M"
+ else
+ CHECKREQS_DISK_BUILD="3600M"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use test ; then
+ CHECKREQS_DISK_BUILD="4000M"
+ else
+ CHECKREQS_DISK_BUILD="3600M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto && tc-ld-is-lld ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_prepare() {
+ pushd ../.. &>/dev/null || die
+
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+ if ! use ppc64; then
+ rm -v "${WORKDIR}"/firefox-patches/*ppc64*.patch || die
+ fi
+
+ eapply "${WORKDIR}"/firefox-patches
+ eapply "${WORKDIR}"/spidermonkey-patches
+
+ default
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ # use prefix shell in wrapper linker scripts, bug #789660
+ hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+ einfo "Removing pre-built binaries ..."
+ find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ MOZJS_BUILDDIR="${WORKDIR}/build"
+ mkdir "${MOZJS_BUILDDIR}" || die
+
+ popd &>/dev/null || die
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current CFLAGS: ${CFLAGS}"
+ einfo "Current CXXFLAGS: ${CXXFLAGS}"
+ einfo "Current LDFLAGS: ${LDFLAGS}"
+ einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+
+ local version_clang=$(clang --version 2>/dev/null | grep -F -- 'clang version' | awk '{ print $3 }')
+ [[ -n ${version_clang} ]] && version_clang=$(ver_cut 1 "${version_clang}")
+ [[ -z ${version_clang} ]] && die "Failed to read clang version!"
+
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+ AR=llvm-ar
+ CC=${CHOST}-clang-${version_clang}
+ CXX=${CHOST}-clang++-${version_clang}
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain,
+ # AS is used in a non-standard way by upstream, #bmo1654031
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ export AS="$(tc-getCC) -c"
+ tc-export CC CXX LD AR AS NM OBJDUMP RANLIB PKG_CONFIG
+
+ cd "${MOZJS_BUILDDIR}" || die
+
+ # ../python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ local -a myeconfargs=(
+ --host="${CBUILD:-${CHOST}}"
+ --target="${CHOST}"
+
+ --disable-ctype
+ --disable-jemalloc
+ --disable-smoosh
+ --disable-strip
+
+ --enable-project=js
+ --enable-readline
+ --enable-release
+ --enable-shared-js
+
+ --with-intl-api
+ --with-system-icu
+ --with-system-nspr
+ --with-system-zlib
+ --with-toolchain-prefix="${CHOST}-"
+
+ $(use_enable debug)
+ $(use_enable jit)
+ $(use_enable test tests)
+ )
+
+ if use debug; then
+ myeconfargs+=( --disable-optimize )
+ myeconfargs+=( --enable-debug-symbols )
+ myeconfargs+=( --enable-real-time-tracing )
+ else
+ myeconfargs+=( --enable-optimize )
+ myeconfargs+=( --disable-debug-symbols )
+ myeconfargs+=( --disable-real-time-tracing )
+ fi
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ myeconfargs+=( --enable-rust-simd )
+ fi
+
+ # Modifications to better support ARM, bug 717344
+ if use cpu_flags_arm_neon ; then
+ myeconfargs+=( --with-fpu=neon )
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ myeconfargs+=( --with-thumb=yes )
+ myeconfargs+=( --with-thumb-interwork=no )
+ fi
+ fi
+
+ # Tell build system that we want to use LTO
+ if use lto ; then
+ if use clang ; then
+ if tc-ld-is-mold ; then
+ myeconfargs+=( --enable-linker=mold )
+ else
+ myeconfargs+=( --enable-linker=lld )
+ fi
+ myeconfargs+=( --enable-lto=cross )
+
+ else
+ myeconfargs+=( --enable-linker=bfd )
+ myeconfargs+=( --enable-lto=full )
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-lto
+
+ # Use system's Python environment
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE="none"
+ export PIP_NETWORK_INSTALL_RESTRICTED_VIRTUALENVS=mach
+
+ # Show flags we will use
+ einfo "Build CFLAGS: ${CFLAGS}"
+ einfo "Build CXXFLAGS: ${CXXFLAGS}"
+ einfo "Build LDFLAGS: ${LDFLAGS}"
+ einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+ # Forcing system-icu allows us to skip patching bundled ICU for PPC
+ # and other minor arches
+ ECONF_SOURCE="${S}" \
+ econf \
+ ${myeconfargs[@]} \
+ XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+}
+
+src_test() {
+ if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+ einfo "Smoke-test successful, continuing with full test suite"
+ else
+ die "Smoke-test failed: did interpreter initialization fail?"
+ fi
+
+ cp "${FILESDIR}"/spidermonkey-${SLOT}-known-test-failures.txt "${T}"/known_failures.list || die
+
+ if use x86 ; then
+ echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
+ fi
+
+ ${EPYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js \
+ || die
+
+ if use jit ; then
+ ${EPYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js basic \
+ || die
+ fi
+}
+
+src_install() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+
+ # fix soname links
+ pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+ mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+ popd &>/dev/null || die
+
+ # remove unneeded files
+ rm \
+ "${ED}"/usr/bin/js${MY_MAJOR}-config \
+ "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+ || die
+
+ # fix permissions
+ chmod -x \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+ "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+ || die
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-11-24 13:38 Joonas Niilola
0 siblings, 0 replies; 24+ messages in thread
From: Joonas Niilola @ 2022-11-24 13:38 UTC (permalink / raw
To: gentoo-commits
commit: b945dd9ea21cc0fb64c36f6f6c7ebfe5d12bd4db
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 24 13:35:55 2022 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Thu Nov 24 13:37:04 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b945dd9e
dev-lang/spidermonkey: enable llvm-15,python-3.11 compatibility for 91
Closes: https://bugs.gentoo.org/882731
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 1 +
.../files/spidermonkey-91-known-test-failures.txt | 28 ++
.../spidermonkey/spidermonkey-91.13.0-r1.ebuild | 457 +++++++++++++++++++++
3 files changed, 486 insertions(+)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index fd5d7d56691a..ee6062b4db0f 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -9,3 +9,4 @@ DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f
DIST spidermonkey-102-patches-04j.tar.xz 3996 BLAKE2B 468697521adacc5d647b04f2228fc4c1a8131bc2523142f2d57f32e321303581ae8f793baae48966ecb27f48bf77eb084f7b2df1c1a0c667e9ed59ae93d786e6 SHA512 201bb779e2373cc00dfadc29a62b593030dfc12eec076114b92927f29f476d3fafdd056112dd1bb1f19f82827f4fe1252141e3998bec719e4196737a316d4ef2
DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
DIST spidermonkey-91-patches-04j.tar.xz 4624 BLAKE2B d9cf47b39a165e8434d4f2f20ae3a9734c1bb81c32ddb75360e5edfa6817d6343be89aff0f8ec381485772cad80b00a069789decbc462129161afc3d4acfcb53 SHA512 bd574fee600cb4c6a262893b7d992d85c4059d512b829cd2f226aff86d8a6a83c2bdab466704e22f64bf6d29f90901037a34f9e90a42251952ba1cdbc0cab968
+DIST spidermonkey-91-patches-05j.tar.xz 5964 BLAKE2B 13f09f77bf16bc61b03c9488b7ab521552e179bfb123e390d0883ea4a3f55e87e0a5d5a246f31a9ddc35f212ea84655fe9d4fc364bbdddc1aac421eb28dbe41f SHA512 4d9cf21b712234ff6a18554a010badd756028e6147597040c423f7e27d260e3984938f956d9bc3572557163a144345ed28d9f88e459fc959aaa6fd448f6deab7
diff --git a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
index 02bf6c93fc9a..448ee25e96bb 100644
--- a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
+++ b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
@@ -1,27 +1,39 @@
+non262/Date/15.9.5.7.js
non262/Date/reset-time-zone-cache-same-offset.js
non262/Date/time-zone-path.js
non262/Date/time-zones-historic.js
non262/Date/time-zones-imported.js
non262/Date/toString-localized-posix.js
non262/Date/toString-localized.js
+non262/Intl/Array/toLocaleString-date.js
non262/Intl/Date/toLocaleDateString_timeZone.js
non262/Intl/Date/toLocaleString_timeZone.js
non262/Intl/Date/toLocaleTimeString_timeZone.js
non262/Intl/DateTimeFormat/day-period-hour-cycle.js
non262/Intl/DateTimeFormat/extended-time-zone-names.js
+non262/Intl/DateTimeFormat/field-widths.js
non262/Intl/DateTimeFormat/format.js
+non262/Intl/DateTimeFormat/formatRange-hour-cycle.js
+non262/Intl/DateTimeFormat/formatToParts.js
non262/Intl/DateTimeFormat/format_timeZone.js
non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
+non262/Intl/DateTimeFormat/hourCycle.js
non262/Intl/DateTimeFormat/implied-script-has-consistent-output.js
non262/Intl/DateTimeFormat/japanese-gannen-year.js
non262/Intl/DateTimeFormat/related-year.js
non262/Intl/DateTimeFormat/timeZone_backward_links.js
non262/Intl/DateTimeFormat/timeZone_version.js
non262/Intl/DateTimeFormat/tz-environment-variable.js
+non262/Intl/DisplayNames/calendar.js
+non262/Intl/DisplayNames/dateTimeField.js
non262/Intl/DisplayNames/language.js
non262/Intl/DisplayNames/region.js
+non262/Intl/ListFormat/conjunction-type.js
non262/Intl/Locale/likely-subtags-generated.js
non262/Intl/Locale/likely-subtags.js
+non262/Intl/NumberFormat/currency-narrow-symbol.js
+non262/Intl/NumberFormat/format.js
+non262/Intl/NumberFormat/notation-compact-long.js
non262/Intl/available-locales-resolved.js
non262/Intl/available-locales-supported.js
test262/built-ins/Date/UTC/fp-evaluation-order.js
@@ -59,6 +71,7 @@ test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js
@@ -78,6 +91,9 @@ test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
@@ -86,6 +102,8 @@ test262/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js
test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js
@@ -98,6 +116,9 @@ test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
@@ -106,6 +127,8 @@ test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherite
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js
test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js
@@ -121,4 +144,9 @@ test262/built-ins/RegExp/property-escapes/generated/Uppercase.js
test262/built-ins/RegExp/property-escapes/generated/Variation_Selector.js
test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
+test262/intl402/DateTimeFormat/prototype/format/timedatestyle-en.js
+test262/intl402/DateTimeFormat/prototype/formatRange/en-US.js
+test262/intl402/DateTimeFormat/prototype/formatRange/fractionalSecondDigits.js
+test262/intl402/DateTimeFormat/prototype/formatRangeToParts/en-US.js
+test262/intl402/DateTimeFormat/prototype/formatRangeToParts/fractionalSecondDigits.js
test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js
diff --git a/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild
new file mode 100644
index 000000000000..ef74d3299c20
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-91.13.0-r1.ebuild
@@ -0,0 +1,457 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-91esr-patches-10j.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-91-patches-05j.tar.xz"
+
+LLVM_MAX_SLOT=15
+
+PYTHON_COMPAT=( python3_{8..11} )
+PYTHON_REQ_USE="ssl,xml(+)"
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+ https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
+
+KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv sparc x86"
+
+SLOT="91"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+
+ || (
+ (
+ sys-devel/clang:15
+ sys-devel/llvm:15
+ clang? (
+ virtual/rust:0/llvm-15
+ lto? ( sys-devel/lld:15 )
+ )
+ )
+ (
+ sys-devel/clang:14
+ sys-devel/llvm:14
+ clang? (
+ virtual/rust:0/llvm-14
+ lto? ( sys-devel/lld:14 )
+ )
+ )
+ )
+ !clang? ( virtual/rust )
+ virtual/pkgconfig
+ test? (
+ $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+ )"
+DEPEND=">=dev-libs/icu-69.1:=
+ dev-libs/nspr
+ sys-libs/readline:0=
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+ einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if ! has_version -b "virtual/rust:0/llvm-${LLVM_SLOT}" ; then
+ einfo "virtual/rust:0/llvm-${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use lto ; then
+ if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
+ einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+ if use test ; then
+ python_has_version "dev-python/six[${PYTHON_USEDEP}]"
+ fi
+}
+
+pkg_pretend() {
+ if use test ; then
+ CHECKREQS_DISK_BUILD="7600M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use test ; then
+ CHECKREQS_DISK_BUILD="7600M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_prepare() {
+ pushd ../.. &>/dev/null || die
+
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+ eapply "${WORKDIR}"/firefox-patches
+ eapply "${WORKDIR}"/spidermonkey-patches
+
+ default
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ # use prefix shell in wrapper linker scripts, bug #789660
+ hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+ einfo "Removing pre-built binaries ..."
+ find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ MOZJS_BUILDDIR="${WORKDIR}/build"
+ mkdir "${MOZJS_BUILDDIR}" || die
+
+ popd &>/dev/null || die
+ eautoconf
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current CFLAGS: ${CFLAGS}"
+ einfo "Current CXXFLAGS: ${CXXFLAGS}"
+ einfo "Current LDFLAGS: ${LDFLAGS}"
+ einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+ local have_switched_compiler=
+ if use clang; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ if tc-is-gcc; then
+ have_switched_compiler=yes
+ fi
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ cd "${MOZJS_BUILDDIR}" || die
+
+ # ../python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ local -a myeconfargs=(
+ --host="${CBUILD:-${CHOST}}"
+ --target="${CHOST}"
+ --disable-ctype
+ --disable-jemalloc
+ --disable-optimize
+ --disable-smoosh
+ --disable-strip
+ --enable-readline
+ --enable-release
+ --enable-shared-js
+ --with-intl-api
+ --with-system-icu
+ --with-system-nspr
+ --with-system-zlib
+ --with-toolchain-prefix="${CHOST}-"
+ $(use_enable debug)
+ $(use_enable jit)
+ $(use_enable test tests)
+ )
+
+ # Temporary fix with rust-1.63, bgo#870193
+ # if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ # myeconfargs+=( --enable-rust-simd )
+ # fi
+ myeconfargs+=( --disable-rust-simd )
+
+ # Modifications to better support ARM, bug 717344
+ if use cpu_flags_arm_neon ; then
+ myeconfargs+=( --with-fpu=neon )
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ myeconfargs+=( --with-thumb=yes )
+ myeconfargs+=( --with-thumb-interwork=no )
+ fi
+ fi
+
+ # Tell build system that we want to use LTO
+ if use lto ; then
+ if use clang ; then
+ myeconfargs+=( --enable-linker=lld )
+ myeconfargs+=( --enable-lto=cross )
+ else
+ myeconfargs+=( --enable-linker=bfd )
+ myeconfargs+=( --enable-lto )
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ if tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ export MACH_USE_SYSTEM_PYTHON=1
+ export PIP_NO_CACHE_DIR=off
+
+ # Show flags we will use
+ einfo "Build CFLAGS: ${CFLAGS}"
+ einfo "Build CXXFLAGS: ${CXXFLAGS}"
+ einfo "Build LDFLAGS: ${LDFLAGS}"
+ einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+ # Forcing system-icu allows us to skip patching bundled ICU for PPC
+ # and other minor arches
+ ECONF_SOURCE="${S}" \
+ econf \
+ ${myeconfargs[@]} \
+ XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+}
+
+src_test() {
+ if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+ einfo "Smoke-test successful, continuing with full test suite"
+ else
+ die "Smoke-test failed: did interpreter initialization fail?"
+ fi
+
+ cp "${FILESDIR}"/spidermonkey-91-known-test-failures.txt "${T}"/known_failures.list || die
+
+ # bgo #827960
+ if use ppc; then
+ echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/load/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/load/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/add/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/add/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/exchange/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/store/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/store/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/xor/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/sub/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/and/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/or/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/negative-timeout-agent.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/value-not-equal.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/nan-for-timeout.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/compareExchange/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/and/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/or/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/notify/bigint/notify-all-on-loc.js" >> "${T}"/known_failures.list
+ fi
+
+ if use x86 ; then
+ echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Number/prototype/toPrecision/return-values.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
+ fi
+
+ if [[ $(tc-endian) == "big" ]] ; then
+ echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
+ fi
+
+ ${EPYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js \
+ || die
+
+ if use jit ; then
+ ${EPYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js basic \
+ || die
+ fi
+}
+
+src_install() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+
+ # fix soname links
+ pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+ mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+ popd &>/dev/null || die
+
+ # remove unneeded files
+ rm \
+ "${ED}"/usr/bin/js${MY_MAJOR}-config \
+ "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+ || die
+
+ # fix permissions
+ chmod -x \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+ "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+ || die
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-11-24 7:21 Sam James
0 siblings, 0 replies; 24+ messages in thread
From: Sam James @ 2022-11-24 7:21 UTC (permalink / raw
To: gentoo-commits
commit: c971a7deb51fd332abae53ae2dd3d37232e13750
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 24 03:14:56 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 24 07:20:41 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c971a7de
dev-lang/spidermonkey: drop 68.12.0-r1
Signed-off-by: Sam James <sam <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/28407
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 3 -
.../spidermonkey-68.0-add-riscv-support.patch | 107 --------
.../files/spidermonkey-68.0-loong-support.patch | 103 --------
.../spidermonkey/spidermonkey-68.12.0-r1.ebuild | 273 ---------------------
4 files changed, 486 deletions(-)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index b1f9a6224d7b..fd5d7d56691a 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,14 +1,11 @@
DIST firefox-102.4.0esr.source.tar.xz 482118312 BLAKE2B dadb293edf4df20da5345aab6845ca9da8143a966b38d3660ea8ebc4f24ecab72097ba4345d30895907c83895883379867437f8097b86af4e7e0e691da551793 SHA512 30d9e6ef04fd86516e2cea3c797ec99af4c96b08576bb3409c0026da4fd1218167f89a007109e1fa4e2571f98f2dbe5ab58a26473533d45301f75b90ec3dbf28
DIST firefox-102.5.0esr.source.tar.xz 478705384 BLAKE2B ee005b0e75151e39a9f34ab38a7a704a1f2efd4fe33bacb6a604a8a6ce8727210d0794b81e03e448d5baa2be264a7150728aac4f5b86d0a5154d549abf0c75ac SHA512 f4e105209c61e9537ddc90afdb05ede0a31caceb9b164d96276c811abbd646d14bc246c00caa386c0b0561055096d30b298329c69270dd085b943bdbc3a91a13
DIST firefox-102esr-patches-04j.tar.xz 21860 BLAKE2B 1cc1d6493912f85e71cb5a0ec2c3196cda203242f3503bb6ce8c23a93e71a6e8b1138f88498a6a9698066134cc234989b35cb378693fb2cbc9ba4caa8d66761d SHA512 9f7188dd79b9856826ae2a60b0109c2c86c60c10b03cd1828a9f7a7576df5c49ed3e11e4d3319d80e117204d6bc3408e375a62ad16ec8d2e53f999cd298811d8
-DIST firefox-68.0-patches-15.tar.xz 16060 BLAKE2B f9e6cd58ea51bed1af90a9d30fd551dc7e939afcd1b4d00de1271bd4bda94021c6f1799fd9945962c14ffa1fd0b6a6429369c4e45efc2000f179b9b2e46971e7 SHA512 9cb2479637dd8b84e0ab68dc0fe144acd2dc74feca282fd3c4b485ca6f0de8190244587622713a5421b243ccda153f738e9a8f463e87e15e93e9b725d943e128
-DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b313170a30cee8e1fc10a8b08512b915b83b7d6a81c09b365733ed94638bd434864fd7b0cb8cbf1bc2e43441be69e31117e8e6a099234c SHA512 839b02422e4c87bdb12e0995cd35ca8c1996f3fba00bbb46b419e46b67df5ec48a264cb14632db777ce29166ee4fdcb06e2ee3ce847e64328c58c9a2f9129f4c
DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a
DIST firefox-91.11.0esr.source.tar.xz 384459848 BLAKE2B cff327378a1712d0dfb99e1a67bd63e958987e3147279af5f98ee9318fe91f42823bbc9afb0308638e42de789451b04ea895320a8c674cc221e0d4b0b1d80f38 SHA512 bff3a399c03bd1cdaaec0b6963b1558aa35b6338b6c02042ffd65fec0aedd344d01718692e881332f5f352c32da15ba09a20a09ee072200b47ae840bc0585a96
DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516
DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
DIST spidermonkey-102-patches-04j.tar.xz 3996 BLAKE2B 468697521adacc5d647b04f2228fc4c1a8131bc2523142f2d57f32e321303581ae8f793baae48966ecb27f48bf77eb084f7b2df1c1a0c667e9ed59ae93d786e6 SHA512 201bb779e2373cc00dfadc29a62b593030dfc12eec076114b92927f29f476d3fafdd056112dd1bb1f19f82827f4fe1252141e3998bec719e4196737a316d4ef2
-DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d5926b710c06b0e9de1ff03b130a57fdac30f2deefbee3fa92250b37e28087572fe5cce73eb112ef4e1fb0c0401d6ecdb22ab9868998 SHA512 94575b11b4f006c6ee0c8d64b315734a173cecb68e9128ca61ba1a28177e3c149b8cf1f3b3c47a7a263fad8da6196fc0101df87392f016686a827e0cd24fdc74
DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
DIST spidermonkey-91-patches-04j.tar.xz 4624 BLAKE2B d9cf47b39a165e8434d4f2f20ae3a9734c1bb81c32ddb75360e5edfa6817d6343be89aff0f8ec381485772cad80b00a069789decbc462129161afc3d4acfcb53 SHA512 bd574fee600cb4c6a262893b7d992d85c4059d512b829cd2f226aff86d8a6a83c2bdab466704e22f64bf6d29f90901037a34f9e90a42251952ba1cdbc0cab968
diff --git a/dev-lang/spidermonkey/files/spidermonkey-68.0-add-riscv-support.patch b/dev-lang/spidermonkey/files/spidermonkey-68.0-add-riscv-support.patch
deleted file mode 100644
index cc44da805898..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-68.0-add-riscv-support.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From f144113688168e2bd86d24a48c8d7cdfdb4ccaab Mon Sep 17 00:00:00 2001
-From: Thomas Deutschmann <whissi@gentoo.org>
-Date: Fri, 21 May 2021 17:17:45 +0200
-Subject: [PATCH] bmo#1318905: Make SpiderMonkey build on Linux/RISC-V
-
-Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>
----
- build/moz.configure/init.configure | 3 +++
- js/src/jit/AtomicOperations.h | 2 +-
- js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h | 5 +++++
- mfbt/tests/TestPoisonArea.cpp | 3 +++
- python/mozbuild/mozbuild/configure/constants.py | 2 ++
- .../mozbuild/test/configure/test_toolchain_configure.py | 4 ++++
- 6 files changed, 18 insertions(+), 1 deletion(-)
-
-diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
-index b887153321a..5c275076061 100644
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -755,6 +755,9 @@ def split_triplet(triplet, allow_msvc=False):
- elif cpu.startswith('aarch64'):
- canonical_cpu = 'aarch64'
- endianness = 'little'
-+ elif cpu in ('riscv64', 'riscv64gc'):
-+ canonical_cpu = 'riscv64'
-+ endianness = 'little'
- elif cpu == 'sh4':
- canonical_cpu = 'sh4'
- endianness = 'little'
-diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
-index 0f45ac8b58e..f48d2adce97 100644
---- a/js/src/jit/AtomicOperations.h
-+++ b/js/src/jit/AtomicOperations.h
-@@ -392,7 +392,7 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) {
- defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \
- defined(__PPC64LE__) || defined(__alpha__) || defined(__hppa__) || \
- defined(__ia64__) || defined(__sh__) || defined(__s390__) || \
-- defined(__s390x__)
-+ defined(__s390x__) || defined(__riscv)
- # include "jit/shared/AtomicOperations-feeling-lucky.h"
- #else
- # error "No AtomicOperations support provided for this platform"
-diff --git a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
-index f002cd46c93..1ce40efaccc 100644
---- a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
-+++ b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
-@@ -63,6 +63,11 @@
- # define HAS_64BIT_LOCKFREE
- #endif
-
-+#if defined(__riscv) && __riscv_xlen == 64
-+# define HAS_64BIT_ATOMICS
-+# define HAS_64BIT_LOCKFREE
-+#endif
-+
- #ifdef __sparc__
- # ifdef __LP64__
- # define HAS_64BIT_ATOMICS
-diff --git a/mfbt/tests/TestPoisonArea.cpp b/mfbt/tests/TestPoisonArea.cpp
-index fbd33647150..9d2ffa498b7 100644
---- a/mfbt/tests/TestPoisonArea.cpp
-+++ b/mfbt/tests/TestPoisonArea.cpp
-@@ -132,6 +132,9 @@
- #elif defined _ARCH_PPC || defined _ARCH_PWR || defined _ARCH_PWR2
- # define RETURN_INSTR 0x4E800020 /* blr */
-
-+#elif defined __riscv
-+# define RETURN_INSTR 0x80828082 /* ret; ret */
-+
- #elif defined __sparc || defined __sparcv9
- # define RETURN_INSTR 0x81c3e008 /* retl */
-
-diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
-index 7542dcdc636..49ef3b857db 100644
---- a/python/mozbuild/mozbuild/configure/constants.py
-+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -49,6 +49,7 @@
- 'mips64': 64,
- 'ppc': 32,
- 'ppc64': 64,
-+ 'riscv64': 64,
- 's390': 32,
- 's390x': 64,
- 'sh4': 32,
-@@ -87,6 +88,7 @@
- ('sparc', '__sparc__'),
- ('mips64', '__mips64'),
- ('mips32', '__mips__'),
-+ ('riscv64', '__riscv && __riscv_xlen == 64'),
- ('sh4', '__sh__'),
- ))
-
-diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-index 37c4e26f0fb..5d3d5891dca 100755
---- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-@@ -1208,6 +1208,10 @@ class LinuxCrossCompileToolchainTest(BaseToolchainTest):
- 'mips-unknown-linux-gnu': big_endian + {
- '__mips__': 1,
- },
-+ 'riscv64-unknown-linux-gnu': little_endian + {
-+ '__riscv': 1,
-+ '__riscv_xlen': 64,
-+ },
- 'sh4-unknown-linux-gnu': little_endian + {
- '__sh__': 1,
- },
diff --git a/dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch b/dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch
deleted file mode 100644
index f7010d5ebf32..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-68.0-loong-support.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-https://raw.githubusercontent.com/xen0n/loongson-overlay/00901fd4c599ec320c7852cbd30b40d3f6aa8971/dev-lang/spidermonkey/files/spidermonkey-68.0-add-loongarch64-support.patch
-
---- a/build/moz.configure/init.configure
-+++ b/build/moz.configure/init.configure
-@@ -734,6 +734,9 @@ def split_triplet(triplet, allow_unknown
- elif cpu == 'sh4':
- canonical_cpu = 'sh4'
- endianness = 'little'
-+ elif cpu == 'loongarch64':
-+ canonical_cpu = 'loongarch64'
-+ endianness = 'little'
- elif allow_unknown:
- canonical_cpu = cpu
- endianness = 'unknown'
---- a/js/src/jit/AtomicOperations.h
-+++ b/js/src/jit/AtomicOperations.h
-@@ -382,6 +382,9 @@ inline bool AtomicOperations::isLockfree
- # else
- # include "jit/shared/AtomicOperations-feeling-lucky.h"
- # endif
-+#elif defined(__loongarch64)
-+// This is only here to avoid merge conflict with spidermonkey-68.0-add-riscv-support.patch.
-+# include "jit/shared/AtomicOperations-feeling-lucky.h"
- #elif defined(__mips__)
- # if defined(__clang__) || defined(__GNUC__)
- # include "jit/mips-shared/AtomicOperations-mips-shared.h"
---- a/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
-+++ b/js/src/jit/shared/AtomicOperations-feeling-lucky-gcc.h
-@@ -57,6 +57,11 @@
- # define HAS_64BIT_LOCKFREE
- #endif
-
-+#ifdef __loongarch64
-+# define HAS_64BIT_ATOMICS
-+# define HAS_64BIT_LOCKFREE
-+#endif
-+
- #if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || \
- defined(__PPC64LE__)
- # define HAS_64BIT_ATOMICS
---- a/mfbt/tests/TestPoisonArea.cpp
-+++ b/mfbt/tests/TestPoisonArea.cpp
-@@ -127,6 +127,9 @@
- #elif defined __arm__ || defined _M_ARM
- # define RETURN_INSTR 0xE12FFF1E /* bx lr */
-
-+#elif defined __loongarch__
-+# define RETURN_INSTR 0x4c000020 /* jirl zero, ra, 0 */
-+
- // PPC has its own style of CPU-id #defines. There is no Windows for
- // PPC as far as I know, so no _M_ variant.
- #elif defined _ARCH_PPC || defined _ARCH_PWR || defined _ARCH_PWR2
---- a/python/mozbuild/mozbuild/configure/constants.py
-+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -46,6 +46,7 @@ CPU_bitness = {
- 'arm': 32,
- 'hppa': 32,
- 'ia64': 64,
-+ 'loongarch64': 64,
- 'mips32': 32,
- 'mips64': 64,
- 'ppc': 32,
-@@ -78,6 +79,7 @@ CPU_preprocessor_checks = OrderedDict((
- ('arm', '__arm__ || _M_ARM'),
- ('aarch64', '__aarch64__ || _M_ARM64'),
- ('ia64', '__ia64__'),
-+ ('loongarch64', '__loongarch64'),
- ('s390x', '__s390x__'),
- ('s390', '__s390__'),
- ('ppc64', '__powerpc64__'),
---- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
-@@ -1068,6 +1068,10 @@ class LinuxCrossCompileToolchainTest(Bas
- 'ia64-unknown-linux-gnu': little_endian + {
- '__ia64__': 1,
- },
-+ 'loongarch64-unknown-linux-gnu': little_endian + {
-+ '__loongarch__': 1,
-+ '__loongarch64': 1,
-+ },
- 's390x-unknown-linux-gnu': big_endian + {
- '__s390x__': 1,
- '__s390__': 1,
---- a/intl/icu/source/i18n/double-conversion-utils.h
-+++ b/intl/icu/source/i18n/double-conversion-utils.h
-@@ -117,6 +117,7 @@ int main(int argc, char** argv) {
- #if defined(_M_X64) || defined(__x86_64__) || \
- defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
- defined(__hppa__) || defined(__ia64__) || \
-+ defined(__loongarch__) || \
- defined(__mips__) || \
- defined(__nios2__) || defined(__ghs) || \
- defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
---- a/mfbt/double-conversion/double-conversion/utils.h
-+++ b/mfbt/double-conversion/double-conversion/utils.h
-@@ -117,6 +117,7 @@ int main(int argc, char** argv) {
- #if defined(_M_X64) || defined(__x86_64__) || \
- defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
- defined(__hppa__) || defined(__ia64__) || \
-+ defined(__loongarch__) || \
- defined(__mips__) || \
- defined(__nios2__) || defined(__ghs) || \
- defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
diff --git a/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild
deleted file mode 100644
index fa5485814854..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-68.12.0-r1.ebuild
+++ /dev/null
@@ -1,273 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PYTHON_COMPAT=( python3_{8..10} )
-PYTHON_REQ_USE="ssl"
-
-WANT_AUTOCONF="2.1"
-
-inherit autotools check-reqs python-any-r1 toolchain-funcs
-
-MY_PN="mozjs"
-MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
-
-MY_MAJOR=$(ver_cut 1)
-
-MOZ_ESR="1"
-
-# Convert the ebuild version to the upstream mozilla version
-MOZ_PV="${MY_PV/_alpha/a}" # Handle alpha for SRC_URI
-MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
-MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
-
-if [[ ${MOZ_ESR} == 1 ]] ; then
- # ESR releases have slightly different version numbers
- MOZ_PV="${MOZ_PV}esr"
-fi
-
-# Patch version
-FIREFOX_PATCHSET="firefox-68.0-patches-15"
-SPIDERMONKEY_PATCHSET="${PN}-68.6.0-patches-04"
-
-MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/releases"
-MOZ_SRC_URI="${MOZ_HTTP_URI}/${MOZ_PV}/source/firefox-${MOZ_PV}.source.tar.xz"
-
-if [[ "${PV}" == *_rc* ]]; then
- MOZ_HTTP_URI="https://archive.mozilla.org/pub/firefox/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
- MOZ_SRC_URI="${MOZ_HTTP_URI}/source/firefox-${MOZ_PV}.source.tar.xz"
-fi
-
-PATCH_URIS=(
- https://dev.gentoo.org/~{anarchy,whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET}.tar.xz
- https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}.tar.xz
-)
-
-SRC_URI="${MOZ_SRC_URI}
- ${PATCH_URIS[@]}"
-
-DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-
-# riscv support requires a patch currently only available in firefox-78 patch sets
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 -riscv sparc x86"
-
-SLOT="68"
-LICENSE="MPL-2.0"
-IUSE="cpu_flags_arm_neon debug +jit test"
-
-RESTRICT="!test? ( test )"
-
-BDEPEND="dev-lang/python:2.7
- virtual/pkgconfig
- test? ( ${PYTHON_DEPS} )"
-
-DEPEND="dev-libs/icu:=
- >=dev-libs/nspr-4.21
- sys-libs/readline:0=
- >=sys-libs/zlib-1.2.3"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/firefox-${MY_PV}/js/src"
-
-pkg_pretend() {
- if use test ; then
- CHECKREQS_DISK_BUILD="6G"
- else
- CHECKREQS_DISK_BUILD="5G"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- if use test ; then
- CHECKREQS_DISK_BUILD="6G"
- else
- CHECKREQS_DISK_BUILD="5G"
- fi
-
- check-reqs_pkg_setup
-
- use test && python-any-r1_pkg_setup
-}
-
-src_prepare() {
- cd ../.. || die
- rm "${WORKDIR}"/firefox/2013_avoid_noinline_on_GCC_with_skcms.patch
- rm "${WORKDIR}"/firefox/2015_fix_cssparser.patch
- rm "${WORKDIR}"/firefox/2016_set_CARGO_PROFILE_RELEASE_LTO.patch
- eapply "${WORKDIR}"/firefox
- eapply "${WORKDIR}"/spidermonkey-patches
- eapply "${FILESDIR}"/spidermonkey-68.0-add-riscv-support.patch
- eapply "${FILESDIR}"/spidermonkey-68.0-loong-support.patch
-
- default
-
- # sed-in toolchain prefix
- sed -i \
- -e "s/objdump/${CHOST}-objdump/" \
- python/mozbuild/mozbuild/configure/check_debug_ranges.py \
- || die "sed failed to set toolchain prefix"
-
- MOZJS_BUILDDIR="${WORKDIR}/build"
- mkdir "${MOZJS_BUILDDIR}" || die
-
- cd "${S}" || die
- eautoconf
-}
-
-src_configure() {
- tc-export CC CXX LD AR RANLIB
-
- # backup current active Python version
- local PYTHON_OLD=${PYTHON}
-
- # build system will require Python2.7
- export PYTHON=python2.7
-
- cd "${MOZJS_BUILDDIR}" || die
-
- # ../python/mach/mach/mixin/process.py fails to detect SHELL
- export SHELL="${EPREFIX}/bin/bash"
-
- local -a myeconfargs=(
- --host="${CBUILD:-${CHOST}}"
- --target="${CHOST}"
- --disable-jemalloc
- --disable-optimize
- --disable-strip
- --enable-readline
- --enable-shared-js
- --with-intl-api
- --with-system-icu
- --with-system-nspr
- --with-system-zlib
- --with-toolchain-prefix="${CHOST}-"
- $(use_enable debug)
- $(use_enable jit ion)
- $(use_enable test tests)
- )
-
- # Modifications to better support ARM, bug 717344
- if use cpu_flags_arm_neon ; then
- myeconfargs+=( --with-fpu=neon )
-
- if ! tc-is-clang ; then
- # thumb options aren't supported when using clang, bug 666966
- myeconfargs+=( --with-thumb=yes )
- myeconfargs+=( --with-thumb-interwork=no )
- fi
- fi
-
- # Forcing system-icu allows us to skip patching bundled ICU for PPC
- # and other minor arches
- ECONF_SOURCE="${S}" \
- econf \
- ${myeconfargs[@]} \
- XARGS="${EPREFIX}/usr/bin/xargs"
-
- # restore PYTHON
- export PYTHON=${PYTHON_OLD}
-}
-
-src_compile() {
- cd "${MOZJS_BUILDDIR}" || die
- default
-}
-
-src_test() {
- if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
- einfo "Smoke-test successful, continuing with full test suite"
- else
- die "Smoke-test failed: did interpreter initialization fail?"
- fi
-
- local -a KNOWN_TESTFAILURES
- KNOWN_TESTFAILURES+=( test262/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js )
- KNOWN_TESTFAILURES+=( test262/intl402/RelativeTimeFormat/prototype/format/en-us-numeric-auto.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
- KNOWN_TESTFAILURES+=( non262/Intl/RelativeTimeFormat/format.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
- KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
-
- if use x86 ; then
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
- KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
- KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
- elif use sparc ; then
- KNOWN_TESTFAILURES+=( non262/Array/regress-157652.js )
- KNOWN_TESTFAILURES+=( non262/Array/regress-330812.js )
- KNOWN_TESTFAILURES+=( non262/regress/regress-422348.js )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
- fi
-
- echo "" > "${T}"/known_failures.list || die
-
- local KNOWN_TESTFAILURE
- for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
- echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
- done
-
- PYTHONPATH="${S}/tests/lib" \
- ${PYTHON} \
- "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
- --exclude-file="${T}"/known_failures.list \
- "${MOZJS_BUILDDIR}"/js/src/js \
- || die
-
- if use jit ; then
- KNOWN_TESTFAILURES=()
-
- echo "" > "${T}"/known_failures.list || die
-
- for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
- echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
- done
-
- PYTHONPATH="${S}/tests/lib" \
- ${PYTHON} \
- "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
- --exclude-file="${T}"/known_failures.list \
- "${MOZJS_BUILDDIR}"/js/src/js basic \
- || die
- fi
-}
-
-src_install() {
- cd "${MOZJS_BUILDDIR}" || die
- default
-
- # fix soname links
- pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
- mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
- ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
- ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
- popd &>/dev/null || die
-
- # remove unneeded files
- rm \
- "${ED}"/usr/bin/js${MY_MAJOR}-config \
- "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
- || die
-
- # fix permissions
- chmod -x \
- "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
- "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
- || die
-}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-11-24 3:08 Sam James
0 siblings, 0 replies; 24+ messages in thread
From: Sam James @ 2022-11-24 3:08 UTC (permalink / raw
To: gentoo-commits
commit: 2cd007df034d518d7879c3a6778cfec65ca7deb0
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 19 04:56:41 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Nov 24 03:08:13 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2cd007df
dev-lang/spidermonkey: drop 60.5.2_p0-r6
Signed-off-by: Sam James <sam <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 2 -
...ey-60.5.2-ia64-fix-virtual-address-length.patch | 59 --------
.../files/spidermonkey-60.5.2-ia64-support.patch | 44 ------
.../spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild | 158 ---------------------
4 files changed, 263 deletions(-)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 996dcd5088c7..b1f9a6224d7b 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -8,9 +8,7 @@ DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a
DIST firefox-91.11.0esr.source.tar.xz 384459848 BLAKE2B cff327378a1712d0dfb99e1a67bd63e958987e3147279af5f98ee9318fe91f42823bbc9afb0308638e42de789451b04ea895320a8c674cc221e0d4b0b1d80f38 SHA512 bff3a399c03bd1cdaaec0b6963b1558aa35b6338b6c02042ffd65fec0aedd344d01718692e881332f5f352c32da15ba09a20a09ee072200b47ae840bc0585a96
DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516
DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
-DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
DIST spidermonkey-102-patches-04j.tar.xz 3996 BLAKE2B 468697521adacc5d647b04f2228fc4c1a8131bc2523142f2d57f32e321303581ae8f793baae48966ecb27f48bf77eb084f7b2df1c1a0c667e9ed59ae93d786e6 SHA512 201bb779e2373cc00dfadc29a62b593030dfc12eec076114b92927f29f476d3fafdd056112dd1bb1f19f82827f4fe1252141e3998bec719e4196737a316d4ef2
-DIST spidermonkey-60.0-patches-04.tar.xz 4428 BLAKE2B af78049cd9b3ee6a9b689e6253486c4670fd3b506faade7d745dafaa7af329c0bd15cd35e95528a4c96688230f4803130967fb09b97aae2bda0ce0f73acaaf3e SHA512 fb1326a81512146ba98773d4f7e0c4bc1bff0f076897c13f576fcf63b56f6965efeff633eea9160bca9f9bc4546505901084eabc33bc955de0b7ab3d6334387a
DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d5926b710c06b0e9de1ff03b130a57fdac30f2deefbee3fa92250b37e28087572fe5cce73eb112ef4e1fb0c0401d6ecdb22ab9868998 SHA512 94575b11b4f006c6ee0c8d64b315734a173cecb68e9128ca61ba1a28177e3c149b8cf1f3b3c47a7a263fad8da6196fc0101df87392f016686a827e0cd24fdc74
DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
DIST spidermonkey-91-patches-04j.tar.xz 4624 BLAKE2B d9cf47b39a165e8434d4f2f20ae3a9734c1bb81c32ddb75360e5edfa6817d6343be89aff0f8ec381485772cad80b00a069789decbc462129161afc3d4acfcb53 SHA512 bd574fee600cb4c6a262893b7d992d85c4059d512b829cd2f226aff86d8a6a83c2bdab466704e22f64bf6d29f90901037a34f9e90a42251952ba1cdbc0cab968
diff --git a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch
deleted file mode 100644
index 8b2245f1e353..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-fix-virtual-address-length.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 8099213b51180254b322332ecd573239da4212c4 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Thu, 23 Jan 2020 22:57:53 +0000
-Subject: [PATCH] ProcessExecutableMemory.cpp: fix virtual address length on
- ia64
-
-ia64's usable virtual address space is page dependent. For 16K
-pages with 3 levels of page tables de can address only 44 bits
-of virtual memory, not default 47.
-
-The change makes page size detection dynamic and adapts to
-addressable bits. On ia64 it is '4 * log2(page_size/8)'.
-
-Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
----
- js/src/jit/ProcessExecutableMemory.cpp | 25 +++++++++++++++++++++++++
- 1 file changed, 25 insertions(+)
-
-diff --git a/js/src/jit/ProcessExecutableMemory.cpp b/js/src/jit/ProcessExecutableMemory.cpp
-index 9e55c262..8581c150 100644
---- a/js/src/jit/ProcessExecutableMemory.cpp
-+++ b/js/src/jit/ProcessExecutableMemory.cpp
-
-@@ -248,7 +248,32 @@ static void* ComputeRandomAllocationAddress() {
- // x64 CPUs have a 48-bit address space and on some platforms the OS will
- // give us access to 47 bits, so to be safe we right shift by 18 to leave
- // 46 bits.
-+# ifdef __ia64__
-+ // On ia64 virtual address space looks like one of:
-+ // virt_addr_64 = [ <63..61> | <unimplemented> | L3 | L2 | L1 | offset ]
-+ // virt_addr_64 = [ <63..61> | <unimplemented> | L4 | L3 | L2 | L1 | offset ]
-+ // where L{1..L4} are page tables. Each page table (except top-level L3 or L4)
-+ // is itself a page-size entry and can store PageSize / 8 entries. Top-level
-+ // entry is 1/8 of of L1/L2 (as 3 upper bits are part of <63..61> address part).
-+ // Note: that makes addressable size directly depend on page size.
-+ //
-+ // We conservatively assume 3 levels of page tables here. This makes the
-+ // following formula:
-+ // L3 = log2(PAGE / 8 / 8) = log2(PAGE / 8) - 3
-+ // L2 = log2(PAGE / 8)
-+ // L1 = log2(PAGE / 8)
-+ // offset = log2(PAGE) = log2(PAGE / 8) + 3
-+ // thus
-+ // L3 + L2 + L1 + offset = 4 * log2(PAGE / 8)
-+ // For more details see http://www.ia64-linux.org/doc/IA64linuxkernel.PDF
-+ // (slide 19: "user regions").
-+ static uint64_t ia64_virt_bits = std::min<uint64_t>(
-+ 4 * (mozilla::FloorLog2(gc::SystemPageSize() / 8)),
-+ 46);
-+ rand >>= (64 - ia64_virt_bits);
-+# else
- rand >>= 18;
-+# endif
- #else
- // On 32-bit, right shift by 34 to leave 30 bits, range [0, 1GiB). Then add
- // 512MiB to get range [512MiB, 1.5GiB), or [0x20000000, 0x60000000). This
---
-2.25.0
-
diff --git a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
deleted file mode 100644
index 90c8a4c9da3b..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 35d787c782a075c0a01e29605d254950fd1e81a6 Mon Sep 17 00:00:00 2001
-From: Sergei Trofimovich <slyfox@gentoo.org>
-Date: Thu, 25 Jul 2019 10:17:39 -0500
-Subject: [PATCH] Add support for ia64 atomic-ops
-
-Signed-off-by: Jory Pratt <anarchy@gentoo.org>
----
- js/src/jit/AtomicOperations.h | 2 ++
- js/src/jit/none/AtomicOperations-feeling-lucky.h | 6 ++++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
-index 3501e65b..44c3f358 100644
---- a/js/src/jit/AtomicOperations.h
-+++ b/js/src/jit/AtomicOperations.h
-@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) {
- #include "jit/none/AtomicOperations-feeling-lucky.h"
- #elif defined(__s390__) || defined(__s390x__)
- #include "jit/none/AtomicOperations-feeling-lucky.h"
-+#elif defined(__ia64__)
-+#include "jit/none/AtomicOperations-feeling-lucky.h"
- #else
- #error "No AtomicOperations support provided for this platform"
- #endif
-diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h
-index c0b43699..a3f4497e 100644
---- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
-+++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
-@@ -80,6 +80,12 @@
- #define GNUC_COMPATIBLE
- #endif
-
-+#ifdef __ia64__
-+#define HAS_64BIT_ATOMICS
-+#define HAS_64BIT_LOCKFREE
-+#define GNUC_COMPATIBLE
-+#endif
-+
- // The default implementation tactic for gcc/clang is to use the newer
- // __atomic intrinsics added for use in C++11 <atomic>. Where that
- // isn't available, we use GCC's older __sync functions instead.
---
-2.22.0
-
diff --git a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild
deleted file mode 100644
index ef5e64bc7a31..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r6.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WANT_AUTOCONF="2.1"
-inherit autotools check-reqs toolchain-funcs pax-utils mozcoreconf-v5 flag-o-matic
-
-MY_PN="mozjs"
-MY_P="${MY_PN}-${PV/_rc/.rc}"
-MY_P="${MY_P/_pre/pre}"
-MY_P="${MY_P%_p[0-9]*}"
-DESCRIPTION="Stand-alone JavaScript C++ library"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-#SRC_URI="https://archive.mozilla.org/pub/spidermonkey/prereleases/60/pre3/${MY_P}.tar.bz2
-SRC_URI="https://dev.gentoo.org/~axs/distfiles/${MY_P}.tar.bz2
- https://dev.gentoo.org/~anarchy/mozilla/patchsets/${PN}-60.0-patches-04.tar.xz"
-
-LICENSE="NPL-1.1"
-SLOT="60"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
-IUSE="debug +jit minimal +system-icu test"
-
-# Disable tests:
-# Version is dead and most issues are related to the use of
-# system's ICU.
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_P%.rc*}"
-
-BUILDDIR="${S}/jsobj"
-
-RDEPEND=">=dev-libs/nspr-4.13.1
- dev-libs/libffi:=
- sys-libs/readline:0=
- >=sys-libs/zlib-1.2.3:=
- system-icu? ( >=dev-libs/icu-59.1:= )"
-DEPEND="${RDEPEND}"
-
-pkg_pretend() {
- CHECKREQS_DISK_BUILD="2G"
-
- check-reqs_pkg_setup
-}
-pkg_setup() {
- [[ ${MERGE_TYPE} == "binary" ]] || \
- moz_pkgsetup
- export SHELL="${EPREFIX}/bin/bash"
-}
-
-src_prepare() {
- eapply "${WORKDIR}/${PN}"
- eapply "${FILESDIR}/${PN}-60.5.2-ia64-support.patch"
- eapply "${FILESDIR}/${PN}-60.5.2-ia64-fix-virtual-address-length.patch"
-
- eapply_user
-
- append-atomic-flags # bug 688574
-
- cd "${S}/js/src" || die
- eautoconf old-configure.in
- eautoconf
-
- # remove options that are not correct from js-config
- sed '/lib-filenames/d' -i "${S}"/js/src/build/js-config.in || die "failed to remove invalid option from js-config"
-
- # there is a default config.cache that messes everything up
- rm -f "${S}/js/src"/config.cache || die
-
- mkdir -p "${BUILDDIR}" || die
-}
-
-src_configure() {
- cd "${BUILDDIR}" || die
-
- tc-export AR RANLIB
-
- ECONF_SOURCE="${S}/js/src" \
- econf \
- --disable-jemalloc \
- --enable-readline \
- --with-system-nspr \
- --with-system-zlib \
- --disable-optimize \
- --with-intl-api \
- --with-toolchain-prefix="${CHOST}-" \
- $(use_with system-icu) \
- $(use_enable debug) \
- $(use_enable jit ion) \
- $(use_enable test tests) \
- XARGS="/usr/bin/xargs" \
- CONFIG_SHELL="${EPREFIX}/bin/bash" \
- CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}"
-}
-
-cross_make() {
- emake \
- CFLAGS="${BUILD_CFLAGS}" \
- CXXFLAGS="${BUILD_CXXFLAGS}" \
- AR="${BUILD_AR}" \
- CC="${BUILD_CC}" \
- CXX="${BUILD_CXX}" \
- RANLIB="${BUILD_RANLIB}" \
- "$@"
-}
-src_compile() {
- cd "${BUILDDIR}" || die
- if tc-is-cross-compiler; then
- tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
- cross_make \
- MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
- HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
- MOZ_PGO_OPTIMIZE_FLAGS="" \
- host_jsoplengen host_jskwgen
- cross_make \
- MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
- -C config nsinstall
- mv {,native-}host_jskwgen || die
- mv {,native-}host_jsoplengen || die
- mv config/{,native-}nsinstall || die
- sed -i \
- -e 's@./host_jskwgen@./native-host_jskwgen@' \
- -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
- Makefile || die
- sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
- rm -f config/host_nsinstall.o \
- config/host_pathsub.o \
- host_jskwgen.o \
- host_jsoplengen.o || die
- fi
-
- MOZ_MAKE_FLAGS="${MAKEOPTS}" \
- emake \
- MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
- HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
- MOZ_PGO_OPTIMIZE_FLAGS=""
-}
-
-src_test() {
- cd "${BUILDDIR}/js/src/jsapi-tests" || die
- ./jsapi-tests || die
-}
-
-src_install() {
- cd "${BUILDDIR}" || die
- emake DESTDIR="${D}" install
-
- if ! use minimal; then
- if use jit; then
- pax-mark m "${ED}"usr/bin/js${SLOT}
- fi
- else
- rm -f "${ED}"usr/bin/js${SLOT}
- fi
-
- # We can't actually disable building of static libraries
- # They're used by the tests and in a few other places
- find "${D}" -iname '*.a' -o -iname '*.ajs' -delete || die
-}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-08-10 8:31 Joonas Niilola
0 siblings, 0 replies; 24+ messages in thread
From: Joonas Niilola @ 2022-08-10 8:31 UTC (permalink / raw
To: gentoo-commits
commit: 776cb2bcedc5874c447b8082393473f20bab5790
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 10 07:34:50 2022 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Wed Aug 10 08:31:03 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=776cb2bc
dev-lang/spidermonkey: Remove old
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/26802
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 2 -
.../files/spidermonkey-1.8.5-LTO.patch | 58 --------
.../spidermonkey-perl-defined-array-check.patch | 11 --
.../spidermonkey/spidermonkey-1.8.5-r10.ebuild | 152 ---------------------
4 files changed, 223 deletions(-)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 9f8ababee072..294377e9f668 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -5,10 +5,8 @@ DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a
DIST firefox-91.11.0esr.source.tar.xz 384459848 BLAKE2B cff327378a1712d0dfb99e1a67bd63e958987e3147279af5f98ee9318fe91f42823bbc9afb0308638e42de789451b04ea895320a8c674cc221e0d4b0b1d80f38 SHA512 bff3a399c03bd1cdaaec0b6963b1558aa35b6338b6c02042ffd65fec0aedd344d01718692e881332f5f352c32da15ba09a20a09ee072200b47ae840bc0585a96
DIST firefox-91.12.0esr.source.tar.xz 379877004 BLAKE2B c00e5cc219c59d8347a69e5236a4a4f439d9caae6ab7dabc3ed8c8f9a096ded26ec1ffb53b015b86481f1d43ec4f263bb8acbd841ebf36e8a741d73e12a0a914 SHA512 323fb752488b45872b40f0b0ee1d8c1dffa16874dbff2afde19a54286c824ef48177233e029faeafa5946184e71c31c6bc5ba7ec17a571e21af64fc5f7334042
DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
-DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
DIST spidermonkey-60.0-patches-04.tar.xz 4428 BLAKE2B af78049cd9b3ee6a9b689e6253486c4670fd3b506faade7d745dafaa7af329c0bd15cd35e95528a4c96688230f4803130967fb09b97aae2bda0ce0f73acaaf3e SHA512 fb1326a81512146ba98773d4f7e0c4bc1bff0f076897c13f576fcf63b56f6965efeff633eea9160bca9f9bc4546505901084eabc33bc955de0b7ab3d6334387a
DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d5926b710c06b0e9de1ff03b130a57fdac30f2deefbee3fa92250b37e28087572fe5cce73eb112ef4e1fb0c0401d6ecdb22ab9868998 SHA512 94575b11b4f006c6ee0c8d64b315734a173cecb68e9128ca61ba1a28177e3c149b8cf1f3b3c47a7a263fad8da6196fc0101df87392f016686a827e0cd24fdc74
DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
DIST spidermonkey-91-patches-04j.tar.xz 4624 BLAKE2B d9cf47b39a165e8434d4f2f20ae3a9734c1bb81c32ddb75360e5edfa6817d6343be89aff0f8ec381485772cad80b00a069789decbc462129161afc3d4acfcb53 SHA512 bd574fee600cb4c6a262893b7d992d85c4059d512b829cd2f226aff86d8a6a83c2bdab466704e22f64bf6d29f90901037a34f9e90a42251952ba1cdbc0cab968
-DIST spidermonkey-slot0-patches-02.tar.xz 10952 BLAKE2B fb7bf5cdac6c821a48d407ff172fe0ec7297e047d3b3bab952f226f413b83ea70325175b41c1680725ff588111b424efc97a0c66e392989da510c43d38528ff1 SHA512 cd62890c4b58658d99fc1b52f05ccb35c07da835b168bb9d5e6b219de5021122c199cc2255c5b0be01ef582f53dd51c9975921e6bde9f14e9b43536e2bee85f2
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch
deleted file mode 100644
index 7c36b5525b04..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 6ff7ad09daf98e5b804cf73c066c382a76e74e8c Mon Sep 17 00:00:00 2001
-From: Alexander Miller <alex.miller@gmx.de>
-Date: Wed, 12 Jun 2019 00:29:23 -0500
-Subject: [PATCH] Fix breakage with lto builds
-
-<artificial>:(.text+0x7a): undefined reference to `PopActiveVMFrame'
-collect2: error: ld returned 1 exit status
-
-Signed-off-by: Alexander Miller <alex.miller@gmx.de>
----
- js/src/methodjit/InvokeHelpers.cpp | 2 +-
- js/src/methodjit/MethodJIT.cpp | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/js/src/methodjit/InvokeHelpers.cpp b/js/src/methodjit/InvokeHelpers.cpp
-index d017c2a..abde396 100644
---- a/js/src/methodjit/InvokeHelpers.cpp
-+++ b/js/src/methodjit/InvokeHelpers.cpp
-@@ -500,7 +500,7 @@ stubs::PutActivationObjects(VMFrame &f)
- js::PutActivationObjects(f.cx, f.fp());
- }
-
--extern "C" void *
-+extern "C" void * __attribute__((used))
- js_InternalThrow(VMFrame &f)
- {
- JSContext *cx = f.cx;
-diff --git a/js/src/methodjit/MethodJIT.cpp b/js/src/methodjit/MethodJIT.cpp
-index 4feefbc..66099e6 100644
---- a/js/src/methodjit/MethodJIT.cpp
-+++ b/js/src/methodjit/MethodJIT.cpp
-@@ -120,20 +120,20 @@ static uint32 StubCallsForOp[STUB_CALLS_FOR_OP_COUNT];
-
- extern "C" void JaegerTrampolineReturn();
-
--extern "C" void JS_FASTCALL
-+extern "C" void JS_FASTCALL __attribute__((used))
- PushActiveVMFrame(VMFrame &f)
- {
- f.entryfp->script()->compartment->jaegerCompartment->pushActiveFrame(&f);
- f.regs.fp->setNativeReturnAddress(JS_FUNC_TO_DATA_PTR(void*, JaegerTrampolineReturn));
- }
-
--extern "C" void JS_FASTCALL
-+extern "C" void JS_FASTCALL __attribute__((used))
- PopActiveVMFrame(VMFrame &f)
- {
- f.entryfp->script()->compartment->jaegerCompartment->popActiveFrame();
- }
-
--extern "C" void JS_FASTCALL
-+extern "C" void JS_FASTCALL __attribute__((used))
- SetVMFrameRegs(VMFrame &f)
- {
- f.cx->setCurrentRegs(&f.regs);
---
-2.22.0
-
diff --git a/dev-lang/spidermonkey/files/spidermonkey-perl-defined-array-check.patch b/dev-lang/spidermonkey/files/spidermonkey-perl-defined-array-check.patch
deleted file mode 100644
index c3996ae82bb3..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-perl-defined-array-check.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/js/src/config/milestone.pl 2013-02-11 17:33:22.000000000 -0500
-+++ b/js/src/config/milestone.pl 2015-07-15 10:44:31.676153600 -0400
-@@ -55,7 +55,7 @@
- #
- my $milestone = Moz::Milestone::getOfficialMilestone($MILESTONE_FILE);
-
--if (defined(@TEMPLATE_FILE)) {
-+if (@TEMPLATE_FILE) {
- my $TFILE;
-
- foreach $TFILE (@TEMPLATE_FILE) {
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r10.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r10.ebuild
deleted file mode 100644
index 99ebd7b97664..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-1.8.5-r10.ebuild
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WANT_AUTOCONF="2.1"
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads(+)"
-inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils
-
-MY_PN="js"
-TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))"
-MY_P="${MY_PN}-${PV}"
-TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz
- https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-02.tar.xz
- "
-
-LICENSE="NPL-1.1"
-SLOT="0/mozjs185"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 x86 ~x64-macos"
-IUSE="debug minimal static-libs test"
-RESTRICT="!test? ( test )"
-
-S="${WORKDIR}/${MY_P}"
-BUILDDIR="${S}/js/src"
-
-RDEPEND=">=dev-libs/nspr-4.7.0
- sys-libs/readline:0=
- x64-macos? ( dev-libs/jemalloc )"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- app-arch/zip
- virtual/pkgconfig"
-
-PATCHES=(
- "${WORKDIR}"/sm0/${P}-fix-install-symlinks.patch
- "${WORKDIR}"/sm0/${P}-fix-ppc64.patch
- "${WORKDIR}"/sm0/${P}-arm_respect_cflags-3.patch
- "${WORKDIR}"/sm0/${PN}-1.8.7-freebsd-pthreads.patch
- "${WORKDIR}"/sm0/${P}-perf_event-check.patch
- "${WORKDIR}"/sm0/${P}-symbol-versions.patch
- "${WORKDIR}"/sm0/${P}-ia64-fix.patch
- "${WORKDIR}"/sm0/${P}-ia64-static-strings.patch
- "${WORKDIR}"/sm0/${P}-isfinite.patch
- "${FILESDIR}"/${PN}-perl-defined-array-check.patch
- "${WORKDIR}"/sm0/${PN}-1.8.7-x32.patch
- "${WORKDIR}"/sm0/${P}-gcc6.patch
- "${WORKDIR}"/sm0/${P}-drop-asm-volatile-toplevel.patch
- "${FILESDIR}"/${P}-LTO.patch
-)
-
-DOCS=( "${S}"/README )
-HTML_DOCS=( "${BUILDDIR}"/README.html )
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != "binary" ]]; then
- export LC_ALL="C"
- fi
-}
-
-src_prepare() {
- pwd
-
- default
-
- cd "${BUILDDIR}" || die
- eautoconf
-
- # remove options that are not correct from js-config
- sed '/lib-filenames/d' -i "${BUILDDIR}"/js-config.in || die "failed to remove invalid option from js-config"
-}
-
-src_configure() {
- cd "${BUILDDIR}" || die
-
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
- LD="$(tc-getLD)" \
- ac_cv_lib_dnet_dnet_ntoa=no \
- ac_cv_lib_dnet_stub_dnet_ntoa=no \
- econf \
- ${myopts} \
- --enable-jemalloc \
- --enable-readline \
- --enable-threadsafe \
- --with-system-nspr \
- --disable-optimize \
- --disable-profile-guided-optimization \
- $(use_enable debug) \
- $(use_enable static-libs static) \
- $(use_enable test tests)
-}
-
-cross_make() {
- emake \
- CFLAGS="${BUILD_CFLAGS}" \
- CXXFLAGS="${BUILD_CXXFLAGS}" \
- AR="${BUILD_AR}" \
- CC="${BUILD_CC}" \
- CXX="${BUILD_CXX}" \
- RANLIB="${BUILD_RANLIB}" \
- "$@"
-}
-src_compile() {
- cd "${BUILDDIR}" || die
- if tc-is-cross-compiler; then
- tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
- cross_make jscpucfg host_jsoplengen host_jskwgen
- cross_make -C config nsinstall
- mv {,native-}jscpucfg || die
- mv {,native-}host_jskwgen || die
- mv {,native-}host_jsoplengen || die
- mv config/{,native-}nsinstall || die
- sed -i \
- -e 's@./jscpucfg@./native-jscpucfg@' \
- -e 's@./host_jskwgen@./native-host_jskwgen@' \
- -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
- Makefile || die
- sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
- rm -f config/host_nsinstall.o \
- config/host_pathsub.o \
- host_jskwgen.o \
- host_jsoplengen.o || die
- fi
- emake
-}
-
-src_test() {
- cd "${BUILDDIR}/jsapi-tests" || die
- # for bug 415791
- pax-mark mr jsapi-tests
- emake check
-}
-
-src_install() {
- cd "${BUILDDIR}" || die
- emake DESTDIR="${D}" install
- # bug 437520 , exclude js shell for small systems
- if ! use minimal ; then
- dobin shell/js
- pax-mark m "${ED}/usr/bin/js"
- fi
- einstalldocs
-
- if ! use static-libs; then
- # We can't actually disable building of static libraries
- # They're used by the tests and in a few other places
- find "${D}" -iname '*.a' -delete || die
- fi
-}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-05-16 13:58 Joonas Niilola
0 siblings, 0 replies; 24+ messages in thread
From: Joonas Niilola @ 2022-05-16 13:58 UTC (permalink / raw
To: gentoo-commits
commit: 298070837cbc32286e8e4f3c933fe9f3d0bfb442
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Mon May 16 13:58:05 2022 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Mon May 16 13:58:33 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29807083
dev-lang/spidermonkey: add 91.9.0
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 1 +
.../files/spidermonkey-91-known-test-failures.txt | 3 +
dev-lang/spidermonkey/spidermonkey-91.9.0.ebuild | 452 +++++++++++++++++++++
3 files changed, 456 insertions(+)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 370dc3f59737..c7fc12af3329 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -3,6 +3,7 @@ DIST firefox-68.12.0esr.source.tar.xz 313856956 BLAKE2B eeaa4acc9fabf15ec1b31317
DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a
DIST firefox-91.8.0esr.source.tar.xz 380325092 BLAKE2B 9bc470d0e8c65517d67f4075be2aece6e82af7dc89c40018359d3dd53d45d67424db8ed4614dd3dde430e08ec6ffff29f4ecc81e1990e05abd05804c6a2b5891 SHA512 edea2c7d4d3d0322091b20b623019ef041090d9f89f33c8e3140f66a54624261f278257393db70d2038154de8ee02da0bee6ecf85c281f3558338da71fc173c3
+DIST firefox-91.9.0esr.source.tar.xz 384516460 BLAKE2B 5b265ff907ff520edadb1211ceb9201419349555bc4ab9acbf1d50ce9f0a9bbd26b830f58aec899d882c25f8036bf4ea1df39c7ad144d0305c69826816eec48a SHA512 fd69d489429052013d2c1b8b766a47920ecee62f0688505758f593b27ae66d6343b9107163749406251aedebdf836147e4d562415a811b04d7ab2ae31e32f133
DIST firefox-91esr-patches-05j.tar.xz 17116 BLAKE2B 5db6d2d3d5432369d2cfcda1a2b542d70ac18c1af7013d91984054c9658d7e3f989527c3a248de53f2e8dc51a852a46477f9ad75e98db28f50f8609fcafe547c SHA512 42080a8e28014d5f8de7ff45e0128ab71747faad7a92f0f7094686125835c168751794bd0229f77290f075502c271af0171ffae2863325d10cc6e8a853a90d3e
DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
diff --git a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
index 17e2631e25d2..02bf6c93fc9a 100644
--- a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
+++ b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
@@ -8,12 +8,15 @@ non262/Intl/Date/toLocaleDateString_timeZone.js
non262/Intl/Date/toLocaleString_timeZone.js
non262/Intl/Date/toLocaleTimeString_timeZone.js
non262/Intl/DateTimeFormat/day-period-hour-cycle.js
+non262/Intl/DateTimeFormat/extended-time-zone-names.js
non262/Intl/DateTimeFormat/format.js
non262/Intl/DateTimeFormat/format_timeZone.js
non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
+non262/Intl/DateTimeFormat/implied-script-has-consistent-output.js
non262/Intl/DateTimeFormat/japanese-gannen-year.js
non262/Intl/DateTimeFormat/related-year.js
non262/Intl/DateTimeFormat/timeZone_backward_links.js
+non262/Intl/DateTimeFormat/timeZone_version.js
non262/Intl/DateTimeFormat/tz-environment-variable.js
non262/Intl/DisplayNames/language.js
non262/Intl/DisplayNames/region.js
diff --git a/dev-lang/spidermonkey/spidermonkey-91.9.0.ebuild b/dev-lang/spidermonkey/spidermonkey-91.9.0.ebuild
new file mode 100644
index 000000000000..34796b03a61b
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-91.9.0.ebuild
@@ -0,0 +1,452 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+# Patch version
+FIREFOX_PATCHSET="firefox-91esr-patches-05j.tar.xz"
+SPIDERMONKEY_PATCHSET="spidermonkey-91-patches-04j.tar.xz"
+
+LLVM_MAX_SLOT=14
+
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="ssl,xml(+)"
+
+WANT_AUTOCONF="2.1"
+
+inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
+
+MY_PN="mozjs"
+MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
+
+MY_MAJOR=$(ver_cut 1)
+
+MOZ_ESR=yes
+
+MOZ_PV=${PV}
+MOZ_PV_SUFFIX=
+if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
+ MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
+
+ # Convert the ebuild version to the upstream Mozilla version
+ MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
+ MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
+ MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
+fi
+
+if [[ -n ${MOZ_ESR} ]] ; then
+ # ESR releases have slightly different version numbers
+ MOZ_PV="${MOZ_PV}esr"
+fi
+
+MOZ_PN="firefox"
+MOZ_P="${MOZ_PN}-${MOZ_PV}"
+MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
+MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
+
+MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
+
+if [[ ${PV} == *_rc* ]] ; then
+ MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
+fi
+
+PATCH_URIS=(
+ https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
+ https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
+)
+
+SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
+ ${PATCH_URIS[@]}"
+
+DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
+HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
+
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86"
+
+SLOT="91"
+LICENSE="MPL-2.0"
+IUSE="clang cpu_flags_arm_neon debug +jit lto test"
+
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="${PYTHON_DEPS}
+ >=virtual/rust-1.51.0
+ virtual/pkgconfig
+ test? (
+ $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
+ )
+ || (
+ (
+ sys-devel/llvm:14
+ clang? (
+ sys-devel/clang:14
+ lto? ( =sys-devel/lld-14* )
+ )
+ )
+ (
+ sys-devel/llvm:13
+ clang? (
+ sys-devel/clang:13
+ lto? ( =sys-devel/lld-13* )
+ )
+ )
+ (
+ sys-devel/llvm:12
+ clang? (
+ sys-devel/clang:12
+ lto? ( =sys-devel/lld-12* )
+ )
+ )
+ )"
+DEPEND=">=dev-libs/icu-69.1:=
+ dev-libs/nspr
+ sys-libs/readline:0=
+ sys-libs/zlib"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/firefox-${MY_PV}/js/src"
+
+llvm_check_deps() {
+ if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
+ einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use clang ; then
+ if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
+ einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+
+ if use lto ; then
+ if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
+ einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
+ return 1
+ fi
+ fi
+ fi
+
+ einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
+}
+
+python_check_deps() {
+ if use test ; then
+ has_version "dev-python/six[${PYTHON_USEDEP}]"
+ fi
+}
+
+pkg_pretend() {
+ if use test ; then
+ CHECKREQS_DISK_BUILD="7600M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] ; then
+ if use test ; then
+ CHECKREQS_DISK_BUILD="7600M"
+ else
+ CHECKREQS_DISK_BUILD="6400M"
+ fi
+
+ check-reqs_pkg_setup
+
+ llvm_pkg_setup
+
+ if use clang && use lto ; then
+ local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
+ [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
+ [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
+
+ local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
+ [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
+ [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
+
+ if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
+ eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
+ eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
+ eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
+ eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
+ eerror " - Build ${CATEGORY}/${PN} without USE=lto"
+ eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
+ eerror " llvm/clang/lld/rust chain depending on your @world updates)"
+ die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
+ fi
+ fi
+
+ python-any-r1_pkg_setup
+
+ # Build system is using /proc/self/oom_score_adj, bug #604394
+ addpredict /proc/self/oom_score_adj
+
+ if ! mountpoint -q /dev/shm ; then
+ # If /dev/shm is not available, configure is known to fail with
+ # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
+ ewarn "/dev/shm is not mounted -- expect build failures!"
+ fi
+
+ # Ensure we use C locale when building, bug #746215
+ export LC_ALL=C
+ fi
+}
+
+src_prepare() {
+ pushd ../.. &>/dev/null || die
+
+ use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
+
+ eapply "${WORKDIR}"/firefox-patches
+ eapply "${WORKDIR}"/spidermonkey-patches
+
+ default
+
+ # Make cargo respect MAKEOPTS
+ export CARGO_BUILD_JOBS="$(makeopts_jobs)"
+
+ # sed-in toolchain prefix
+ sed -i \
+ -e "s/objdump/${CHOST}-objdump/" \
+ python/mozbuild/mozbuild/configure/check_debug_ranges.py \
+ || die "sed failed to set toolchain prefix"
+
+ # use prefix shell in wrapper linker scripts, bug #789660
+ hprefixify "${S}"/../../build/cargo-{,host-}linker
+
+ einfo "Removing pre-built binaries ..."
+ find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
+
+ MOZJS_BUILDDIR="${WORKDIR}/build"
+ mkdir "${MOZJS_BUILDDIR}" || die
+
+ popd &>/dev/null || die
+ eautoconf
+}
+
+src_configure() {
+ # Show flags set at the beginning
+ einfo "Current CFLAGS: ${CFLAGS}"
+ einfo "Current CXXFLAGS: ${CXXFLAGS}"
+ einfo "Current LDFLAGS: ${LDFLAGS}"
+ einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
+
+ local have_switched_compiler=
+ if use clang && ! tc-is-clang ; then
+ # Force clang
+ einfo "Enforcing the use of clang due to USE=clang ..."
+ have_switched_compiler=yes
+ AR=llvm-ar
+ CC=${CHOST}-clang
+ CXX=${CHOST}-clang++
+ NM=llvm-nm
+ RANLIB=llvm-ranlib
+ elif ! use clang && ! tc-is-gcc ; then
+ # Force gcc
+ have_switched_compiler=yes
+ einfo "Enforcing the use of gcc due to USE=-clang ..."
+ AR=gcc-ar
+ CC=${CHOST}-gcc
+ CXX=${CHOST}-g++
+ NM=gcc-nm
+ RANLIB=gcc-ranlib
+ fi
+
+ if [[ -n "${have_switched_compiler}" ]] ; then
+ # Because we switched active compiler we have to ensure
+ # that no unsupported flags are set
+ strip-unsupported-flags
+ fi
+
+ # Ensure we use correct toolchain
+ export HOST_CC="$(tc-getBUILD_CC)"
+ export HOST_CXX="$(tc-getBUILD_CXX)"
+ tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
+
+ cd "${MOZJS_BUILDDIR}" || die
+
+ # ../python/mach/mach/mixin/process.py fails to detect SHELL
+ export SHELL="${EPREFIX}/bin/bash"
+
+ local -a myeconfargs=(
+ --host="${CBUILD:-${CHOST}}"
+ --target="${CHOST}"
+ --disable-ctype
+ --disable-jemalloc
+ --disable-optimize
+ --disable-smoosh
+ --disable-strip
+ --enable-readline
+ --enable-release
+ --enable-shared-js
+ --with-intl-api
+ --with-system-icu
+ --with-system-nspr
+ --with-system-zlib
+ --with-toolchain-prefix="${CHOST}-"
+ $(use_enable debug)
+ $(use_enable jit)
+ $(use_enable test tests)
+ )
+
+ if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
+ myeconfargs+=( --enable-rust-simd )
+ fi
+
+ # Modifications to better support ARM, bug 717344
+ if use cpu_flags_arm_neon ; then
+ myeconfargs+=( --with-fpu=neon )
+
+ if ! tc-is-clang ; then
+ # thumb options aren't supported when using clang, bug 666966
+ myeconfargs+=( --with-thumb=yes )
+ myeconfargs+=( --with-thumb-interwork=no )
+ fi
+ fi
+
+ # Tell build system that we want to use LTO
+ if use lto ; then
+ if use clang ; then
+ myeconfargs+=( --enable-linker=lld )
+ myeconfargs+=( --enable-lto=cross )
+ else
+ myeconfargs+=( --enable-linker=bfd )
+ myeconfargs+=( --enable-lto )
+ fi
+ fi
+
+ # LTO flag was handled via configure
+ filter-flags '-flto*'
+
+ if tc-is-gcc ; then
+ if ver_test $(gcc-fullversion) -ge 10 ; then
+ einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
+ append-cxxflags -fno-tree-loop-vectorize
+ fi
+ fi
+
+ export MACH_USE_SYSTEM_PYTHON=1
+ export PIP_NO_CACHE_DIR=off
+
+ # Show flags we will use
+ einfo "Build CFLAGS: ${CFLAGS}"
+ einfo "Build CXXFLAGS: ${CXXFLAGS}"
+ einfo "Build LDFLAGS: ${LDFLAGS}"
+ einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
+
+ # Forcing system-icu allows us to skip patching bundled ICU for PPC
+ # and other minor arches
+ ECONF_SOURCE="${S}" \
+ econf \
+ ${myeconfargs[@]} \
+ XARGS="${EPREFIX}/usr/bin/xargs"
+}
+
+src_compile() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+}
+
+src_test() {
+ if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
+ einfo "Smoke-test successful, continuing with full test suite"
+ else
+ die "Smoke-test failed: did interpreter initialization fail?"
+ fi
+
+ cp "${FILESDIR}"/spidermonkey-91-known-test-failures.txt "${T}"/known_failures.list || die
+
+ # bgo #827960
+ if use ppc; then
+ echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/load/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/load/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/add/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/add/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/exchange/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/store/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/store/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/xor/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/sub/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/and/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/or/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/negative-timeout-agent.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/value-not-equal.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/nan-for-timeout.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/compareExchange/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/and/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/or/bigint/good-views.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Atomics/notify/bigint/notify-all-on-loc.js" >> "${T}"/known_failures.list
+ fi
+
+ if use x86 ; then
+ echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Number/prototype/toPrecision/return-values.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
+ fi
+
+ if [[ $(tc-endian) == "big" ]] ; then
+ echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
+ fi
+
+ ${EPYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js \
+ || die
+
+ if use jit ; then
+ ${EPYTHON} \
+ "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
+ --exclude-file="${T}"/known_failures.list \
+ "${MOZJS_BUILDDIR}"/js/src/js basic \
+ || die
+ fi
+}
+
+src_install() {
+ cd "${MOZJS_BUILDDIR}" || die
+ default
+
+ # fix soname links
+ pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
+ mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
+ ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
+ popd &>/dev/null || die
+
+ # remove unneeded files
+ rm \
+ "${ED}"/usr/bin/js${MY_MAJOR}-config \
+ "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
+ || die
+
+ # fix permissions
+ chmod -x \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
+ "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
+ || die
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-03-12 18:03 Matt Turner
0 siblings, 0 replies; 24+ messages in thread
From: Matt Turner @ 2022-03-12 18:03 UTC (permalink / raw
To: gentoo-commits
commit: 4498cc3da609bfc5accc174dff87bcd04cedf2e3
Author: Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 12 17:59:53 2022 +0000
Commit: Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sat Mar 12 18:03:50 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4498cc3d
dev-lang/spidermonkey: Drop :52
The last reverse dependency was gnome-extra/cjs-4.6.0, dropped in
308478c39b1 ("gnome-extra/cjs: drop old") in June 2021.
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>
dev-lang/spidermonkey/Manifest | 2 -
.../files/moz38-dont-hardcode-libc-soname.patch | 15 --
.../spidermonkey-52.0-fix-alpha-bitness.patch | 32 -----
.../files/spidermonkey-52.0-gcc9-overflow.patch | 24 ----
.../spidermonkey-52.9.1_pre1-r4.ebuild | 158 ---------------------
5 files changed, 231 deletions(-)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index d173cfdbc1ff..623697e0e8f4 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -5,9 +5,7 @@ DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a
DIST firefox-91.7.0esr.source.tar.xz 383133596 BLAKE2B 374da61d89d4b7b24d01e8101926056d6819e7c34c80630694cd2d95193dd6662ccfe3195361e7cd5a4167098e74bb7018d02d5af715fdcf95228bf8f54cb1c2 SHA512 925811989d8a91d826ba356bd46ac54be8153288ec0319c28d2bfbe89191e62e107691159dd7ca247253e2a4952eb59a5b9613e3feea3f5351238d4822e26301
DIST firefox-91esr-patches-05j.tar.xz 17116 BLAKE2B 5db6d2d3d5432369d2cfcda1a2b542d70ac18c1af7013d91984054c9658d7e3f989527c3a248de53f2e8dc51a852a46477f9ad75e98db28f50f8609fcafe547c SHA512 42080a8e28014d5f8de7ff45e0128ab71747faad7a92f0f7094686125835c168751794bd0229f77290f075502c271af0171ffae2863325d10cc6e8a853a90d3e
DIST js185-1.0.0.tar.gz 6164605 BLAKE2B 76a37f0ceae05d3475853875bd0ce4be6e525e4114816f8f281ea6fc6b60a71060975a0fa1cb843f57ad1e2f842dfb26b24244fa0fd6c20f6ae2ebbe430f70be SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718
-DIST mozjs-52.9.1pre1.tar.bz2 30178574 BLAKE2B 0920432b5140e78297a9bcbccb54268d75a223d5e75e4ff90b3b01aab4f7736b4a4e05c47b3a925ff0a74607a0abad3b6583c75d070ef5142009b20ebaf6e4bf SHA512 187b231b246a5ae09e55c0fef77866b316d75f38f4c2e066d5d4325d8da63433027020c929439cab46af3253ac63ab2f780223a8fd2c6ff535b3409bb6c4aa0f
DIST mozjs-60.5.2.tar.bz2 32816585 BLAKE2B 45ac4c9646e1275faf60eeedbf486f802cd106583eb7f640fe2243adc7cbb811dced5cefa94426cceca63468b0112be84078ffcef24cb2b8c1a7b6c8173c0d45 SHA512 5fb73330e7803bdd524fbe7cfdf4e6b72e85d4b22b0c827400317b5d052d1088d36e558ceac376393089e9d03e658b24e69262851fc04a66bbcda47135423dc0
-DIST spidermonkey-52.0-patches-1.tar.xz 3112 BLAKE2B d8f4c44cb2ae290fa51efc4725a2c1b3cd85dd9f04f4ccfa5681ba6df5f37f5d8d4ad6859316a70d0f7647ac2cee014d126f88b7d4ca74a82796f35b141200ef SHA512 5328403e3b9ecd1c456037e7cca374c2453d9331752c48b9466e498e22fd8d4ca6e1804e51140ee0be027fcef7d0c3f26822b1f569305a3b2f03209b7fb15499
DIST spidermonkey-60.0-patches-04.tar.xz 4428 BLAKE2B af78049cd9b3ee6a9b689e6253486c4670fd3b506faade7d745dafaa7af329c0bd15cd35e95528a4c96688230f4803130967fb09b97aae2bda0ce0f73acaaf3e SHA512 fb1326a81512146ba98773d4f7e0c4bc1bff0f076897c13f576fcf63b56f6965efeff633eea9160bca9f9bc4546505901084eabc33bc955de0b7ab3d6334387a
DIST spidermonkey-68.6.0-patches-04.tar.xz 5956 BLAKE2B b1250391a5173e676272d5926b710c06b0e9de1ff03b130a57fdac30f2deefbee3fa92250b37e28087572fe5cce73eb112ef4e1fb0c0401d6ecdb22ab9868998 SHA512 94575b11b4f006c6ee0c8d64b315734a173cecb68e9128ca61ba1a28177e3c149b8cf1f3b3c47a7a263fad8da6196fc0101df87392f016686a827e0cd24fdc74
DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
diff --git a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
deleted file mode 100644
index 708c7496975f..000000000000
--- a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:21:16.764318254 -0500
-+++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:22:23.392069398 -0500
-@@ -93,10 +93,11 @@
-
- if info['os'] == 'linux':
- import ctypes
-+ import ctypes.util
- import errno
- PR_SET_SECCOMP = 22
- SECCOMP_MODE_FILTER = 2
-- ctypes.CDLL("libc.so.6", use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
-+ ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
- info['has_sandbox'] = ctypes.get_errno() == errno.EFAULT
- else:
- info['has_sandbox'] = True
diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch
deleted file mode 100644
index b0f872964388..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-52.0-fix-alpha-bitness.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-
-# HG changeset patch
-# User John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
-# Date 1482966103 -3600
-# Node ID 1f4d99d8dff27bcc25eff21dc6a16dae63f48595
-# Parent ce9e9f0dc752896ac7ba00bb0610b3f731e948b0
-Bug 1326496 - mozbuild: Fix bitness from 32 to 64 bits on alpha. r=glandium
-
-
-diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
---- a/python/mozbuild/mozbuild/configure/constants.py
-+++ b/python/mozbuild/mozbuild/configure/constants.py
-@@ -35,17 +35,17 @@ Kernel = EnumString.subclass(
- 'Linux',
- 'NetBSD',
- 'OpenBSD',
- 'WINNT',
- )
-
- CPU_bitness = {
- 'aarch64': 64,
-- 'Alpha': 32,
-+ 'Alpha': 64,
- 'arm': 32,
- 'hppa': 32,
- 'ia64': 64,
- 'mips32': 32,
- 'mips64': 64,
- 'ppc': 32,
- 'ppc64': 64,
- 's390': 32,
-
diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
deleted file mode 100644
index c7eb0f62b280..000000000000
--- a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 311fc467219ab6ee9eed60759b58a8066c4bf36d Mon Sep 17 00:00:00 2001
-From:
-Date: Thu, 25 Jul 2019 10:00:33 -0500
-Subject: [PATCH] gcc-9 overflow fix
-
----
- js/src/jsapi-tests/testPrintf.cpp | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/js/src/jsapi-tests/testPrintf.cpp b/js/src/jsapi-tests/testPrintf.cpp
-index 51486856..03cc118d 100644
---- a/js/src/jsapi-tests/testPrintf.cpp
-+++ b/js/src/jsapi-tests/testPrintf.cpp
-@@ -55,7 +55,6 @@ BEGIN_TEST(testPrintf)
- CHECK(print_one("27270", "%zu", (size_t) 27270));
- CHECK(print_one("27270", "%" PRIuSIZE, (size_t) 27270));
- CHECK(print_one("hello", "he%so", "ll"));
-- CHECK(print_one("(null)", "%s", zero()));
- CHECK(print_one("0", "%p", (char *) 0));
- CHECK(print_one("h", "%c", 'h'));
- CHECK(print_one("1.500000", "%f", 1.5f));
---
-2.22.0
-
diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild
deleted file mode 100644
index 0c0d352f3bd5..000000000000
--- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1-r4.ebuild
+++ /dev/null
@@ -1,158 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-WANT_AUTOCONF="2.1"
-inherit autotools toolchain-funcs pax-utils mozcoreconf-v5
-
-MY_PN="mozjs"
-MY_P="${MY_PN}-${PV/_rc/.rc}"
-MY_P="${MY_P/_pre/pre}"
-DESCRIPTION="Stand-alone JavaScript C++ library"
-HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
-#SRC_URI="https://people.mozilla.org/~sfink/${MY_P}.tar.bz2"
-SRC_URI="http://ftp.mozilla.org/pub/spidermonkey/prereleases/52/pre1/mozjs-52.9.1pre1.tar.bz2 -> ${MY_P}.tar.bz2
- https://dev.gentoo.org/~whissi/dist/mozilla/${PN}-52.0-patches-1.tar.xz"
-
-LICENSE="NPL-1.1"
-SLOT="52"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 x86"
-IUSE="debug minimal +system-icu test"
-
-# Disable tests:
-# Version is dead and most issues are related to the use of
-# system's ICU.
-RESTRICT="test"
-
-S="${WORKDIR}/${MY_P%.rc*}"
-BUILDDIR="${S}/jsobj"
-
-RDEPEND=">=dev-libs/nspr-4.13.1
- dev-libs/libffi:=
- sys-libs/readline:0=
- >=sys-libs/zlib-1.2.3
- system-icu? ( >=dev-libs/icu-58.1:= )"
-DEPEND="${RDEPEND}"
-
-pkg_setup() {
- [[ ${MERGE_TYPE} == "binary" ]] || \
- moz_pkgsetup
-
- export SHELL="${EPREFIX}/bin/bash"
-}
-
-src_prepare() {
- # remove patches integrated by upstream
- rm -f "${WORKDIR}"/${PN}/0002-build-Add-major-version-to-make-parallel-installable.patch \
- "${WORKDIR}"/${PN}/0005-headers-Fix-symbols-visibility.patch \
- "${WORKDIR}"/${PN}/0007-build-Remove-unnecessary-NSPR-dependency.patch \
- "${WORKDIR}"/${PN}/0008-tests-Skip-on-all-64-bit-archs.patch \
- || die
-
- eapply "${WORKDIR}/${PN}"
- eapply "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
- eapply "${FILESDIR}"/${PN}-52.0-fix-alpha-bitness.patch
- eapply "${FILESDIR}"/${PN}-52.0-gcc9-overflow.patch
-
- eapply_user
-
- cd "${S}"/js/src || die
- eautoconf old-configure.in
- eautoconf
-
- # remove options that are not correct from js-config
- sed '/lib-filenames/d' -i "${S}"/js/src/js-config.in || die "failed to remove invalid option from js-config"
-
- # there is a default config.cache that messes everything up
- rm -f "${S}"/js/src/config.cache || die
-
- mkdir -p "${BUILDDIR}" || die
-}
-
-src_configure() {
- cd "${BUILDDIR}" || die
-
- tc-export AR RANLIB
-
- ECONF_SOURCE="${S}/js/src" \
- econf \
- --enable-jemalloc \
- --enable-readline \
- --with-system-nspr \
- --disable-optimize \
- --with-intl-api \
- --with-toolchain-prefix="${CHOST}-" \
- --disable-gold \
- $(use_with system-icu) \
- $(use_enable debug) \
- $(use_enable test tests) \
- XARGS="/usr/bin/xargs" \
- SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
- CC="${CC}" CXX="${CXX}" LD="${LD}" AR="${AR}" RANLIB="${RANLIB}"
-}
-
-cross_make() {
- emake \
- CFLAGS="${BUILD_CFLAGS}" \
- CXXFLAGS="${BUILD_CXXFLAGS}" \
- AR="${BUILD_AR}" \
- CC="${BUILD_CC}" \
- CXX="${BUILD_CXX}" \
- RANLIB="${BUILD_RANLIB}" \
- SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
- "$@"
-}
-src_compile() {
- cd "${BUILDDIR}" || die
- if tc-is-cross-compiler; then
- tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
- cross_make \
- MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
- HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
- MOZ_PGO_OPTIMIZE_FLAGS="" \
- host_jsoplengen host_jskwgen
- cross_make \
- MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
- -C config nsinstall
- mv {,native-}host_jskwgen || die
- mv {,native-}host_jsoplengen || die
- mv config/{,native-}nsinstall || die
- sed -i \
- -e 's@./host_jskwgen@./native-host_jskwgen@' \
- -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
- Makefile || die
- sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
- rm -f config/host_nsinstall.o \
- config/host_pathsub.o \
- host_jskwgen.o \
- host_jsoplengen.o || die
- fi
-
- MOZ_MAKE_FLAGS="${MAKEOPTS}" \
- SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
- emake \
- MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
- HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
- MOZ_PGO_OPTIMIZE_FLAGS=""
-}
-
-src_test() {
- cd "${BUILDDIR}/js/src/jsapi-tests" || die
- ./jsapi-tests || die
-}
-
-src_install() {
- cd "${BUILDDIR}" || die
- SHELL="${SHELL:-${EPREFIX}/bin/bash}" \
- emake DESTDIR="${D}" install
-
- if ! use minimal; then
- pax-mark m "${ED}"usr/bin/js${SLOT}
- else
- rm -f "${ED}"usr/bin/js${SLOT}
- fi
-
- # We can't actually disable building of static libraries
- # They're used by the tests and in a few other places
- find "${D}" -iname '*.a' -o -iname '*.ajs' -delete || die
-}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2022-01-18 11:03 Joonas Niilola
0 siblings, 0 replies; 24+ messages in thread
From: Joonas Niilola @ 2022-01-18 11:03 UTC (permalink / raw
To: gentoo-commits
commit: e895b1f82fc2d342fe51819199b21d5bd0e24657
Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 18 11:01:34 2022 +0000
Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Jan 18 11:03:11 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e895b1f8
dev-lang/spidermonkey: enable tests for 91.5.0
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
.../files/spidermonkey-91-known-test-failures.txt | 121 +++++++++++++++++++++
dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild | 59 +++-------
2 files changed, 136 insertions(+), 44 deletions(-)
diff --git a/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
new file mode 100644
index 000000000000..17e2631e25d2
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-91-known-test-failures.txt
@@ -0,0 +1,121 @@
+non262/Date/reset-time-zone-cache-same-offset.js
+non262/Date/time-zone-path.js
+non262/Date/time-zones-historic.js
+non262/Date/time-zones-imported.js
+non262/Date/toString-localized-posix.js
+non262/Date/toString-localized.js
+non262/Intl/Date/toLocaleDateString_timeZone.js
+non262/Intl/Date/toLocaleString_timeZone.js
+non262/Intl/Date/toLocaleTimeString_timeZone.js
+non262/Intl/DateTimeFormat/day-period-hour-cycle.js
+non262/Intl/DateTimeFormat/format.js
+non262/Intl/DateTimeFormat/format_timeZone.js
+non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
+non262/Intl/DateTimeFormat/japanese-gannen-year.js
+non262/Intl/DateTimeFormat/related-year.js
+non262/Intl/DateTimeFormat/timeZone_backward_links.js
+non262/Intl/DateTimeFormat/tz-environment-variable.js
+non262/Intl/DisplayNames/language.js
+non262/Intl/DisplayNames/region.js
+non262/Intl/Locale/likely-subtags-generated.js
+non262/Intl/Locale/likely-subtags.js
+non262/Intl/available-locales-resolved.js
+non262/Intl/available-locales-supported.js
+test262/built-ins/Date/UTC/fp-evaluation-order.js
+test262/built-ins/RegExp/property-escapes/generated/Alphabetic.js
+test262/built-ins/RegExp/property-escapes/generated/Assigned.js
+test262/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js
+test262/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js
+test262/built-ins/RegExp/property-escapes/generated/Cased.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js
+test262/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js
+test262/built-ins/RegExp/property-escapes/generated/Dash.js
+test262/built-ins/RegExp/property-escapes/generated/Default_Ignorable_Code_Point.js
+test262/built-ins/RegExp/property-escapes/generated/Diacritic.js
+test262/built-ins/RegExp/property-escapes/generated/Emoji.js
+test262/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js
+test262/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js
+test262/built-ins/RegExp/property-escapes/generated/Extender.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Close_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Currency_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js
+test262/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js
+test262/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js
+test262/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js
+test262/built-ins/RegExp/property-escapes/generated/ID_Continue.js
+test262/built-ins/RegExp/property-escapes/generated/ID_Start.js
+test262/built-ins/RegExp/property-escapes/generated/Ideographic.js
+test262/built-ins/RegExp/property-escapes/generated/Lowercase.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Han.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Takri.js
+test262/built-ins/RegExp/property-escapes/generated/Script_-_Telugu.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ahom.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagalog.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Takri.js
+test262/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Telugu.js
+test262/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js
+test262/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js
+test262/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js
+test262/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js
+test262/built-ins/RegExp/property-escapes/generated/Uppercase.js
+test262/built-ins/RegExp/property-escapes/generated/Variation_Selector.js
+test262/built-ins/RegExp/property-escapes/generated/XID_Continue.js
+test262/built-ins/RegExp/property-escapes/generated/XID_Start.js
+test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js
diff --git a/dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild b/dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild
index e0ca7789926b..3869fb05e1b6 100644
--- a/dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-91.5.0.ebuild
@@ -70,8 +70,8 @@ IUSE="clang cpu_flags_arm_neon debug +jit lto test"
# 91.5.0, only lld seems to be supported with lto.
REQUIRED_USE="lto? ( clang )"
-RESTRICT="test"
-# RESTRICT="!test? ( test )"
+#RESTRICT="test"
+RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
virtual/rust
@@ -343,6 +343,9 @@ src_configure() {
fi
fi
+ export MACH_USE_SYSTEM_PYTHON=1
+ export PIP_NO_CACHE_DIR=off
+
# Show flags we will use
einfo "Build CFLAGS: ${CFLAGS}"
einfo "Build CXXFLAGS: ${CXXFLAGS}"
@@ -369,61 +372,29 @@ src_test() {
die "Smoke-test failed: did interpreter initialization fail?"
fi
- local -a KNOWN_TESTFAILURES
- KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js )
- KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js )
- KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js )
- KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js )
- KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js )
- KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js )
+ cp "${FILESDIR}"/spidermonkey-91-known-test-failures.txt "${T}"/known_failures.list || die
if use x86 ; then
- KNOWN_TESTFAILURES+=( non262/Date/timeclip.js )
- KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js )
- KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js )
+ echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Number/prototype/toPrecision/return-values.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
+ echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
fi
if [[ $(tc-endian) == "big" ]] ; then
- KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js )
+ echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
+ echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
fi
- echo "" > "${T}"/known_failures.list || die
-
- local KNOWN_TESTFAILURE
- for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
- echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
- done
-
- PYTHONPATH="${S}/tests/lib" \
- ${PYTHON} \
+ ${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js \
|| die
if use jit ; then
- KNOWN_TESTFAILURES=()
-
- echo "" > "${T}"/known_failures.list || die
-
- for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do
- echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list
- done
-
- PYTHONPATH="${S}/tests/lib" \
- ${PYTHON} \
+ ${EPYTHON} \
"${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
--exclude-file="${T}"/known_failures.list \
"${MOZJS_BUILDDIR}"/js/src/js basic \
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2019-07-25 15:37 Jory Pratt
0 siblings, 0 replies; 24+ messages in thread
From: Jory Pratt @ 2019-07-25 15:37 UTC (permalink / raw
To: gentoo-commits
commit: 052b5e1831a36b339014e9c997122d2ee9548b83
Author: Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 25 15:33:11 2019 +0000
Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Thu Jul 25 15:37:12 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=052b5e18
dev-lang/spidermonkey: add ia64 support to :60
Closes: https://bugs.gentoo.org/690342
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>
.../files/spidermonkey-60.5.2-ia64-support.patch | 44 ++++++++++++++++++++++
.../spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild | 1 +
2 files changed, 45 insertions(+)
diff --git a/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
new file mode 100644
index 00000000000..90c8a4c9da3
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-60.5.2-ia64-support.patch
@@ -0,0 +1,44 @@
+From 35d787c782a075c0a01e29605d254950fd1e81a6 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Thu, 25 Jul 2019 10:17:39 -0500
+Subject: [PATCH] Add support for ia64 atomic-ops
+
+Signed-off-by: Jory Pratt <anarchy@gentoo.org>
+---
+ js/src/jit/AtomicOperations.h | 2 ++
+ js/src/jit/none/AtomicOperations-feeling-lucky.h | 6 ++++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
+index 3501e65b..44c3f358 100644
+--- a/js/src/jit/AtomicOperations.h
++++ b/js/src/jit/AtomicOperations.h
+@@ -393,6 +393,8 @@ inline bool AtomicOperations::isLockfreeJS(int32_t size) {
+ #include "jit/none/AtomicOperations-feeling-lucky.h"
+ #elif defined(__s390__) || defined(__s390x__)
+ #include "jit/none/AtomicOperations-feeling-lucky.h"
++#elif defined(__ia64__)
++#include "jit/none/AtomicOperations-feeling-lucky.h"
+ #else
+ #error "No AtomicOperations support provided for this platform"
+ #endif
+diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h
+index c0b43699..a3f4497e 100644
+--- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
++++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
+@@ -80,6 +80,12 @@
+ #define GNUC_COMPATIBLE
+ #endif
+
++#ifdef __ia64__
++#define HAS_64BIT_ATOMICS
++#define HAS_64BIT_LOCKFREE
++#define GNUC_COMPATIBLE
++#endif
++
+ // The default implementation tactic for gcc/clang is to use the newer
+ // __atomic intrinsics added for use in C++11 <atomic>. Where that
+ // isn't available, we use GCC's older __sync functions instead.
+--
+2.22.0
+
diff --git a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
index 3bc29e90ad3..4baeb96c3fb 100644
--- a/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-60.5.2_p0-r2.ebuild
@@ -46,6 +46,7 @@ pkg_setup(){
src_prepare() {
eapply "${WORKDIR}/${PN}"
+ eapply "${FILESDIR}/${PN}-60.5.2-ia64-support.patch"
eapply_user
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2019-07-25 15:37 Jory Pratt
0 siblings, 0 replies; 24+ messages in thread
From: Jory Pratt @ 2019-07-25 15:37 UTC (permalink / raw
To: gentoo-commits
commit: e93d86a969ee2957a2805450c008599521689cf6
Author: Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 25 15:36:58 2019 +0000
Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Thu Jul 25 15:37:12 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e93d86a9
dev-lang/spidermonkey: Fix gcc-9 support in :52
Closes: https://bugs.gentoo.org/688448
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>
.../files/spidermonkey-52.0-gcc9-overflow.patch | 24 ++++++++++++++++++++++
.../spidermonkey/spidermonkey-52.9.1_pre1.ebuild | 1 +
2 files changed, 25 insertions(+)
diff --git a/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch b/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
new file mode 100644
index 00000000000..c7eb0f62b28
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-52.0-gcc9-overflow.patch
@@ -0,0 +1,24 @@
+From 311fc467219ab6ee9eed60759b58a8066c4bf36d Mon Sep 17 00:00:00 2001
+From:
+Date: Thu, 25 Jul 2019 10:00:33 -0500
+Subject: [PATCH] gcc-9 overflow fix
+
+---
+ js/src/jsapi-tests/testPrintf.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/js/src/jsapi-tests/testPrintf.cpp b/js/src/jsapi-tests/testPrintf.cpp
+index 51486856..03cc118d 100644
+--- a/js/src/jsapi-tests/testPrintf.cpp
++++ b/js/src/jsapi-tests/testPrintf.cpp
+@@ -55,7 +55,6 @@ BEGIN_TEST(testPrintf)
+ CHECK(print_one("27270", "%zu", (size_t) 27270));
+ CHECK(print_one("27270", "%" PRIuSIZE, (size_t) 27270));
+ CHECK(print_one("hello", "he%so", "ll"));
+- CHECK(print_one("(null)", "%s", zero()));
+ CHECK(print_one("0", "%p", (char *) 0));
+ CHECK(print_one("h", "%c", 'h'));
+ CHECK(print_one("1.500000", "%f", 1.5f));
+--
+2.22.0
+
diff --git a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
index b00a1c665fe..cfa8e3966b9 100644
--- a/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-52.9.1_pre1.ebuild
@@ -49,6 +49,7 @@ src_prepare() {
eapply "${WORKDIR}/${PN}"
eapply "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
eapply "${FILESDIR}"/${PN}-52.0-fix-alpha-bitness.patch
+ eapply "${FILESDIR}"/${PN}-52.0-gcc9-overflow.patch
eapply_user
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2019-06-18 12:19 Jory Pratt
0 siblings, 0 replies; 24+ messages in thread
From: Jory Pratt @ 2019-06-18 12:19 UTC (permalink / raw
To: gentoo-commits
commit: e4ccde83a06c4e028a420347cb3e617b054b57d9
Author: Jory Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 18 12:19:10 2019 +0000
Commit: Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Tue Jun 18 12:19:10 2019 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4ccde83
dev-lang/spidermonkey: Fix LTO compilations
Thanks-to: Alexander Miller <alex.miller <AT> gmx.de>
Closes: https://bugs.gentoo.org/687812
Package-Manager: Portage-2.3.67, Repoman-2.3.14
Signed-off-by: Jory Pratt <anarchy <AT> gentoo.org>
.../files/spidermonkey-1.8.5-LTO.patch | 58 ++++++++
dev-lang/spidermonkey/spidermonkey-1.8.5-r8.ebuild | 148 +++++++++++++++++++++
2 files changed, 206 insertions(+)
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch
new file mode 100644
index 00000000000..7c36b5525b0
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-LTO.patch
@@ -0,0 +1,58 @@
+From 6ff7ad09daf98e5b804cf73c066c382a76e74e8c Mon Sep 17 00:00:00 2001
+From: Alexander Miller <alex.miller@gmx.de>
+Date: Wed, 12 Jun 2019 00:29:23 -0500
+Subject: [PATCH] Fix breakage with lto builds
+
+<artificial>:(.text+0x7a): undefined reference to `PopActiveVMFrame'
+collect2: error: ld returned 1 exit status
+
+Signed-off-by: Alexander Miller <alex.miller@gmx.de>
+---
+ js/src/methodjit/InvokeHelpers.cpp | 2 +-
+ js/src/methodjit/MethodJIT.cpp | 6 +++---
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/js/src/methodjit/InvokeHelpers.cpp b/js/src/methodjit/InvokeHelpers.cpp
+index d017c2a..abde396 100644
+--- a/js/src/methodjit/InvokeHelpers.cpp
++++ b/js/src/methodjit/InvokeHelpers.cpp
+@@ -500,7 +500,7 @@ stubs::PutActivationObjects(VMFrame &f)
+ js::PutActivationObjects(f.cx, f.fp());
+ }
+
+-extern "C" void *
++extern "C" void * __attribute__((used))
+ js_InternalThrow(VMFrame &f)
+ {
+ JSContext *cx = f.cx;
+diff --git a/js/src/methodjit/MethodJIT.cpp b/js/src/methodjit/MethodJIT.cpp
+index 4feefbc..66099e6 100644
+--- a/js/src/methodjit/MethodJIT.cpp
++++ b/js/src/methodjit/MethodJIT.cpp
+@@ -120,20 +120,20 @@ static uint32 StubCallsForOp[STUB_CALLS_FOR_OP_COUNT];
+
+ extern "C" void JaegerTrampolineReturn();
+
+-extern "C" void JS_FASTCALL
++extern "C" void JS_FASTCALL __attribute__((used))
+ PushActiveVMFrame(VMFrame &f)
+ {
+ f.entryfp->script()->compartment->jaegerCompartment->pushActiveFrame(&f);
+ f.regs.fp->setNativeReturnAddress(JS_FUNC_TO_DATA_PTR(void*, JaegerTrampolineReturn));
+ }
+
+-extern "C" void JS_FASTCALL
++extern "C" void JS_FASTCALL __attribute__((used))
+ PopActiveVMFrame(VMFrame &f)
+ {
+ f.entryfp->script()->compartment->jaegerCompartment->popActiveFrame();
+ }
+
+-extern "C" void JS_FASTCALL
++extern "C" void JS_FASTCALL __attribute__((used))
+ SetVMFrameRegs(VMFrame &f)
+ {
+ f.cx->setCurrentRegs(&f.regs);
+--
+2.22.0
+
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r8.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r8.ebuild
new file mode 100644
index 00000000000..cb71d7631a5
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r8.ebuild
@@ -0,0 +1,148 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+WANT_AUTOCONF="2.1"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils
+
+MY_PN="js"
+TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))"
+MY_P="${MY_PN}-${PV}"
+TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
+SRC_URI="https://archive.mozilla.org/pub/js/${TARBALL_P}.tar.gz
+ https://dev.gentoo.org/~axs/distfiles/${PN}-slot0-patches-02.tar.xz
+ "
+
+LICENSE="NPL-1.1"
+SLOT="0/mozjs185"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
+IUSE="debug minimal static-libs test"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.7.0
+ sys-libs/readline:0=
+ x64-macos? ( dev-libs/jemalloc )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ app-arch/zip
+ virtual/pkgconfig"
+
+PATCHES=(
+ "${WORKDIR}"/sm0/${P}-fix-install-symlinks.patch
+ "${WORKDIR}"/sm0/${P}-fix-ppc64.patch
+ "${WORKDIR}"/sm0/${P}-arm_respect_cflags-3.patch
+ "${WORKDIR}"/sm0/${PN}-1.8.7-freebsd-pthreads.patch
+ "${WORKDIR}"/sm0/${P}-perf_event-check.patch
+ "${WORKDIR}"/sm0/${P}-symbol-versions.patch
+ "${WORKDIR}"/sm0/${P}-ia64-fix.patch
+ "${WORKDIR}"/sm0/${P}-ia64-static-strings.patch
+ "${WORKDIR}"/sm0/${P}-isfinite.patch
+ "${FILESDIR}"/${PN}-perl-defined-array-check.patch
+ "${WORKDIR}"/sm0/${PN}-1.8.7-x32.patch
+ "${WORKDIR}"/sm0/${P}-gcc6.patch
+ "${WORKDIR}"/sm0/${P}-drop-asm-volatile-toplevel.patch
+ "${FILESDIR}"/${P}-LTO.patch
+)
+
+DOCS=( ${S}/README )
+HTML_DOCS=( ${BUILDDIR}/README.html )
+
+pkg_setup(){
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ export LC_ALL="C"
+ fi
+}
+
+src_prepare() {
+ pwd
+
+ default
+
+ cd "${BUILDDIR}" || die
+ eautoconf
+}
+
+src_configure() {
+ cd "${BUILDDIR}" || die
+
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+ LD="$(tc-getLD)" \
+ ac_cv_lib_dnet_dnet_ntoa=no \
+ ac_cv_lib_dnet_stub_dnet_ntoa=no \
+ econf \
+ ${myopts} \
+ --enable-jemalloc \
+ --enable-readline \
+ --enable-threadsafe \
+ --with-system-nspr \
+ --disable-optimize \
+ --disable-profile-guided-optimization \
+ $(use_enable debug) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
+}
+
+cross_make() {
+ emake \
+ CFLAGS="${BUILD_CFLAGS}" \
+ CXXFLAGS="${BUILD_CXXFLAGS}" \
+ AR="${BUILD_AR}" \
+ CC="${BUILD_CC}" \
+ CXX="${BUILD_CXX}" \
+ RANLIB="${BUILD_RANLIB}" \
+ "$@"
+}
+src_compile() {
+ cd "${BUILDDIR}" || die
+ if tc-is-cross-compiler; then
+ tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
+ cross_make jscpucfg host_jsoplengen host_jskwgen
+ cross_make -C config nsinstall
+ mv {,native-}jscpucfg || die
+ mv {,native-}host_jskwgen || die
+ mv {,native-}host_jsoplengen || die
+ mv config/{,native-}nsinstall || die
+ sed -i \
+ -e 's@./jscpucfg@./native-jscpucfg@' \
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+ Makefile || die
+ sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
+ rm -f config/host_nsinstall.o \
+ config/host_pathsub.o \
+ host_jskwgen.o \
+ host_jsoplengen.o || die
+ fi
+ emake
+}
+
+src_test() {
+ cd "${BUILDDIR}/jsapi-tests" || die
+ # for bug 415791
+ pax-mark mr jsapi-tests
+ emake check
+}
+
+src_install() {
+ cd "${BUILDDIR}" || die
+ emake DESTDIR="${D}" install
+ # bug 437520 , exclude js shell for small systems
+ if ! use minimal ; then
+ dobin shell/js
+ pax-mark m "${ED}/usr/bin/js"
+ fi
+ einstalldocs
+
+ if ! use static-libs; then
+ # We can't actually disable building of static libraries
+ # They're used by the tests and in a few other places
+ find "${D}" -iname '*.a' -delete || die
+ fi
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2018-01-13 1:48 Ian Stakenvicius
0 siblings, 0 replies; 24+ messages in thread
From: Ian Stakenvicius @ 2018-01-13 1:48 UTC (permalink / raw
To: gentoo-commits
commit: 52b51f73609113386a4fceb5310262e1e96932d0
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 13 01:47:27 2018 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Sat Jan 13 01:47:56 2018 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=52b51f73
dev-lang/spidermonkey:38 - don't hardcode libc soname
This patch attempts to fix issues linking to libc on platforms
whos libc is not libc.so.6 (ie, ia64 and others).
Bug: http://bugs.gentoo.org/631574
Package-Manager: Portage-2.3.13, Repoman-2.3.3
.../files/moz38-dont-hardcode-libc-soname.patch | 15 +++++++++++++++
dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild | 3 ++-
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
new file mode 100644
index 00000000000..708c7496975
--- /dev/null
+++ b/dev-lang/spidermonkey/files/moz38-dont-hardcode-libc-soname.patch
@@ -0,0 +1,15 @@
+--- a/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:21:16.764318254 -0500
++++ b/testing/mozbase/mozinfo/mozinfo/mozinfo.py 2018-01-12 12:22:23.392069398 -0500
+@@ -93,10 +93,11 @@
+
+ if info['os'] == 'linux':
+ import ctypes
++ import ctypes.util
+ import errno
+ PR_SET_SECCOMP = 22
+ SECCOMP_MODE_FILTER = 2
+- ctypes.CDLL("libc.so.6", use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
++ ctypes.CDLL(ctypes.util.find_library('c'), use_errno=True).prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, 0)
+ info['has_sandbox'] = ctypes.get_errno() == errno.EFAULT
+ else:
+ info['has_sandbox'] = True
diff --git a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
index 476c5c40b78..6b3861a9c18 100644
--- a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
@@ -42,7 +42,8 @@ src_prepare() {
"${WORKDIR}"/sm38/mozjs38-fix-tracelogger.patch \
"${WORKDIR}"/sm38/mozjs38-copy-headers.patch \
"${WORKDIR}"/sm38/mozjs38-pkg-config-version.patch \
- "${WORKDIR}"/sm38/mozilla_configure_regexp_esr38.patch
+ "${WORKDIR}"/sm38/mozilla_configure_regexp_esr38.patch \
+ "${FILESDIR}"/moz38-dont-hardcode-libc-soname.patch
eapply_user
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2017-10-03 20:51 Ian Stakenvicius
0 siblings, 0 replies; 24+ messages in thread
From: Ian Stakenvicius @ 2017-10-03 20:51 UTC (permalink / raw
To: gentoo-commits
commit: eff1f89fa6cddd59b6b8b7f668ba9c629ad27ec1
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 3 20:50:53 2017 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Oct 3 20:51:22 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eff1f89f
dev-lang/spidermonkey: fix includedir install path on 52.4.0
Restored upstream config/baseconfig.mk to undo something that was
applied agaist firefox-52.4.0esr.
Closes: http://bugs.gentoo.org/630506
Package-Manager: Portage-2.3.8, Repoman-2.3.1
.../files/spidermonkey-52-baseconfig.patch | 22 ++++++++++++++++++++++
.../spidermonkey-52.4.0_pre20171003-r1.ebuild | 4 +---
2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/dev-lang/spidermonkey/files/spidermonkey-52-baseconfig.patch b/dev-lang/spidermonkey/files/spidermonkey-52-baseconfig.patch
new file mode 100644
index 00000000000..ee52728fa95
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-52-baseconfig.patch
@@ -0,0 +1,22 @@
+Fix various paths to include MOZ_APP_VERSION
+
+This has been committed upstream but was not included in
+the 52.4.0 sources that spidermonkey was rolled from.
+
+--- a/config/baseconfig.mk 2017-10-03 14:00:45.000000000 -0400
++++ b/config/baseconfig.mk 2017-10-03 16:36:10.857663794 -0400
+@@ -2,10 +2,10 @@
+ # directly in python/mozbuild/mozbuild/base.py for gmake validation.
+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
+ # whether a normal build is happening or whether the check is running.
+-includedir := $(includedir)/$(MOZ_APP_NAME)
+-idldir = $(includedir)/idl/$(MOZ_APP_NAME)
+-installdir = $(libdir)/$(MOZ_APP_NAME)
+-sdkdir = $(libdir)/$(MOZ_APP_NAME)
++includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++idldir = $(includedir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
++sdkdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
+ ifeq (.,$(DEPTH))
+ DIST = dist
+ else
diff --git a/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild
index 35d95d63acc..7c80ac01c86 100644
--- a/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-52.4.0_pre20171003-r1.ebuild
@@ -44,6 +44,7 @@ src_prepare() {
|| die
eapply "${WORKDIR}/${PN}"
+ eapply "${FILESDIR}"/${PN}-52-baseconfig.patch
eapply_user
@@ -130,9 +131,6 @@ src_install() {
cd "${BUILDDIR}" || die
emake DESTDIR="${D}" install
- #work around bad header installation
- mv "${ED}"usr/include/mozjs{,-52} || die
-
if ! use minimal; then
if use jit; then
pax-mark m "${ED}"usr/bin/js${SLOT}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2017-02-28 20:42 Ian Stakenvicius
0 siblings, 0 replies; 24+ messages in thread
From: Ian Stakenvicius @ 2017-02-28 20:42 UTC (permalink / raw
To: gentoo-commits
commit: 8fb65064d8753d73a0d03fb1ab53ff38bf86349b
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 28 19:48:25 2017 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Feb 28 20:41:58 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8fb65064
dev-lang/spidermonkey:45 - fix symlink installs via patch instead of sed
Found a patch to the build system which forces copies rather than symlinks
to all non-objfiles (meaning headers), to address the symlink installation
issue. Also applied the sed patch for icu.m4 for esr45
Package-Manager: portage-2.3.3
.../files/mozilla_configure_regexp_esr.patch | 32 ++++++++++++++++++++++
...spidermonkey-45-dont-symlink-non-objfiles.patch | 21 ++++++++++++++
dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild | 10 ++-----
3 files changed, 56 insertions(+), 7 deletions(-)
diff --git a/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr.patch b/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr.patch
new file mode 100644
index 00000000000..9e165ff9e88
--- /dev/null
+++ b/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr.patch
@@ -0,0 +1,32 @@
+From: Jory A. Pratt <anarchy@gentoo.org>
+
+Note: the first occurrence of :space: is [:space:] (with a single pair
+of []), where it should be [[:space:]] (with two pairs of []).
+
+This causes the sed command to fail (with the error message quoted in
+my original report), driving to failure the whole configure step.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1329252
+
+diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
+--- a/build/autoconf/icu.m4
++++ b/build/autoconf/icu.m4
+@@ -68,17 +68,17 @@ if test -n "$USE_ICU"; then
+ icudir="$_topsrcdir/intl/icu/source"
+ if test ! -d "$icudir"; then
+ icudir="$_topsrcdir/../../intl/icu/source"
+ if test ! -d "$icudir"; then
+ AC_MSG_ERROR([Cannot find the ICU directory])
+ fi
+ fi
+
+- version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
++ version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
+ if test x"$version" = x; then
+ AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
+ fi
+ MOZ_ICU_VERSION="$version"
+
+ if test "$OS_TARGET" = WINNT; then
+ MOZ_SHARED_ICU=1
+ fi
diff --git a/dev-lang/spidermonkey/files/spidermonkey-45-dont-symlink-non-objfiles.patch b/dev-lang/spidermonkey/files/spidermonkey-45-dont-symlink-non-objfiles.patch
new file mode 100644
index 00000000000..061e8a572db
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-45-dont-symlink-non-objfiles.patch
@@ -0,0 +1,21 @@
+--- a/python/mozbuild/mozbuild/backend/recursivemake.py 2016-04-14 13:55:21.000000000 -0400
++++ b/python/mozbuild/mozbuild/backend/recursivemake.py 2017-02-28 14:43:09.431448016 -0500
+@@ -1301,17 +1301,17 @@
+
+ for path, files in files.walk():
+ target_var = (mozpath.join(target, path)
+ if path else target).replace('/', '_')
+ have_objdir_files = False
+ for f in files:
+ if not isinstance(f, ObjDirPath):
+ dest = mozpath.join(reltarget, path, mozpath.basename(f))
+- install_manifest.add_symlink(f.full_path, dest)
++ install_manifest.add_copy(f.full_path, dest)
+ else:
+ backend_file.write('%s_FILES += %s\n' % (
+ target_var, self._pretty_path(f, backend_file)))
+ have_objdir_files = True
+ if have_objdir_files:
+ backend_file.write('%s_DEST := $(DEPTH)/%s\n'
+ % (target_var,
+ mozpath.join(target, path)))
diff --git a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild
index b697709ce00..addd5d92d01 100644
--- a/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-45.0.2.ebuild
@@ -37,7 +37,9 @@ pkg_setup(){
src_prepare() {
eapply "${FILESDIR}"/${PN}-38-jsapi-tests.patch \
"${FILESDIR}"/mozjs45-1266366.patch \
- "${FILESDIR}"/mozjs38-pkg-config-version.patch
+ "${FILESDIR}"/mozjs38-pkg-config-version.patch \
+ "${FILESDIR}"/mozilla_configure_regexp_esr.patch \
+ "${FILESDIR}"/${PN}-${SLOT}-dont-symlink-non-objfiles.patch
# apply relevant (modified) patches from gentoo's firefox-45 patchset
eapply "${FILESDIR}"/ff45
@@ -71,12 +73,6 @@ src_configure() {
$(use_enable jit ion) \
$(use_enable static-libs static) \
$(use_enable test tests)
-
- # An unfortunate hack to undo header install symlinking, but
- # necessary until the function that generates this file can be
- # determined and fixed
- sed -i -e 's/^1/2/' \
- "${BUILDDIR}"/_build_manifests/install/dist_include || die
}
cross_make() {
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2017-02-28 18:49 Ian Stakenvicius
0 siblings, 0 replies; 24+ messages in thread
From: Ian Stakenvicius @ 2017-02-28 18:49 UTC (permalink / raw
To: gentoo-commits
commit: 2f5896c74447204c4e28e1d54a057b8961a601e0
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 28 18:46:54 2017 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Feb 28 18:49:54 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f5896c7
dev-lang/spidermonkey: make sed use in icu.m4 compatible with sed-4.3
Bug: http://bugs.gentoo.org/611232
Bug: http://bugs.gentoo.org/604696
Package-Manager: portage-2.3.3
.../files/mozilla_configure_regexp_esr38.patch | 32 ++++++++++++++++++++++
.../spidermonkey/spidermonkey-38.2.1_rc0.ebuild | 3 +-
2 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr38.patch b/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr38.patch
new file mode 100644
index 0000000000..488b02f128
--- /dev/null
+++ b/dev-lang/spidermonkey/files/mozilla_configure_regexp_esr38.patch
@@ -0,0 +1,32 @@
+From: Jory A. Pratt <anarchy@gentoo.org>
+
+Note: the first occurrence of :space: is [:space:] (with a single pair
+of []), where it should be [[:space:]] (with two pairs of []).
+
+This causes the sed command to fail (with the error message quoted in
+my original report), driving to failure the whole configure step.
+
+https://bugzilla.mozilla.org/show_bug.cgi?id=1329252
+
+diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
+--- a/build/autoconf/icu.m4
++++ b/build/autoconf/icu.m4
+@@ -68,17 +68,17 @@
+ icudir="$_topsrcdir/intl/icu/source"
+ if test ! -d "$icudir"; then
+ icudir="$_topsrcdir/../../intl/icu/source"
+ if test ! -d "$icudir"; then
+ AC_MSG_ERROR([Cannot find the ICU directory])
+ fi
+ fi
+
+- version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
++ version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
+ if test x"$version" = x; then
+ AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
+ fi
+ MOZ_ICU_VERSION="$version"
+
+ if test -z "${JS_STANDALONE}" -a -n "${JS_SHARED_LIBRARY}${MOZ_NATIVE_ICU}"; then
+ MOZ_SHARED_ICU=1
+ fi
diff --git a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
index ad154d68f8..f03e6d13be 100644
--- a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
@@ -41,7 +41,8 @@ src_prepare() {
"${FILESDIR}"/mozjs38-1269317.patch \
"${FILESDIR}"/mozjs38-fix-tracelogger.patch \
"${FILESDIR}"/mozjs38-copy-headers.patch \
- "${FILESDIR}"/mozjs38-pkg-config-version.patch
+ "${FILESDIR}"/mozjs38-pkg-config-version.patch \
+ "${FILESDIR}"/mozilla_configure_regexp_esr38.patch
eapply_user
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2017-02-27 23:39 Ian Stakenvicius
0 siblings, 0 replies; 24+ messages in thread
From: Ian Stakenvicius @ 2017-02-27 23:39 UTC (permalink / raw
To: gentoo-commits
commit: c6b9e11e5e556f1eb6a1446b9f789b97af743e19
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 27 22:35:15 2017 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Mon Feb 27 23:39:01 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6b9e11e
dev-lang/spidermonkey: add mozjs38 release for gnome-3.23
Package-Manager: portage-2.3.3
dev-lang/spidermonkey/Manifest | 1 +
dev-lang/spidermonkey/files/mozjs38-1269317.patch | 124 +++++
.../files/mozjs38-fix-tracelogger.patch | 605 +++++++++++++++++++++
.../files/spidermonkey-38-jsapi-tests.patch | 16 +
dev-lang/spidermonkey/metadata.xml | 4 +-
.../spidermonkey/spidermonkey-38.2.1_rc0.ebuild | 145 +++++
6 files changed, 894 insertions(+), 1 deletion(-)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 45577ad653..d6a76976d6 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,4 +1,5 @@
DIST js-1.7.0.tar.gz 1165607 SHA256 44363f0f3895800ee6010763eae90c0d15ed28e07d783bc7b3c607ce98d8668b SHA512 9d9fbd9c1dae969ca19ddb0f977ac56f3e0479ec393b859de252fcdd8b7fc325e80399073540884ed365ce56a3219be34c0db9300d5e50f32969660c90527e51 WHIRLPOOL 8044b306b3a1f0abed5ac8a6bf4f9ed70e1ebc6f83f44934a6306d9ed68cd73124f82e40430d764f158377031f5ee986595e58fdb52259ab6a3a8674eaf4eed1
DIST js185-1.0.0.tar.gz 6164605 SHA256 5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687 SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 WHIRLPOOL 58b372713275874d3ae3c6b58c12c56bf8d17d024d591e321538bcdd8e615332e41655954368ce86b90e970209e3fd650c39d931000880f5ec22cb044b5d7a4e
DIST mozjs-24.2.0.tar.bz2 15624530 SHA256 e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8 SHA512 49805e256f6fa797505c01b7596d5bb941ed7a2454862c52ed42ad48b5ae4540b777e77ed8da1b98c89f8622ed2c76052187983687008a4ff53594addb328df4 WHIRLPOOL ea74d19c79b1a0fe407e2803900c49c23e8b76444fb4e20995072c3c59427e8df1895df04f2f4de779a1c58cd1166dd97aeaf7564350832011efe89dbcf9583e
+DIST mozjs-38.2.1.rc0.tar.bz2 25012381 SHA256 01994c758174bc173bcf4960f05ecb4da21014f09641a63b2952bbf9eeaa8b5c SHA512 60262c7619cc418569aec81775a671105acbc5bf372273828868f2fbbbc4ea33f78380f7455710816bfcdae828fb4115a08234d599cb30d0db859fcba17f019d WHIRLPOOL b1661859dc41a61317a48a8ee34cab53a369f37067c6565db2c890c596411e51981e0e64f81c5f5bd2bc2ff943493d972b00a5984b99de6e07ce16c07f784cb7
DIST mozjs17.0.0.tar.gz 6778934 SHA256 321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba SHA512 39b68aeb9f712f146778d8b68ee795709a1372c8ab893a222af4eb34882427d6f5cf877e743d6cb2f1b4348c194d8f3774f00cb775b03515b34b49560b748be4 WHIRLPOOL 4df7b51577787194065162b09d2c3dda849c13fa901305f9925d4ca5d38bb7f8e2daa943099e003fb9d11f9264ae2d77ccf04e5eea11e3ddcb624b504b99d52f
diff --git a/dev-lang/spidermonkey/files/mozjs38-1269317.patch b/dev-lang/spidermonkey/files/mozjs38-1269317.patch
new file mode 100644
index 0000000000..39cc6809af
--- /dev/null
+++ b/dev-lang/spidermonkey/files/mozjs38-1269317.patch
@@ -0,0 +1,124 @@
+from https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-1269317.patch
+
+--- a/js/src/jit/RegisterSets.h 2017-02-10 17:33:06.210702431 -0800
++++ b/js/src/jit/RegisterSets.h 2017-02-10 17:43:52.877514146 -0800
+@@ -7,7 +7,6 @@
+ #ifndef jit_RegisterSets_h
+ #define jit_RegisterSets_h
+
+-#include "mozilla/Alignment.h"
+ #include "mozilla/MathAlgorithms.h"
+
+ #include "jit/JitAllocPolicy.h"
+@@ -26,8 +25,8 @@
+ Code code_;
+
+ public:
+- AnyRegister()
+- { }
++ AnyRegister() = default;
++
+ explicit AnyRegister(Register gpr) {
+ code_ = gpr.code();
+ }
+@@ -156,7 +155,7 @@
+ }
+ #endif
+
+- ValueOperand() {}
++ ValueOperand() = default;
+ };
+
+ // Registers to hold either either a typed or untyped value.
+@@ -165,46 +164,25 @@
+ // Type of value being stored.
+ MIRType type_;
+
+- // Space to hold either an AnyRegister or a ValueOperand.
+ union U {
+- mozilla::AlignedStorage2<AnyRegister> typed;
+- mozilla::AlignedStorage2<ValueOperand> value;
++ AnyRegister typed;
++ ValueOperand value;
+ } data;
+
+- AnyRegister& dataTyped() {
+- MOZ_ASSERT(hasTyped());
+- return *data.typed.addr();
+- }
+- ValueOperand& dataValue() {
+- MOZ_ASSERT(hasValue());
+- return *data.value.addr();
+- }
+-
+- AnyRegister dataTyped() const {
+- MOZ_ASSERT(hasTyped());
+- return *data.typed.addr();
+- }
+- const ValueOperand& dataValue() const {
+- MOZ_ASSERT(hasValue());
+- return *data.value.addr();
+- }
+-
+ public:
+
+- TypedOrValueRegister()
+- : type_(MIRType_None)
+- {}
++ TypedOrValueRegister() = default;
+
+ TypedOrValueRegister(MIRType type, AnyRegister reg)
+ : type_(type)
+ {
+- dataTyped() = reg;
++ data.typed = reg;
+ }
+
+ MOZ_IMPLICIT TypedOrValueRegister(ValueOperand value)
+ : type_(MIRType_Value)
+ {
+- dataValue() = value;
++ data.value = value;
+ }
+
+ MIRType type() const {
+@@ -220,11 +198,13 @@
+ }
+
+ AnyRegister typedReg() const {
+- return dataTyped();
++ MOZ_ASSERT(hasTyped());
++ return data.typed;
+ }
+
+ ValueOperand valueReg() const {
+- return dataValue();
++ MOZ_ASSERT(hasValue());
++ return data.value;
+ }
+
+ AnyRegister scratchReg() {
+@@ -240,19 +220,18 @@
+ // Whether a constant value is being stored.
+ bool constant_;
+
+- // Space to hold either a Value or a TypedOrValueRegister.
+ union U {
+- mozilla::AlignedStorage2<Value> constant;
+- mozilla::AlignedStorage2<TypedOrValueRegister> reg;
++ Value constant;
++ TypedOrValueRegister reg;
+ } data;
+
+ Value& dataValue() {
+ MOZ_ASSERT(constant());
+- return *data.constant.addr();
++ return data.constant;
+ }
+ TypedOrValueRegister& dataReg() {
+ MOZ_ASSERT(!constant());
+- return *data.reg.addr();
++ return data.reg;
+ }
+
+ public:
diff --git a/dev-lang/spidermonkey/files/mozjs38-fix-tracelogger.patch b/dev-lang/spidermonkey/files/mozjs38-fix-tracelogger.patch
new file mode 100644
index 0000000000..2197f617a0
--- /dev/null
+++ b/dev-lang/spidermonkey/files/mozjs38-fix-tracelogger.patch
@@ -0,0 +1,605 @@
+from https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-fix-tracelogger.patch
+
+# === Fix the SM38 tracelogger ===
+# This patch is a squashed version of several patches that were adapted
+# to fix failing hunks.
+#
+# Applied in the following order, they are:
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223767
+# Assertion failure: i < size_, at js/src/vm/TraceLoggingTypes.h:210
+# Also fix stop-information to make reduce.py work correctly.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227914
+# Limit the memory tracelogger can take.
+# This causes tracelogger to flush data to the disk regularly and prevents out of
+# memory issues if a lot of data gets logged.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1155618
+# Fix tracelogger destructor that touches possibly uninitialised hash table.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223636
+# Don't treat extraTextId as containing only extra ids.
+# This fixes an assertion failure: id == nextTextId at js/src/vm/TraceLoggingGraph.cpp
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227028
+# Fix when to keep the payload of a TraceLogger event.
+# This fixes an assertion failure: textId < uint32_t(1 << 31) at js/src/vm/TraceLoggingGraph.h
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1266649
+# Handle failing to add to pointermap gracefully.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1280648
+# Don't cache based on pointers to movable GC things.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1224123
+# Fix the use of LastEntryId in tracelogger.h.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1231170
+# Use size in debugger instead of the current id to track last logged item.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1221844
+# Move TraceLogger_Invalidation to LOG_ITEM.
+# Add some debug checks to logTimestamp.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1255766
+# Also mark resizing of memory.
+# * https://bugzilla.mozilla.org/show_bug.cgi?id=1259403
+# Only increase capacity by multiples of 2.
+# Always make sure there are 3 free slots for events.
+# ===
+
+diff --git a/js/src/jit-test/tests/tracelogger/bug1231170.js b/js/src/jit-test/tests/tracelogger/bug1231170.js
+new file mode 100644
+index 0000000..023e93e
+--- /dev/null
++++ b/js/src/jit-test/tests/tracelogger/bug1231170.js
+@@ -0,0 +1,3 @@
++var du = new Debugger();
++if (typeof du.drainTraceLogger === "function")
++ du.drainTraceLogger();
+diff --git a/js/src/jit-test/tests/tracelogger/bug1266649.js b/js/src/jit-test/tests/tracelogger/bug1266649.js
+new file mode 100644
+index 0000000..81ae7ad
+--- /dev/null
++++ b/js/src/jit-test/tests/tracelogger/bug1266649.js
+@@ -0,0 +1,10 @@
++
++var du = new Debugger();
++if (typeof du.setupTraceLogger === "function" &&
++ typeof oomTest === 'function')
++{
++ du.setupTraceLogger({
++ Scripts: true
++ })
++ oomTest(() => function(){});
++}
+diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp
+index 93e2fda..09049d6 100644
+--- a/js/src/jit/Ion.cpp
++++ b/js/src/jit/Ion.cpp
+@@ -1055,6 +1055,8 @@ IonScript::Destroy(FreeOp* fop, IonScript* script)
+
+ script->destroyCaches();
+ script->unlinkFromRuntime(fop);
++ // Frees the potential event we have set.
++ script->traceLoggerScriptEvent_ = TraceLoggerEvent();
+ fop->free_(script);
+ }
+
+diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp
+index 26262fd..af7f313 100644
+--- a/js/src/vm/Debugger.cpp
++++ b/js/src/vm/Debugger.cpp
+@@ -369,10 +369,10 @@ Debugger::Debugger(JSContext* cx, NativeObject* dbg)
+ objects(cx),
+ environments(cx),
+ #ifdef NIGHTLY_BUILD
+- traceLoggerLastDrainedId(0),
++ traceLoggerLastDrainedSize(0),
+ traceLoggerLastDrainedIteration(0),
+ #endif
+- traceLoggerScriptedCallsLastDrainedId(0),
++ traceLoggerScriptedCallsLastDrainedSize(0),
+ traceLoggerScriptedCallsLastDrainedIteration(0)
+ {
+ assertSameCompartment(cx, dbg);
+@@ -3907,9 +3907,9 @@ Debugger::drainTraceLogger(JSContext* cx, unsigned argc, Value* vp)
+ size_t num;
+ TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime());
+ bool lostEvents = logger->lostEvents(dbg->traceLoggerLastDrainedIteration,
+- dbg->traceLoggerLastDrainedId);
++ dbg->traceLoggerLastDrainedSize);
+ EventEntry* events = logger->getEventsStartingAt(&dbg->traceLoggerLastDrainedIteration,
+- &dbg->traceLoggerLastDrainedId,
++ &dbg->traceLoggerLastDrainedSize,
+ &num);
+
+ RootedObject array(cx, NewDenseEmptyArray(cx));
+@@ -4002,10 +4002,10 @@ Debugger::drainTraceLoggerScriptCalls(JSContext* cx, unsigned argc, Value* vp)
+ size_t num;
+ TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime());
+ bool lostEvents = logger->lostEvents(dbg->traceLoggerScriptedCallsLastDrainedIteration,
+- dbg->traceLoggerScriptedCallsLastDrainedId);
++ dbg->traceLoggerScriptedCallsLastDrainedSize);
+ EventEntry* events = logger->getEventsStartingAt(
+ &dbg->traceLoggerScriptedCallsLastDrainedIteration,
+- &dbg->traceLoggerScriptedCallsLastDrainedId,
++ &dbg->traceLoggerScriptedCallsLastDrainedSize,
+ &num);
+
+ RootedObject array(cx, NewDenseEmptyArray(cx));
+diff --git a/js/src/vm/Debugger.h b/js/src/vm/Debugger.h
+index 8cac36a..c92d685 100644
+--- a/js/src/vm/Debugger.h
++++ b/js/src/vm/Debugger.h
+@@ -314,10 +314,10 @@ class Debugger : private mozilla::LinkedListElement<Debugger>
+ * lost events.
+ */
+ #ifdef NIGHTLY_BUILD
+- uint32_t traceLoggerLastDrainedId;
++ uint32_t traceLoggerLastDrainedSize;
+ uint32_t traceLoggerLastDrainedIteration;
+ #endif
+- uint32_t traceLoggerScriptedCallsLastDrainedId;
++ uint32_t traceLoggerScriptedCallsLastDrainedSize;
+ uint32_t traceLoggerScriptedCallsLastDrainedIteration;
+
+ class FrameRange;
+diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp
+index 6715b36..9766a6f 100644
+--- a/js/src/vm/TraceLogging.cpp
++++ b/js/src/vm/TraceLogging.cpp
+@@ -131,7 +131,7 @@ TraceLoggerThread::init()
+ {
+ if (!pointerMap.init())
+ return false;
+- if (!extraTextId.init())
++ if (!textIdPayloads.init())
+ return false;
+ if (!events.init())
+ return false;
+@@ -185,10 +185,10 @@ TraceLoggerThread::~TraceLoggerThread()
+ graph = nullptr;
+ }
+
+- for (TextIdHashMap::Range r = extraTextId.all(); !r.empty(); r.popFront())
+- js_delete(r.front().value());
+- extraTextId.finish();
+- pointerMap.finish();
++ if (textIdPayloads.initialized()) {
++ for (TextIdHashMap::Range r = textIdPayloads.all(); !r.empty(); r.popFront())
++ js_delete(r.front().value());
++ }
+ }
+
+ bool
+@@ -287,7 +287,7 @@ TraceLoggerThread::eventText(uint32_t id)
+ if (id < TraceLogger_Last)
+ return TLTextIdString(static_cast<TraceLoggerTextId>(id));
+
+- TextIdHashMap::Ptr p = extraTextId.lookup(id);
++ TextIdHashMap::Ptr p = textIdPayloads.lookup(id);
+ MOZ_ASSERT(p);
+
+ return p->value()->string();
+@@ -341,13 +341,15 @@ TraceLoggerThread::extractScriptDetails(uint32_t textId, const char** filename,
+ TraceLoggerEventPayload*
+ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId textId)
+ {
+- TextIdHashMap::AddPtr p = extraTextId.lookupForAdd(textId);
+- if (p)
++ TextIdHashMap::AddPtr p = textIdPayloads.lookupForAdd(textId);
++ if (p) {
++ MOZ_ASSERT(p->value()->textId() == textId); // Sanity check.
+ return p->value();
++ }
+
+ TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, (char*)nullptr);
+
+- if (!extraTextId.add(p, textId, payload))
++ if (!textIdPayloads.add(p, textId, payload))
+ return nullptr;
+
+ return payload;
+@@ -357,8 +359,10 @@ TraceLoggerEventPayload*
+ TraceLoggerThread::getOrCreateEventPayload(const char* text)
+ {
+ PointerHashMap::AddPtr p = pointerMap.lookupForAdd((const void*)text);
+- if (p)
++ if (p) {
++ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check.
+ return p->value();
++ }
+
+ size_t len = strlen(text);
+ char* str = js_pod_malloc<char>(len + 1);
+@@ -369,7 +373,7 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text)
+ MOZ_ASSERT(ret == len);
+ MOZ_ASSERT(strlen(str) == len);
+
+- uint32_t textId = extraTextId.count() + TraceLogger_Last;
++ uint32_t textId = nextTextId;
+
+ TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str);
+ if (!payload) {
+@@ -377,17 +381,19 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text)
+ return nullptr;
+ }
+
+- if (!extraTextId.putNew(textId, payload)) {
++ if (!textIdPayloads.putNew(textId, payload)) {
+ js_delete(payload);
+ return nullptr;
+ }
+
+- if (!pointerMap.add(p, text, payload))
+- return nullptr;
+-
+ if (graph.get())
+ graph->addTextId(textId, str);
+
++ nextTextId++;
++
++ if (!pointerMap.add(p, text, payload))
++ return nullptr;
++
+ return payload;
+ }
+
+@@ -407,9 +413,14 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f
+ if (!traceLoggerState->isTextIdEnabled(type))
+ return getOrCreateEventPayload(type);
+
+- PointerHashMap::AddPtr p = pointerMap.lookupForAdd(ptr);
+- if (p)
+- return p->value();
++ PointerHashMap::AddPtr p;
++ if (ptr) {
++ p = pointerMap.lookupForAdd(ptr);
++ if (p) {
++ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check.
++ return p->value();
++ }
++ }
+
+ // Compute the length of the string to create.
+ size_t lenFilename = strlen(filename);
+@@ -428,24 +439,28 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f
+ MOZ_ASSERT(ret == len);
+ MOZ_ASSERT(strlen(str) == len);
+
+- uint32_t textId = extraTextId.count() + TraceLogger_Last;
++ uint32_t textId = nextTextId;
+ TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str);
+ if (!payload) {
+ js_free(str);
+ return nullptr;
+ }
+
+- if (!extraTextId.putNew(textId, payload)) {
++ if (!textIdPayloads.putNew(textId, payload)) {
+ js_delete(payload);
+ return nullptr;
+ }
+
+- if (!pointerMap.add(p, ptr, payload))
+- return nullptr;
+-
+ if (graph.get())
+ graph->addTextId(textId, str);
+
++ nextTextId++;
++
++ if (ptr) {
++ if (!pointerMap.add(p, ptr, payload))
++ return nullptr;
++ }
++
+ return payload;
+ }
+
+@@ -453,14 +468,14 @@ TraceLoggerEventPayload*
+ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, JSScript* script)
+ {
+ return getOrCreateEventPayload(type, script->filename(), script->lineno(), script->column(),
+- script);
++ nullptr);
+ }
+
+ TraceLoggerEventPayload*
+ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type,
+ const JS::ReadOnlyCompileOptions& script)
+ {
+- return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, &script);
++ return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, nullptr);
+ }
+
+ void
+@@ -485,7 +500,7 @@ TraceLoggerThread::startEvent(uint32_t id)
+ if (!traceLoggerState->isTextIdEnabled(id))
+ return;
+
+- logTimestamp(id);
++ log(id);
+ }
+
+ void
+@@ -510,7 +525,7 @@ TraceLoggerThread::stopEvent(uint32_t id)
+ if (!traceLoggerState->isTextIdEnabled(id))
+ return;
+
+- logTimestamp(TraceLogger_Stop);
++ log(TraceLogger_Stop);
+ }
+
+ void
+@@ -522,23 +537,57 @@ TraceLoggerThread::logTimestamp(TraceLoggerTextId id)
+ void
+ TraceLoggerThread::logTimestamp(uint32_t id)
+ {
++ MOZ_ASSERT(id > TraceLogger_LastTreeItem && id < TraceLogger_Last);
++ log(id);
++}
++
++void
++TraceLoggerThread::log(uint32_t id)
++{
+ if (enabled == 0)
+ return;
+
+ MOZ_ASSERT(traceLoggerState);
+- if (!events.ensureSpaceBeforeAdd()) {
++
++ // We request for 3 items to add, since if we don't have enough room
++ // we record the time it took to make more place. To log this information
++ // we need 2 extra free entries.
++ if (!events.hasSpaceForAdd(3)) {
+ uint64_t start = rdtsc() - traceLoggerState->startupTime;
+
+- if (graph.get())
+- graph->log(events);
++ if (!events.ensureSpaceBeforeAdd(3)) {
++ if (graph.get())
++ graph->log(events);
++
++ iteration_++;
++ events.clear();
++
++ // Remove the item in the pointerMap for which the payloads
++ // have no uses anymore
++ for (PointerHashMap::Enum e(pointerMap); !e.empty(); e.popFront()) {
++ if (e.front().value()->uses() != 0)
++ continue;
++
++ TextIdHashMap::Ptr p = textIdPayloads.lookup(e.front().value()->textId());
++ MOZ_ASSERT(p);
++ textIdPayloads.remove(p);
++
++ e.removeFront();
++ }
+
+- iteration_++;
+- events.clear();
++ // Free all payloads that have no uses anymore.
++ for (TextIdHashMap::Enum e(textIdPayloads); !e.empty(); e.popFront()) {
++ if (e.front().value()->uses() == 0) {
++ js_delete(e.front().value());
++ e.removeFront();
++ }
++ }
++ }
+
+ // Log the time it took to flush the events as being from the
+ // Tracelogger.
+ if (graph.get()) {
+- MOZ_ASSERT(events.capacity() > 2);
++ MOZ_ASSERT(events.hasSpaceForAdd(2));
+ EventEntry& entryStart = events.pushUninitialized();
+ entryStart.time = start;
+ entryStart.textId = TraceLogger_Internal;
+@@ -548,13 +597,6 @@ TraceLoggerThread::logTimestamp(uint32_t id)
+ entryStop.textId = TraceLogger_Stop;
+ }
+
+- // Free all TextEvents that have no uses anymore.
+- for (TextIdHashMap::Enum e(extraTextId); !e.empty(); e.popFront()) {
+- if (e.front().value()->uses() == 0) {
+- js_delete(e.front().value());
+- e.removeFront();
+- }
+- }
+ }
+
+ uint64_t time = rdtsc() - traceLoggerState->startupTime;
+@@ -956,3 +998,16 @@ TraceLoggerEvent::~TraceLoggerEvent()
+ if (payload_)
+ payload_->release();
+ }
++
++TraceLoggerEvent&
++TraceLoggerEvent::operator=(const TraceLoggerEvent& other)
++{
++ if (hasPayload())
++ payload()->release();
++ if (other.hasPayload())
++ other.payload()->use();
++
++ payload_ = other.payload_;
++
++ return *this;
++}
+diff --git a/js/src/vm/TraceLogging.h b/js/src/vm/TraceLogging.h
+index a124dcb..91a1eb0 100644
+--- a/js/src/vm/TraceLogging.h
++++ b/js/src/vm/TraceLogging.h
+@@ -110,6 +110,9 @@ class TraceLoggerEvent {
+ bool hasPayload() const {
+ return !!payload_;
+ }
++
++ TraceLoggerEvent& operator=(const TraceLoggerEvent& other);
++ TraceLoggerEvent(const TraceLoggerEvent& event) = delete;
+ };
+
+ /**
+@@ -130,6 +133,10 @@ class TraceLoggerEventPayload {
+ uses_(0)
+ { }
+
++ ~TraceLoggerEventPayload() {
++ MOZ_ASSERT(uses_ == 0);
++ }
++
+ uint32_t textId() {
+ return textId_;
+ }
+@@ -166,7 +173,8 @@ class TraceLoggerThread
+ mozilla::UniquePtr<TraceLoggerGraph> graph;
+
+ PointerHashMap pointerMap;
+- TextIdHashMap extraTextId;
++ TextIdHashMap textIdPayloads;
++ uint32_t nextTextId;
+
+ ContinuousSpace<EventEntry> events;
+
+@@ -181,6 +189,7 @@ class TraceLoggerThread
+ : enabled(0),
+ failed(false),
+ graph(),
++ nextTextId(TraceLogger_Last),
+ iteration_(0),
+ top(nullptr)
+ { }
+@@ -195,22 +204,22 @@ class TraceLoggerThread
+ bool enable(JSContext* cx);
+ bool disable();
+
+- // Given the previous iteration and lastEntryId, return an array of events
++ // Given the previous iteration and size, return an array of events
+ // (there could be lost events). At the same time update the iteration and
+- // lastEntry and gives back how many events there are.
+- EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastEntryId, size_t* num) {
++ // size and gives back how many events there are.
++ EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastSize, size_t* num) {
+ EventEntry* start;
+ if (iteration_ == *lastIteration) {
+- MOZ_ASSERT(events.lastEntryId() >= *lastEntryId);
+- *num = events.lastEntryId() - *lastEntryId;
+- start = events.data() + *lastEntryId + 1;
++ MOZ_ASSERT(*lastSize <= events.size());
++ *num = events.size() - *lastSize;
++ start = events.data() + *lastSize;
+ } else {
+- *num = events.lastEntryId() + 1;
++ *num = events.size();
+ start = events.data();
+ }
+
+ *lastIteration = iteration_;
+- *lastEntryId = events.lastEntryId();
++ *lastSize = events.size();
+ return start;
+ }
+
+@@ -220,16 +229,16 @@ class TraceLoggerThread
+ const char** lineno, size_t* lineno_len, const char** colno,
+ size_t* colno_len);
+
+- bool lostEvents(uint32_t lastIteration, uint32_t lastEntryId) {
++ bool lostEvents(uint32_t lastIteration, uint32_t lastSize) {
+ // If still logging in the same iteration, there are no lost events.
+ if (lastIteration == iteration_) {
+- MOZ_ASSERT(lastEntryId <= events.lastEntryId());
++ MOZ_ASSERT(lastSize <= events.size());
+ return false;
+ }
+
+- // When proceeded to the next iteration and lastEntryId points to
+- // the maximum capacity there are no logs that are lost.
+- if (lastIteration + 1 == iteration_ && lastEntryId == events.capacity())
++ // If we are in a consecutive iteration we are only sure we didn't lose any events,
++ // when the lastSize equals the maximum size 'events' can get.
++ if (lastIteration == iteration_ - 1 && lastSize == events.maxSize())
+ return false;
+
+ return true;
+@@ -268,6 +277,7 @@ class TraceLoggerThread
+ void stopEvent(uint32_t id);
+ private:
+ void stopEvent();
++ void log(uint32_t id);
+
+ public:
+ static unsigned offsetOfEnabled() {
+diff --git a/js/src/vm/TraceLoggingGraph.cpp b/js/src/vm/TraceLoggingGraph.cpp
+index d1b7f2e..a4eb273 100644
+--- a/js/src/vm/TraceLoggingGraph.cpp
++++ b/js/src/vm/TraceLoggingGraph.cpp
+@@ -276,7 +276,7 @@ TraceLoggerGraph::flush()
+ if (bytesWritten < tree.size())
+ return false;
+
+- treeOffset += tree.lastEntryId();
++ treeOffset += tree.size();
+ tree.clear();
+ }
+
+@@ -359,7 +359,7 @@ TraceLoggerGraph::startEventInternal(uint32_t id, uint64_t timestamp)
+
+ if (parent.lastChildId() == 0) {
+ MOZ_ASSERT(!entry.hasChildren());
+- MOZ_ASSERT(parent.treeId() == tree.lastEntryId() + treeOffset);
++ MOZ_ASSERT(parent.treeId() == treeOffset + tree.size() - 1);
+
+ if (!updateHasChildren(parent.treeId()))
+ return false;
+diff --git a/js/src/vm/TraceLoggingTypes.h b/js/src/vm/TraceLoggingTypes.h
+index f1c9d0c..10b76d6 100644
+--- a/js/src/vm/TraceLoggingTypes.h
++++ b/js/src/vm/TraceLoggingTypes.h
+@@ -21,7 +21,6 @@
+ _(Internal) \
+ _(Interpreter) \
+ _(InlinedScripts) \
+- _(Invalidation) \
+ _(IonCompilation) \
+ _(IonCompilationPaused) \
+ _(IonLinking) \
+@@ -60,6 +59,7 @@
+
+ #define TRACELOGGER_LOG_ITEMS(_) \
+ _(Bailout) \
++ _(Invalidation) \
+ _(Disable) \
+ _(Enable) \
+ _(Stop)
+@@ -130,6 +130,9 @@ class ContinuousSpace {
+ uint32_t size_;
+ uint32_t capacity_;
+
++ // The maximum amount of ram memory a continuous space structure can take (in bytes).
++ static const uint32_t LIMIT = 200 * 1024 * 1024;
++
+ public:
+ ContinuousSpace ()
+ : data_(nullptr)
+@@ -151,6 +154,10 @@ class ContinuousSpace {
+ data_ = nullptr;
+ }
+
++ static uint32_t maxSize() {
++ return LIMIT / sizeof(T);
++ }
++
+ T* data() {
+ return data_;
+ }
+@@ -187,11 +194,14 @@ class ContinuousSpace {
+ if (hasSpaceForAdd(count))
+ return true;
+
++ // Limit the size of a continuous buffer.
++ if (size_ + count > maxSize())
++ return false;
++
+ uint32_t nCapacity = capacity_ * 2;
+- if (size_ + count > nCapacity)
+- nCapacity = size_ + count;
+- T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T));
++ nCapacity = (nCapacity < maxSize()) ? nCapacity : maxSize();
+
++ T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T));
+ if (!entries)
+ return false;
+
diff --git a/dev-lang/spidermonkey/files/spidermonkey-38-jsapi-tests.patch b/dev-lang/spidermonkey/files/spidermonkey-38-jsapi-tests.patch
new file mode 100644
index 0000000000..8b023fd318
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-38-jsapi-tests.patch
@@ -0,0 +1,16 @@
+--- a/js/src/jsapi-tests/testPreserveJitCode.cpp 2015-09-17 16:12:22.000000000 -0400
++++ b/js/src/jsapi-tests/testPreserveJitCode.cpp 2017-02-27 16:30:28.899191525 -0500
+@@ -16,8 +16,12 @@
+
+ BEGIN_TEST(test_PreserveJitCode)
+ {
++#ifndef JS_CODEGEN_NONE
+ CHECK(testPreserveJitCode(false, 0));
+ CHECK(testPreserveJitCode(true, 1));
++#else
++ printf("*JIT is disabled, therefore CANNOT preserve jit code - skipping.\n");
++#endif
+ return true;
+ }
+
+
diff --git a/dev-lang/spidermonkey/metadata.xml b/dev-lang/spidermonkey/metadata.xml
index 564a0ee481..83c60ddc3f 100644
--- a/dev-lang/spidermonkey/metadata.xml
+++ b/dev-lang/spidermonkey/metadata.xml
@@ -6,9 +6,11 @@
<name>Gentoo Mozilla Team</name>
</maintainer>
<longdescription lang="en">
- Stand-alone JavaScript C library
+ Stand-alone JavaScript C++ library
</longdescription>
<use>
+ <flag name="custom-optimization">Build with user-specified compiler optimizations
+ (-Os, -O0, -O1, -O2, -O3) from CFLAGS (unsupported)</flag>
<flag name="debug">Enable assertions to allow for easier debugging of programs that link to spidermonkey -- note this will often crash software on regular end-user systems</flag>
<flag name="threadsafe">Build a threadsafe version of spidermonkey</flag>
<flag name="system-icu">Use the system-wide <pkg>dev-libs/icu</pkg> instead of bundled -- note, only takes effect when icu flag is enabled</flag>
diff --git a/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
new file mode 100644
index 0000000000..6673931956
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-38.2.1_rc0.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+WANT_AUTOCONF="2.1"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+inherit autotools toolchain-funcs multilib python-any-r1 versionator pax-utils mozcoreconf-v4
+
+MY_PN="mozjs"
+MY_P="${MY_PN}-${PV/_/.}"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey"
+SRC_URI="https://people.mozilla.org/~sstangl/${MY_P}.tar.bz2"
+
+LICENSE="NPL-1.1"
+SLOT="38"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="debug +jit minimal static-libs +system-icu test"
+
+RESTRICT="ia64? ( test )"
+
+#S="${WORKDIR}/${MY_P%.rc*}"
+S="${WORKDIR}/mozjs-38.0.0"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.10.10
+ virtual/libffi
+ sys-libs/readline:0=
+ >=sys-libs/zlib-1.2.3
+ system-icu? ( >=dev-libs/icu-51.1:= )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ app-arch/zip
+ virtual/pkgconfig"
+
+pkg_setup(){
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ moz_pkgsetup
+ fi
+}
+
+src_prepare() {
+ eapply "${FILESDIR}"/${PN}-38-jsapi-tests-makefile.patch \
+ "${FILESDIR}"/mozjs38-1269317.patch \
+ "${FILESDIR}"/mozjs38-fix-tracelogger.patch
+
+ eapply_user
+
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # Don't try to be smart, this does not work in cross-compile anyway
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
+ fi
+
+ cd "${BUILDDIR}" || die
+ eautoconf
+}
+
+src_configure() {
+ export SHELL=/bin/sh
+ cd "${BUILDDIR}" || die
+
+ econf \
+ --enable-jemalloc \
+ --enable-readline \
+ --enable-threadsafe \
+ --with-system-nspr \
+ --enable-system-ffi \
+ --disable-optimize \
+ --with-intl-api \
+ $(use_with system-icu) \
+ $(use_enable debug) \
+ $(use_enable jit yarr-jit) \
+ $(use_enable jit ion) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
+}
+
+cross_make() {
+ emake \
+ CFLAGS="${BUILD_CFLAGS}" \
+ CXXFLAGS="${BUILD_CXXFLAGS}" \
+ AR="${BUILD_AR}" \
+ CC="${BUILD_CC}" \
+ CXX="${BUILD_CXX}" \
+ RANLIB="${BUILD_RANLIB}" \
+ "$@"
+}
+src_compile() {
+ cd "${BUILDDIR}" || die
+ if tc-is-cross-compiler; then
+ tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
+ cross_make \
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
+ MOZ_PGO_OPTIMIZE_FLAGS="" \
+ host_jsoplengen host_jskwgen
+ cross_make \
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
+ -C config nsinstall
+ mv {,native-}host_jskwgen || die
+ mv {,native-}host_jsoplengen || die
+ mv config/{,native-}nsinstall || die
+ sed -i \
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+ Makefile || die
+ sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
+ rm -f config/host_nsinstall.o \
+ config/host_pathsub.o \
+ host_jskwgen.o \
+ host_jsoplengen.o || die
+ fi
+
+ MOZ_MAKE_FLAGS="${MAKEOPTS}" SHELL="${SHELL:-${EPREFIX%/}/bin/bash}" \
+ emake \
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
+ MOZ_PGO_OPTIMIZE_FLAGS=""
+}
+
+src_test() {
+ cd "${BUILDDIR}/js/src/jsapi-tests" || die
+ ./jsapi-tests || die
+}
+
+src_install() {
+ cd "${BUILDDIR}" || die
+ emake DESTDIR="${D}" install
+
+ if ! use minimal; then
+ if use jit; then
+ pax-mark m "${ED}/usr/bin/js${SLOT}"
+ fi
+ else
+ rm -f "${ED}/usr/bin/js${SLOT}"
+ fi
+
+ if ! use static-libs; then
+ # We can't actually disable building of static libraries
+ # They're used by the tests and in a few other places
+ find "${D}" -iname '*.a' -delete || die
+ fi
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2016-09-01 21:03 Ian Stakenvicius
0 siblings, 0 replies; 24+ messages in thread
From: Ian Stakenvicius @ 2016-09-01 21:03 UTC (permalink / raw
To: gentoo-commits
commit: 436f1eed9e302d8b5e0711803f980bc72c81e0d5
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 31 23:09:20 2016 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Thu Sep 1 21:03:29 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=436f1eed
dev-lang/spidermonkey: patch 1.8.5 to build with gcc6
Bug: http://bugs.gentoo.org/582478
Package-Manager: portage-2.2.28
.../files/spidermonkey-1.8.5-gcc6.patch | 144 ++++++++++++++++++++
dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild | 149 +++++++++++++++++++++
2 files changed, 293 insertions(+)
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-gcc6.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-gcc6.patch
new file mode 100644
index 00000000..ab2181f
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-gcc6.patch
@@ -0,0 +1,144 @@
+diff -upr a/js/src/jsapi.cpp b/js/src/jsapi.cpp
+--- a/js/src/jsapi.cpp 2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsapi.cpp 2016-02-29 18:10:49.302307353 -0600
+@@ -3985,7 +3985,7 @@ JS_Enumerate(JSContext *cx, JSObject *ob
+ AutoIdVector props(cx);
+ JSIdArray *ida;
+ if (!GetPropertyNames(cx, obj, JSITER_OWNONLY, &props) || !VectorToIdArray(cx, props, &ida))
+- return false;
++ return NULL;
+ for (size_t n = 0; n < size_t(ida->length); ++n)
+ JS_ASSERT(js_CheckForStringIndex(ida->vector[n]) == ida->vector[n]);
+ return ida;
+diff -upr a/js/src/jsfun.cpp b/js/src/jsfun.cpp
+--- a/js/src/jsfun.cpp 2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsfun.cpp 2016-02-29 18:21:45.249674890 -0600
+@@ -2051,7 +2051,7 @@ fun_toStringHelper(JSContext *cx, JSObje
+
+ JSString *str = JS_DecompileFunction(cx, fun, indent);
+ if (!str)
+- return false;
++ return NULL;
+
+ if (!indent)
+ cx->compartment->toSourceCache.put(fun, str);
+@@ -2657,7 +2657,7 @@ LookupInterpretedFunctionPrototype(JSCon
+ const Shape *shape = funobj->nativeLookup(id);
+ if (!shape) {
+ if (!ResolveInterpretedFunctionPrototype(cx, funobj))
+- return false;
++ return NULL;
+ shape = funobj->nativeLookup(id);
+ }
+ JS_ASSERT(!shape->configurable());
+diff -upr a/js/src/jsiter.cpp b/js/src/jsiter.cpp
+--- a/js/src/jsiter.cpp 2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsiter.cpp 2016-02-29 18:24:22.494659919 -0600
+@@ -425,7 +425,7 @@ NewIteratorObject(JSContext *cx, uintN f
+ */
+ JSObject *obj = js_NewGCObject(cx, FINALIZE_OBJECT0);
+ if (!obj)
+- return false;
++ return NULL;
+ obj->init(cx, &js_IteratorClass, NULL, NULL, NULL, false);
+ obj->setMap(cx->compartment->emptyEnumeratorShape);
+ return obj;
+diff -upr a/js/src/jsparse.cpp b/js/src/jsparse.cpp
+--- a/js/src/jsparse.cpp 2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsparse.cpp 2016-02-29 18:29:03.997437475 -0600
+@@ -3352,7 +3352,7 @@ Parser::functionDef(JSAtom *funAtom, Fun
+ if (!outertc->inFunction() && bodyLevel && funAtom && !lambda && outertc->compiling()) {
+ JS_ASSERT(pn->pn_cookie.isFree());
+ if (!DefineGlobal(pn, outertc->asCodeGenerator(), funAtom))
+- return false;
++ return NULL;
+ }
+
+ pn->pn_blockid = outertc->blockid();
+diff -upr a/js/src/jsstr.cpp b/js/src/jsstr.cpp
+--- a/js/src/jsstr.cpp 2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsstr.cpp 2016-02-29 19:01:45.857779836 -0600
+@@ -1734,7 +1734,7 @@ class RegExpGuard
+ if (flat) {
+ patstr = flattenPattern(cx, fm.patstr);
+ if (!patstr)
+- return false;
++ return NULL;
+ } else {
+ patstr = fm.patstr;
+ }
+@@ -3400,7 +3400,7 @@ js_InitStringClass(JSContext *cx, JSObje
+ UndefinedValue(), NULL, NULL,
+ JSPROP_READONLY | JSPROP_PERMANENT | JSPROP_SHARED, 0, 0,
+ NULL)) {
+- return JS_FALSE;
++ return NULL;
+ }
+
+ return proto;
+diff -upr a/js/src/jstypedarray.cpp b/js/src/jstypedarray.cpp
+--- a/js/src/jstypedarray.cpp 2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jstypedarray.cpp 2016-02-29 19:08:53.541136191 -0600
+@@ -1334,7 +1334,7 @@ class TypedArrayTemplate
+ if (size != 0 && count >= INT32_MAX / size) {
+ JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL,
+ JSMSG_NEED_DIET, "size and count");
+- return false;
++ return NULL;
+ }
+
+ int32 bytelen = size * count;
+@@ -1668,7 +1668,7 @@ TypedArrayConstruct(JSContext *cx, jsint
+
+ default:
+ JS_NOT_REACHED("shouldn't have gotten here");
+- return false;
++ return NULL;
+ }
+ }
+
+diff -upr a/js/src/jsxml.cpp b/js/src/jsxml.cpp
+--- a/js/src/jsxml.cpp 2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/jsxml.cpp 2016-02-29 19:17:10.363279731 -0600
+@@ -282,7 +282,7 @@ NewXMLNamespace(JSContext *cx, JSLinearS
+
+ obj = NewBuiltinClassInstanceXML(cx, &js_NamespaceClass);
+ if (!obj)
+- return JS_FALSE;
++ return NULL;
+ JS_ASSERT(JSVAL_IS_VOID(obj->getNamePrefixVal()));
+ JS_ASSERT(JSVAL_IS_VOID(obj->getNameURIVal()));
+ JS_ASSERT(JSVAL_IS_VOID(obj->getNamespaceDeclared()));
+@@ -431,7 +431,7 @@ ConvertQNameToString(JSContext *cx, JSOb
+ size_t length = str->length();
+ jschar *chars = (jschar *) cx->malloc((length + 2) * sizeof(jschar));
+ if (!chars)
+- return JS_FALSE;
++ return NULL;
+ *chars = '@';
+ const jschar *strChars = str->getChars(cx);
+ if (!strChars) {
+diff -upr a/js/src/methodjit/InvokeHelpers.cpp b/js/src/methodjit/InvokeHelpers.cpp
+--- a/js/src/methodjit/InvokeHelpers.cpp 2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/methodjit/InvokeHelpers.cpp 2016-02-29 20:34:14.496983346 -0600
+@@ -728,7 +728,7 @@ AtSafePoint(JSContext *cx)
+ {
+ JSStackFrame *fp = cx->fp();
+ if (fp->hasImacropc())
+- return false;
++ return NULL;
+
+ JSScript *script = fp->script();
+ return script->maybeNativeCodeForPC(fp->isConstructing(), cx->regs->pc);
+diff -upr a/js/src/nanojit/NativeX64.cpp b/js/src/nanojit/NativeX64.cpp
+--- a/js/src/nanojit/NativeX64.cpp 2011-03-31 14:08:36.000000000 -0500
++++ b/js/src/nanojit/NativeX64.cpp 2016-02-29 20:19:56.487934808 -0600
+@@ -1899,7 +1899,7 @@ namespace nanojit
+ }
+ }
+
+- static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {0x8000000000000000LL,0};
++ static const AVMPLUS_ALIGN16(int64_t) negateMask[] = {int64_t(0x8000000000000000LL),0};
+
+ void Assembler::asm_fneg(LIns *ins) {
+ Register rr, ra;
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild
new file mode 100644
index 00000000..aa91c29
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r6.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WANT_AUTOCONF="2.1"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+inherit autotools eutils toolchain-funcs multilib python-any-r1 versionator pax-utils
+
+MY_PN="js"
+TARBALL_PV="$(replace_all_version_separators '' $(get_version_component_range 1-3))"
+MY_P="${MY_PN}-${PV}"
+TARBALL_P="${MY_PN}${TARBALL_PV}-1.0.0"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
+SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${TARBALL_P}.tar.gz"
+
+LICENSE="NPL-1.1"
+SLOT="0/mozjs185"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-macos"
+IUSE="debug minimal static-libs test"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.7.0
+ sys-libs/readline:0
+ x64-macos? ( dev-libs/jemalloc )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ app-arch/zip
+ virtual/pkgconfig"
+
+pkg_setup(){
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ export LC_ALL="C"
+ fi
+}
+
+src_prepare() {
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=628723#c43
+ epatch "${FILESDIR}/${P}-fix-install-symlinks.patch"
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=638056#c9
+ epatch "${FILESDIR}/${P}-fix-ppc64.patch"
+ # https://bugs.gentoo.org/show_bug.cgi?id=400727
+ # https://bugs.gentoo.org/show_bug.cgi?id=420471
+ epatch "${FILESDIR}/${P}-arm_respect_cflags-3.patch"
+ # https://bugs.gentoo.org/show_bug.cgi?id=438746
+ epatch "${FILESDIR}"/${PN}-1.8.7-freebsd-pthreads.patch
+ # https://bugs.gentoo.org/show_bug.cgi?id=441928
+ epatch "${FILESDIR}"/${PN}-1.8.5-perf_event-check.patch
+ # https://bugs.gentoo.org/show_bug.cgi?id=439260
+ epatch "${FILESDIR}"/${P}-symbol-versions.patch
+ # https://bugs.gentoo.org/show_bug.cgi?id=441934
+ epatch "${FILESDIR}"/${PN}-1.8.5-ia64-fix.patch
+ epatch "${FILESDIR}"/${PN}-1.8.5-ia64-static-strings.patch
+ # https://bugs.gentoo.org/show_bug.cgi?id=431560
+ epatch "${FILESDIR}"/${PN}-1.8.5-isfinite.patch
+ # https://bugs.gentoo.org/show_bug.cgi?id=552786
+ epatch "${FILESDIR}"/${PN}-perl-defined-array-check.patch
+ # https://bugs.gentoo.org/show_bug.cgi?id=439558
+ epatch "${FILESDIR}"/${PN}-1.8.7-x32.patch
+ # https://bugs.gentoo.org/show_bug.cgi?id=582478
+ epatch "${FILESDIR}"/${PN}-1.8.5-gcc6.patch
+
+ epatch_user
+
+ cd "${BUILDDIR}" || die
+ eautoconf
+}
+
+src_configure() {
+ cd "${BUILDDIR}" || die
+
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+ LD="$(tc-getLD)" \
+ econf \
+ ${myopts} \
+ --enable-jemalloc \
+ --enable-readline \
+ --enable-threadsafe \
+ --with-system-nspr \
+ --disable-optimize \
+ --disable-profile-guided-optimization \
+ $(use_enable debug) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
+}
+
+cross_make() {
+ emake \
+ CFLAGS="${BUILD_CFLAGS}" \
+ CXXFLAGS="${BUILD_CXXFLAGS}" \
+ AR="${BUILD_AR}" \
+ CC="${BUILD_CC}" \
+ CXX="${BUILD_CXX}" \
+ RANLIB="${BUILD_RANLIB}" \
+ "$@"
+}
+src_compile() {
+ cd "${BUILDDIR}" || die
+ if tc-is-cross-compiler; then
+ tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
+ cross_make jscpucfg host_jsoplengen host_jskwgen
+ cross_make -C config nsinstall
+ mv {,native-}jscpucfg || die
+ mv {,native-}host_jskwgen || die
+ mv {,native-}host_jsoplengen || die
+ mv config/{,native-}nsinstall || die
+ sed -i \
+ -e 's@./jscpucfg@./native-jscpucfg@' \
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+ Makefile || die
+ sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
+ rm -f config/host_nsinstall.o \
+ config/host_pathsub.o \
+ host_jskwgen.o \
+ host_jsoplengen.o || die
+ fi
+ emake
+}
+
+src_test() {
+ cd "${BUILDDIR}/jsapi-tests" || die
+ # for bug 415791
+ pax-mark mr jsapi-tests
+ emake check
+}
+
+src_install() {
+ cd "${BUILDDIR}" || die
+ emake DESTDIR="${D}" install
+ # bug 437520 , exclude js shell for small systems
+ if ! use minimal ; then
+ dobin shell/js
+ pax-mark m "${ED}/usr/bin/js"
+ fi
+ dodoc ../../README
+ dohtml README.html
+
+ if ! use static-libs; then
+ # We can't actually disable building of static libraries
+ # They're used by the tests and in a few other places
+ find "${D}" -iname '*.a' -delete || die
+ fi
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2016-06-11 0:01 Ian Stakenvicius
0 siblings, 0 replies; 24+ messages in thread
From: Ian Stakenvicius @ 2016-06-11 0:01 UTC (permalink / raw
To: gentoo-commits
commit: e4cd861a39c8552ded3bdfefafbe5d0413ac6990
Author: Austin English <wizardedit <AT> gentoo <DOT> org>
AuthorDate: Fri Jun 3 05:22:39 2016 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Fri Jun 10 23:55:13 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4cd861a
dev-lang/spidermonkey: fix building with clang
Gentoo-Bug: https://bugs.gentoo.org/458142
Closes: https://github.com/gentoo/gentoo/pull/1589
.../spidermonkey/files/spidermonkey-17-clang.patch | 18 +++
.../spidermonkey/spidermonkey-17.0.0-r5.ebuild | 140 +++++++++++++++++++++
2 files changed, 158 insertions(+)
diff --git a/dev-lang/spidermonkey/files/spidermonkey-17-clang.patch b/dev-lang/spidermonkey/files/spidermonkey-17-clang.patch
new file mode 100644
index 0000000..062bd06b
--- /dev/null
+++ b/dev-lang/spidermonkey/files/spidermonkey-17-clang.patch
@@ -0,0 +1,18 @@
+Fix compilation of spidermonkey-17 with clang
+
+Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=458142
+Upstream-Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=887645
+
+b/js/src/js-config.in
+--- a/js/src/jsinterp.cpp 2016-06-03 00:08:04.376312080 -0500
++++ b/js/src/jsinterp.cpp 2016-06-03 00:12:17.740329180 -0500
+@@ -3664,7 +3664,9 @@
+ BEGIN_CASE(JSOP_LEAVEFORLETIN)
+ BEGIN_CASE(JSOP_LEAVEBLOCKEXPR)
+ {
++ #ifdef DEBUG
+ DebugOnly<uint32_t> blockDepth = regs.fp()->blockChain().stackDepth();
++ #endif
+
+ regs.fp()->popBlock(cx);
+
diff --git a/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild b/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild
new file mode 100644
index 0000000..897b2a0
--- /dev/null
+++ b/dev-lang/spidermonkey/spidermonkey-17.0.0-r5.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="6"
+WANT_AUTOCONF="2.1"
+PYTHON_COMPAT=( python2_7 )
+PYTHON_REQ_USE="threads"
+inherit toolchain-funcs multilib python-any-r1 versionator pax-utils
+
+MY_PN="mozjs"
+MY_P="${MY_PN}${PV}"
+DESCRIPTION="Stand-alone JavaScript C library"
+HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
+SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/js/${MY_PN}${PV}.tar.gz"
+
+LICENSE="NPL-1.1"
+SLOT="17"
+# "MIPS, MacroAssembler is not supported" wrt #491294 for -mips
+KEYWORDS="~alpha ~amd64 ~arm -hppa ~ia64 -mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="debug jit minimal static-libs test"
+
+REQUIRED_USE="debug? ( jit )"
+RESTRICT="ia64? ( test )"
+
+S="${WORKDIR}/${MY_P}"
+BUILDDIR="${S}/js/src"
+
+RDEPEND=">=dev-libs/nspr-4.9.4
+ virtual/libffi
+ sys-libs/readline:0
+ >=sys-libs/zlib-1.1.4"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ app-arch/zip
+ virtual/pkgconfig"
+
+pkg_setup(){
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ python-any-r1_pkg_setup
+ export LC_ALL="C"
+ fi
+}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-${SLOT}-js-config-shebang.patch
+ "${FILESDIR}"/${PN}-${SLOT}-ia64-mmap.patch
+ "${FILESDIR}"/${PN}-17.0.0-fix-file-permissions.patch
+ "${FILESDIR}"/${PN}-17-clang.patch
+ "${FILESDIR}"/${PN}-perl-defined-array-check.patch
+)
+
+src_prepare() {
+ default
+
+ # Remove obsolete jsuword bug #506160
+ sed -i -e '/jsuword/d' "${BUILDDIR}"/jsval.h || die "sed failed"
+
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # Don't try to be smart, this does not work in cross-compile anyway
+ ln -sfn "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
+ fi
+}
+
+src_configure() {
+ cd "${BUILDDIR}" || die
+
+ CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
+ LD="$(tc-getLD)" \
+ econf \
+ ${myopts} \
+ --enable-jemalloc \
+ --enable-readline \
+ --enable-threadsafe \
+ --with-system-nspr \
+ --enable-system-ffi \
+ --enable-jemalloc \
+ $(use_enable debug) \
+ $(use_enable jit tracejit) \
+ $(use_enable jit methodjit) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
+}
+
+cross_make() {
+ emake \
+ CFLAGS="${BUILD_CFLAGS}" \
+ CXXFLAGS="${BUILD_CXXFLAGS}" \
+ AR="${BUILD_AR}" \
+ CC="${BUILD_CC}" \
+ CXX="${BUILD_CXX}" \
+ RANLIB="${BUILD_RANLIB}" \
+ "$@"
+}
+src_compile() {
+ cd "${BUILDDIR}" || die
+ if tc-is-cross-compiler; then
+ tc-export_build_env BUILD_{AR,CC,CXX,RANLIB}
+ cross_make host_jsoplengen host_jskwgen
+ cross_make -C config nsinstall
+ mv {,native-}host_jskwgen || die
+ mv {,native-}host_jsoplengen || die
+ mv config/{,native-}nsinstall || die
+ sed -i \
+ -e 's@./host_jskwgen@./native-host_jskwgen@' \
+ -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
+ Makefile || die
+ sed -i -e 's@/nsinstall@/native-nsinstall@' config/config.mk || die
+ rm -f config/host_nsinstall.o \
+ config/host_pathsub.o \
+ host_jskwgen.o \
+ host_jsoplengen.o || die
+ fi
+ emake
+}
+
+src_test() {
+ cd "${BUILDDIR}/jsapi-tests" || die
+ emake check
+}
+
+src_install() {
+ cd "${BUILDDIR}" || die
+ default
+
+ if ! use minimal; then
+ if use jit; then
+ pax-mark m "${ED}/usr/bin/js${SLOT}" || die
+ fi
+ else
+ rm -f "${ED}/usr/bin/js${SLOT}" || die
+ fi
+
+ if ! use static-libs; then
+ # We can't actually disable building of static libraries
+ # They're used by the tests and in a few other places
+ find "${D}" -iname '*.a' -delete || die
+ fi
+}
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/
@ 2016-02-23 15:11 Ian Stakenvicius
0 siblings, 0 replies; 24+ messages in thread
From: Ian Stakenvicius @ 2016-02-23 15:11 UTC (permalink / raw
To: gentoo-commits
commit: ba5ae143c61e68e4e4964fbfd098178ac2a56650
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 23 15:10:36 2016 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Tue Feb 23 15:11:24 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ba5ae143
dev-lang/spidermonkey: clean up old ebuilds
Package-Manager: portage-2.2.26
dev-lang/spidermonkey/Manifest | 1 -
.../spidermonkey-1.8.5-arm_respect_cflags-2.patch | 102 ---------------------
.../files/spidermonkey-1.8.7-filter_desc.patch | 18 ----
.../files/spidermonkey-1.9.2.13-as-needed.patch | 22 -----
dev-lang/spidermonkey/spidermonkey-1.7.0-r1.ebuild | 51 -----------
dev-lang/spidermonkey/spidermonkey-1.7.0-r2.ebuild | 52 -----------
dev-lang/spidermonkey/spidermonkey-1.7.0.ebuild | 50 ----------
.../spidermonkey/spidermonkey-1.8.2.15-r2.ebuild | 77 ----------------
8 files changed, 373 deletions(-)
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index bd16fe6..45577ad 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -1,4 +1,3 @@
-DIST firefox-3.6.15.source.tar.bz2 51552828 SHA256 405aa411a8ddb456017564522cbb486850e34fe14485b1c31fa93fc5c750870f SHA512 82bf0a6c6cb30fc0b18b067ac3d9cb7e48a0fd0126edd851e628d49e429aea33500a5a5eba87bce922e51b1b7410ccccfe4f8b7ce5573bdbd718c76da7acb1da WHIRLPOOL b788d7ba2cfcaec4f317e615878401a7a1fb985aaa43829831c17b699812e59adb7874247114e0143da63198118cab059796fc5d5fd08d72ccc54b4fef279f85
DIST js-1.7.0.tar.gz 1165607 SHA256 44363f0f3895800ee6010763eae90c0d15ed28e07d783bc7b3c607ce98d8668b SHA512 9d9fbd9c1dae969ca19ddb0f977ac56f3e0479ec393b859de252fcdd8b7fc325e80399073540884ed365ce56a3219be34c0db9300d5e50f32969660c90527e51 WHIRLPOOL 8044b306b3a1f0abed5ac8a6bf4f9ed70e1ebc6f83f44934a6306d9ed68cd73124f82e40430d764f158377031f5ee986595e58fdb52259ab6a3a8674eaf4eed1
DIST js185-1.0.0.tar.gz 6164605 SHA256 5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687 SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 WHIRLPOOL 58b372713275874d3ae3c6b58c12c56bf8d17d024d591e321538bcdd8e615332e41655954368ce86b90e970209e3fd650c39d931000880f5ec22cb044b5d7a4e
DIST mozjs-24.2.0.tar.bz2 15624530 SHA256 e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8 SHA512 49805e256f6fa797505c01b7596d5bb941ed7a2454862c52ed42ad48b5ae4540b777e77ed8da1b98c89f8622ed2c76052187983687008a4ff53594addb328df4 WHIRLPOOL ea74d19c79b1a0fe407e2803900c49c23e8b76444fb4e20995072c3c59427e8df1895df04f2f4de779a1c58cd1166dd97aeaf7564350832011efe89dbcf9583e
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-2.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-2.patch
deleted file mode 100644
index 106ec14..0000000
--- a/dev-lang/spidermonkey/files/spidermonkey-1.8.5-arm_respect_cflags-2.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- a/js-1.8.5/js/src/configure.in 2011-03-31 15:08:36.000000000 -0400
-+++ b/js-1.8.5/js/src/configure.in 2012-11-02 15:32:38.000000000 -0400
-@@ -3550,7 +3550,7 @@
- _SAVE_CFLAGS="$CFLAGS"
- if test "$GNU_CC"; then
- # gcc needs -mfpu=neon to recognize NEON instructions
-- CFLAGS="$CFLAGS -mfpu=neon -mfloat-abi=softfp"
-+ CFLAGS="$CFLAGS -mfpu=neon"
- fi
- AC_TRY_COMPILE([],
- [asm("vadd.i8 d0, d0, d0");],
-@@ -4654,12 +4654,6 @@
- dnl ========================================================
- MOZ_ARG_HEADER(Individual module options)
-
--dnl Setup default CPU arch for arm target
--case "$target_cpu" in
-- arm*)
-- MOZ_ARM_ARCH=armv7
-- ;;
--esac
- dnl ========================================================
- dnl = Enable building the Thumb2 instruction set
- dnl ========================================================
-@@ -4668,66 +4662,35 @@
- MOZ_THUMB2=1,
- MOZ_THUMB2=)
- if test -n "$MOZ_THUMB2"; then
-- MOZ_ARM_ARCH=armv7
-+ AC_MSG_WARN([thumb2 enabled instead of autodetected -- hope you know what you are doing])
-+else
-+ AC_MSG_CHECKING([for thumb2 support in arm architecture])
-+ AC_LANG_SAVE
-+ AC_LANG_C
-+ AC_TRY_LINK([int ac_test(int i) { return i; }],[asm(".syntax unified\n.thumb\nb.w ac_test\n.arm"); if (ac_test(1)) return 1;],
-+ [MOZ_THUMB2=1
-+ AC_MSG_RESULT([yes])],
-+ [MOZ_THUMB2=
-+ AC_MSG_RESULT([no])])
-+ AC_LANG_RESTORE
- fi
-
- dnl ========================================================
- dnl = Enable building for ARM specific CPU features
- dnl ========================================================
--MOZ_ARG_WITH_STRING(cpu-arch,
--[ --with-cpu-arch=arch Use specific arm architecture CPU features, default armv7],
-- MOZ_ARM_ARCH=$withval)
--
- if test -n "$MOZ_THUMB2"; then
- case "$target_cpu" in
- arm*)
-- if test "$MOZ_ARM_ARCH" != "armv7"; then
-- AC_MSG_ERROR([--enable-thumb2 is not compatible with cpu-arch=$MOZ_ARM_ARCH])
-- fi
- if test "$GNU_CC"; then
- AC_DEFINE(MOZ_THUMB2)
-- AC_DEFINE(MOZ_ARM_ARCH)
-- CFLAGS="$CFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
-- CXXFLAGS="$CXXFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
-- ASFLAGS="$ASFLAGS -march=armv7-a -mthumb -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
- else
- AC_MSG_ERROR([--enable-thumb2 is not supported for non-GNU toolchains])
- fi
- ;;
-- *)
-- AC_MSG_ERROR([--enable-thumb2 is not supported for non-ARM CPU architectures])
-- ;;
-- esac
--elif test "$MOZ_ARM_ARCH" = "armv7"; then
-- case "$target_cpu" in
-- arm*)
-- if test "$GNU_CC"; then
-- AC_DEFINE(MOZ_ARM_ARCH)
-- CFLAGS="$CFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
-- CXXFLAGS="$CXXFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
-- ASFLAGS="$ASFLAGS -march=armv7-a -marm -mfloat-abi=softfp $MOZ_ARM_VFP_FLAGS"
-- else
-- AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-GNU toolchains])
-- fi
-- ;;
-- *)
-- AC_MSG_ERROR([--with-cpu-arch=armv7 is not supported for non-ARM CPU architectures])
-- ;;
-- esac
--else
-- case "$target_cpu" in
-- arm*)
-- if test "$GNU_CC"; then
-- CFLAGS="$CFLAGS -march=armv5te -mthumb-interwork -msoft-float"
-- CXXFLAGS="$CXXFLAGS -march=armv5te -mthumb-interwork -msoft-float"
-- ASFLAGS="$ASFLAGS -march=armv5te -mthumb-interwork -msoft-float"
-- fi
-- ;;
- esac
- fi
-
- AC_SUBST(MOZ_THUMB2)
--AC_SUBST(MOZ_ARM_ARCH)
-
- dnl ========================================================
- dnl =
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.8.7-filter_desc.patch b/dev-lang/spidermonkey/files/spidermonkey-1.8.7-filter_desc.patch
deleted file mode 100644
index 65d0a2d..0000000
--- a/dev-lang/spidermonkey/files/spidermonkey-1.8.7-filter_desc.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/js/src/Makefile.in 2012-06-18 13:53:41.000000000 -0400
-+++ b/js/src/Makefile.in 2012-06-18 13:55:44.000000000 -0400
-@@ -965,10 +965,10 @@
- endif
- endif
-
--install:: $(LIBRARY) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
--ifneq (,$(LIBRARY))
-- $(SYSINSTALL) $(LIBRARY) $(DESTDIR)$(libdir)
-- mv -f $(DESTDIR)$(libdir)/$(LIBRARY) $(subst $(STATIC_LIBRARY_NAME),mozjs187-$(SRCREL_ABI_VERSION),$(DESTDIR)$(libdir)/$(LIBRARY))
-+install:: $(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(SHARED_LIBRARY) $(IMPORT_LIBRARY)
-+ifneq (,$(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)))
-+ $(SYSINSTALL) $(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(DESTDIR)$(libdir)
-+ mv -f $(DESTDIR)$(libdir)/$(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)) $(subst $(STATIC_LIBRARY_NAME),mozjs187-$(SRCREL_ABI_VERSION),$(DESTDIR)$(libdir)/$(filter-out %.$(LIBS_DESC_SUFFIX),$(LIBRARY)))
- endif
- ifneq (,$(SHARED_LIBRARY))
- ifeq (,$(HOST_BIN_SUFFIX))
-
diff --git a/dev-lang/spidermonkey/files/spidermonkey-1.9.2.13-as-needed.patch b/dev-lang/spidermonkey/files/spidermonkey-1.9.2.13-as-needed.patch
deleted file mode 100644
index 847bf79..0000000
--- a/dev-lang/spidermonkey/files/spidermonkey-1.9.2.13-as-needed.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/js/src/jsapi-tests/Makefile.in b/js/src/jsapi-tests/Makefile.in
---- a/js/src/jsapi-tests/Makefile.in
-+++ b/js/src/jsapi-tests/Makefile.in
-@@ -55,17 +55,17 @@ CPPSRCS = \
- testSameValue.cpp \
- testDebugger.cpp \
- testDefineGetterSetterNonEnumerable.cpp \
- testExtendedEq.cpp \
- $(NULL)
-
- DEFINES += -DEXPORT_JS_API
-
--LIBS = $(NSPR_LIBS) $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX)
-+LIBS = $(DEPTH)/$(LIB_PREFIX)js_static.$(LIB_SUFFIX) $(NSPR_LIBS)
-
- LOCAL_INCLUDES += -I$(topsrcdir) -I..
-
- ifdef _MSC_VER
- ifdef WINCE
- WIN32_EXE_LDFLAGS += -ENTRY:mainACRTStartup
- endif
- endif
diff --git a/dev-lang/spidermonkey/spidermonkey-1.7.0-r1.ebuild b/dev-lang/spidermonkey/spidermonkey-1.7.0-r1.ebuild
deleted file mode 100644
index b38ada4..0000000
--- a/dev-lang/spidermonkey/spidermonkey-1.7.0-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-inherit eutils toolchain-funcs multilib flag-o-matic
-
-MY_P="js-${PV}"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.gz"
-
-LICENSE="NPL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
-IUSE="threadsafe unicode"
-
-S="${WORKDIR}/js/src"
-
-RDEPEND="threadsafe? ( dev-libs/nspr )"
-
-DEPEND="${RDEPEND}"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- epatch "${FILESDIR}/${PN}-1.5-build.patch"
- epatch "${FILESDIR}/${PN}-1.6-header.patch"
- epatch "${FILESDIR}/${P}-threadsafe.diff"
- if [[ ${CHOST} == *-freebsd* ]]; then
- # Don't try to be smart, this does not work in cross-compile anyway
- ln -s "${S}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk"
- fi
-}
-
-src_compile() {
- use unicode && append-flags "-DJS_C_STRINGS_ARE_UTF8"
- tc-export CC LD AR
- if use threadsafe; then
- emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" JS_THREADSAFE=1 \
- || die "emake with threadsafe enabled failed";
- else
- emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" \
- || die "emake without threadsafe enabled failed";
- fi
-}
-
-src_install() {
- emake -f Makefile.ref install DESTDIR="${D}" LIBDIR="$(get_libdir)" || die
- dodoc ../jsd/README
- dohtml README.html
-}
diff --git a/dev-lang/spidermonkey/spidermonkey-1.7.0-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-1.7.0-r2.ebuild
deleted file mode 100644
index 9fc6671..0000000
--- a/dev-lang/spidermonkey/spidermonkey-1.7.0-r2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-inherit eutils toolchain-funcs multilib flag-o-matic
-
-MY_P="js-${PV}"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.gz"
-
-LICENSE="NPL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
-IUSE="threadsafe unicode"
-
-S="${WORKDIR}/js/src"
-
-RDEPEND="threadsafe? ( dev-libs/nspr )"
-DEPEND="${RDEPEND}"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- epatch "${FILESDIR}/${PN}-1.5-build.patch"
- epatch "${FILESDIR}/${PN}-1.6-header.patch"
- epatch "${FILESDIR}/${P}-threadsafe.diff" \
- "${FILESDIR}"/${P}-ldflags.patch
- if [[ ${CHOST} == *-freebsd* ]]; then
- # Don't try to be smart, this does not work in cross-compile anyway
- ln -s "${S}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk"
- fi
-}
-
-src_compile() {
- use unicode && append-flags "-DJS_C_STRINGS_ARE_UTF8"
- tc-export CC LD AR
- if use threadsafe; then
- emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" JS_THREADSAFE=1 \
- XLDFLAGS="$(raw-ldflags)" HOST_LDFLAGS="${LDFLAGS}" \
- || die "emake with threadsafe enabled failed";
- else
- emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" XLDFLAGS="$(raw-ldflags)" \
- HOST_LDFLAGS="${LDFLAGS}" || die "emake without threadsafe enabled failed";
- fi
-}
-
-src_install() {
- emake -f Makefile.ref install DESTDIR="${D}" LIBDIR="$(get_libdir)" || die
- dodoc ../jsd/README
- dohtml README.html
-}
diff --git a/dev-lang/spidermonkey/spidermonkey-1.7.0.ebuild b/dev-lang/spidermonkey/spidermonkey-1.7.0.ebuild
deleted file mode 100644
index 2a130bc..0000000
--- a/dev-lang/spidermonkey/spidermonkey-1.7.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-inherit eutils toolchain-funcs multilib
-
-MY_P="js-${PV}"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
-SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.gz"
-
-LICENSE="NPL-1.1"
-SLOT="0"
-KEYWORDS="alpha amd64 ~arm ppc ppc64 sparc x86 ~x86-fbsd"
-IUSE="threadsafe"
-
-S="${WORKDIR}/js/src"
-
-RDEPEND="threadsafe? ( dev-libs/nspr )"
-
-DEPEND="${RDEPEND}"
-
-src_unpack() {
- unpack ${A}
- cd "${S}"
- epatch "${FILESDIR}/${PN}-1.5-build.patch"
- epatch "${FILESDIR}/${PN}-1.6-header.patch"
- epatch "${FILESDIR}/${P}-threadsafe.diff"
- if [[ ${CHOST} == *-freebsd* ]]; then
- # Don't try to be smart, this does not work in cross-compile anyway
- ln -s "${S}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk"
- fi
-}
-
-src_compile() {
- tc-export CC LD AR
- if use threadsafe; then
- emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" JS_THREADSAFE=1 \
- || die "emake with threadsafe enabled failed";
- else
- emake -j1 -f Makefile.ref LIBDIR="$(get_libdir)" \
- || die "emake without threadsafe enabled failed";
- fi
-}
-
-src_install() {
- emake -f Makefile.ref install DESTDIR="${D}" LIBDIR="$(get_libdir)" || die
- dodoc ../jsd/README
- dohtml README.html
-}
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.2.15-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.2.15-r2.ebuild
deleted file mode 100644
index da38130..0000000
--- a/dev-lang/spidermonkey/spidermonkey-1.8.2.15-r2.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="5"
-PYTHON_COMPAT=( python2_7 )
-PYTHON_REQ_USE="threads"
-inherit eutils toolchain-funcs multilib python-any-r1
-
-MY_PV="${PV}"
-MY_PV="${MY_PV/1.8.2/3.6}"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
-REL_URI="http://releases.mozilla.org/pub/mozilla.org/firefox/releases"
-SRC_URI="${REL_URI}/${MY_PV}/source/firefox-${MY_PV}.source.tar.bz2"
-
-LICENSE="NPL-1.1"
-SLOT="0/mozjs"
-KEYWORDS="alpha amd64 arm ppc ppc64 sparc x86 ~x86-fbsd ~x64-macos ~x86-macos"
-IUSE="threadsafe"
-
-S="${WORKDIR}/mozilla-1.9.2"
-BUILDDIR="${S}/js/src"
-
-RDEPEND="threadsafe? ( >=dev-libs/nspr-4.8.6 )"
-
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- app-arch/zip
- virtual/pkgconfig"
-
-src_prepare() {
- epatch "${FILESDIR}/${PN}-1.9.2.13-as-needed.patch"
-
- epatch_user
-
- if [[ ${CHOST} == *-freebsd* ]]; then
- # Don't try to be smart, this does not work in cross-compile anyway
- ln -s "${BUILDDIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk"
- fi
-}
-
-src_configure() {
- cd "${BUILDDIR}" || die
-
- local myconf
-
- use threadsafe && myconf="${myconf} \
- --with-system-nspr --enable-threadsafe"
-
- # Disable no-print-directory
- MAKEOPTS=${MAKEOPTS/--no-print-directory/}
-
- CC="$(tc-getCC)" CXX="$(tc-getCXX)" \
- AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" \
- LD="$(tc-getLD)" econf \
- ${myconf}
-}
-
-src_compile() {
- cd "${BUILDDIR}" || die
- emake -j1
-}
-
-src_install() {
- cd "${BUILDDIR}" || die
- emake install DESTDIR="${D}"
- dobin shell/js
- dodoc ../jsd/README
- dohtml README.html
-
- if [[ ${CHOST} == *-darwin* ]] ; then
- # fixup install_name
- install_name_tool -id "${EPREFIX}"/usr/$(get_libdir)/libmozjs.dylib \
- "${ED}"/usr/$(get_libdir)/libmozjs.dylib || die
- fi
-}
^ permalink raw reply related [flat|nested] 24+ messages in thread
end of thread, other threads:[~2025-07-01 16:15 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-31 14:24 [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/files/, dev-lang/spidermonkey/ Matt Turner
-- strict thread matches above, loose matches on Subject: below --
2025-07-01 16:15 Joonas Niilola
2025-05-19 5:11 Joonas Niilola
2024-12-09 7:33 Joonas Niilola
2024-08-08 11:22 Joonas Niilola
2024-01-24 6:23 Joonas Niilola
2022-11-24 13:38 Joonas Niilola
2022-11-24 7:21 Sam James
2022-11-24 3:08 Sam James
2022-08-10 8:31 Joonas Niilola
2022-05-16 13:58 Joonas Niilola
2022-03-12 18:03 Matt Turner
2022-01-18 11:03 Joonas Niilola
2019-07-25 15:37 Jory Pratt
2019-07-25 15:37 Jory Pratt
2019-06-18 12:19 Jory Pratt
2018-01-13 1:48 Ian Stakenvicius
2017-10-03 20:51 Ian Stakenvicius
2017-02-28 20:42 Ian Stakenvicius
2017-02-28 18:49 Ian Stakenvicius
2017-02-27 23:39 Ian Stakenvicius
2016-09-01 21:03 Ian Stakenvicius
2016-06-11 0:01 Ian Stakenvicius
2016-02-23 15:11 Ian Stakenvicius
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox