Gentoo Archives: gentoo-commits

From: Joonas Niilola <juippis@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/spidermonkey/
Date: Thu, 24 Nov 2022 13:38:15
Message-Id: 1669297024.de83b6dedd7b1e81fc74d8a8eafefaae7948e229.juippis@gentoo
1 commit: de83b6dedd7b1e81fc74d8a8eafefaae7948e229
2 Author: Joonas Niilola <juippis <AT> gentoo <DOT> org>
3 AuthorDate: Thu Nov 24 13:36:41 2022 +0000
4 Commit: Joonas Niilola <juippis <AT> gentoo <DOT> org>
5 CommitDate: Thu Nov 24 13:37:04 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=de83b6de
7
8 dev-lang/spidermonkey: drop 91.11.0, 91.13.0
9
10 Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>
11
12 dev-lang/spidermonkey/Manifest | 2 -
13 dev-lang/spidermonkey/spidermonkey-91.11.0.ebuild | 452 ---------------------
14 dev-lang/spidermonkey/spidermonkey-91.13.0.ebuild | 456 ----------------------
15 3 files changed, 910 deletions(-)
16
17 diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
18 index ee6062b4db0f..0f972083e53f 100644
19 --- a/dev-lang/spidermonkey/Manifest
20 +++ b/dev-lang/spidermonkey/Manifest
21 @@ -3,10 +3,8 @@ DIST firefox-102.5.0esr.source.tar.xz 478705384 BLAKE2B ee005b0e75151e39a9f34ab3
22 DIST firefox-102esr-patches-04j.tar.xz 21860 BLAKE2B 1cc1d6493912f85e71cb5a0ec2c3196cda203242f3503bb6ce8c23a93e71a6e8b1138f88498a6a9698066134cc234989b35cb378693fb2cbc9ba4caa8d66761d SHA512 9f7188dd79b9856826ae2a60b0109c2c86c60c10b03cd1828a9f7a7576df5c49ed3e11e4d3319d80e117204d6bc3408e375a62ad16ec8d2e53f999cd298811d8
23 DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378
24 DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a
25 -DIST firefox-91.11.0esr.source.tar.xz 384459848 BLAKE2B cff327378a1712d0dfb99e1a67bd63e958987e3147279af5f98ee9318fe91f42823bbc9afb0308638e42de789451b04ea895320a8c674cc221e0d4b0b1d80f38 SHA512 bff3a399c03bd1cdaaec0b6963b1558aa35b6338b6c02042ffd65fec0aedd344d01718692e881332f5f352c32da15ba09a20a09ee072200b47ae840bc0585a96
26 DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516
27 DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c
28 DIST spidermonkey-102-patches-04j.tar.xz 3996 BLAKE2B 468697521adacc5d647b04f2228fc4c1a8131bc2523142f2d57f32e321303581ae8f793baae48966ecb27f48bf77eb084f7b2df1c1a0c667e9ed59ae93d786e6 SHA512 201bb779e2373cc00dfadc29a62b593030dfc12eec076114b92927f29f476d3fafdd056112dd1bb1f19f82827f4fe1252141e3998bec719e4196737a316d4ef2
29 DIST spidermonkey-78-patches-04.tar.xz 3408 BLAKE2B f2fdd4882e1e4de1908c458dc8dfedd5665ef7118f19704dabf2b2a80e2fae48813e9bc3d0c3410287e32c21e3f9d09233d8e5d15917f53aa2f60e6190cd9cdb SHA512 87ac83c0ccc05f482913b1fbf043db1878536f935f934362a47283809c0cbfdeff040206a9c18c687384b606ba8a7bd9a7c1fc3c0bcfdd620987990a33ca1fe2
30 -DIST spidermonkey-91-patches-04j.tar.xz 4624 BLAKE2B d9cf47b39a165e8434d4f2f20ae3a9734c1bb81c32ddb75360e5edfa6817d6343be89aff0f8ec381485772cad80b00a069789decbc462129161afc3d4acfcb53 SHA512 bd574fee600cb4c6a262893b7d992d85c4059d512b829cd2f226aff86d8a6a83c2bdab466704e22f64bf6d29f90901037a34f9e90a42251952ba1cdbc0cab968
31 DIST spidermonkey-91-patches-05j.tar.xz 5964 BLAKE2B 13f09f77bf16bc61b03c9488b7ab521552e179bfb123e390d0883ea4a3f55e87e0a5d5a246f31a9ddc35f212ea84655fe9d4fc364bbdddc1aac421eb28dbe41f SHA512 4d9cf21b712234ff6a18554a010badd756028e6147597040c423f7e27d260e3984938f956d9bc3572557163a144345ed28d9f88e459fc959aaa6fd448f6deab7
32
33 diff --git a/dev-lang/spidermonkey/spidermonkey-91.11.0.ebuild b/dev-lang/spidermonkey/spidermonkey-91.11.0.ebuild
34 deleted file mode 100644
35 index 787d955a13d0..000000000000
36 --- a/dev-lang/spidermonkey/spidermonkey-91.11.0.ebuild
37 +++ /dev/null
38 @@ -1,452 +0,0 @@
39 -# Copyright 1999-2022 Gentoo Authors
40 -# Distributed under the terms of the GNU General Public License v2
41 -
42 -EAPI="8"
43 -
44 -# Patch version
45 -FIREFOX_PATCHSET="firefox-91esr-patches-10j.tar.xz"
46 -SPIDERMONKEY_PATCHSET="spidermonkey-91-patches-04j.tar.xz"
47 -
48 -LLVM_MAX_SLOT=14
49 -
50 -PYTHON_COMPAT=( python3_{8..10} )
51 -PYTHON_REQ_USE="ssl,xml(+)"
52 -
53 -WANT_AUTOCONF="2.1"
54 -
55 -inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
56 -
57 -MY_PN="mozjs"
58 -MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
59 -
60 -MY_MAJOR=$(ver_cut 1)
61 -
62 -MOZ_ESR=yes
63 -
64 -MOZ_PV=${PV}
65 -MOZ_PV_SUFFIX=
66 -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
67 - MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
68 -
69 - # Convert the ebuild version to the upstream Mozilla version
70 - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
71 - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
72 - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
73 -fi
74 -
75 -if [[ -n ${MOZ_ESR} ]] ; then
76 - # ESR releases have slightly different version numbers
77 - MOZ_PV="${MOZ_PV}esr"
78 -fi
79 -
80 -MOZ_PN="firefox"
81 -MOZ_P="${MOZ_PN}-${MOZ_PV}"
82 -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
83 -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
84 -
85 -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
86 -
87 -if [[ ${PV} == *_rc* ]] ; then
88 - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
89 -fi
90 -
91 -PATCH_URIS=(
92 - https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
93 - https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
94 -)
95 -
96 -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
97 - ${PATCH_URIS[@]}"
98 -
99 -DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
100 -HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
101 -
102 -KEYWORDS="amd64 arm arm64 ~mips ~ppc ppc64 ~riscv x86"
103 -
104 -SLOT="91"
105 -LICENSE="MPL-2.0"
106 -IUSE="clang cpu_flags_arm_neon debug +jit lto test"
107 -
108 -#RESTRICT="test"
109 -RESTRICT="!test? ( test )"
110 -
111 -BDEPEND="${PYTHON_DEPS}
112 - >=virtual/rust-1.51.0
113 - virtual/pkgconfig
114 - test? (
115 - $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
116 - )
117 - || (
118 - (
119 - sys-devel/llvm:14
120 - clang? (
121 - sys-devel/clang:14
122 - lto? ( =sys-devel/lld-14* )
123 - )
124 - )
125 - (
126 - sys-devel/llvm:13
127 - clang? (
128 - sys-devel/clang:13
129 - lto? ( =sys-devel/lld-13* )
130 - )
131 - )
132 - (
133 - sys-devel/llvm:12
134 - clang? (
135 - sys-devel/clang:12
136 - lto? ( =sys-devel/lld-12* )
137 - )
138 - )
139 - )"
140 -DEPEND=">=dev-libs/icu-69.1:=
141 - dev-libs/nspr
142 - sys-libs/readline:0=
143 - sys-libs/zlib"
144 -RDEPEND="${DEPEND}"
145 -
146 -S="${WORKDIR}/firefox-${MY_PV}/js/src"
147 -
148 -llvm_check_deps() {
149 - if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
150 - einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
151 - return 1
152 - fi
153 -
154 - if use clang ; then
155 - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
156 - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
157 - return 1
158 - fi
159 -
160 - if use lto ; then
161 - if ! has_version -b "=sys-devel/lld-${LLVM_SLOT}*" ; then
162 - einfo "=sys-devel/lld-${LLVM_SLOT}* is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
163 - return 1
164 - fi
165 - fi
166 - fi
167 -
168 - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
169 -}
170 -
171 -python_check_deps() {
172 - if use test ; then
173 - python_has_version "dev-python/six[${PYTHON_USEDEP}]"
174 - fi
175 -}
176 -
177 -pkg_pretend() {
178 - if use test ; then
179 - CHECKREQS_DISK_BUILD="7600M"
180 - else
181 - CHECKREQS_DISK_BUILD="6400M"
182 - fi
183 -
184 - check-reqs_pkg_pretend
185 -}
186 -
187 -pkg_setup() {
188 - if [[ ${MERGE_TYPE} != binary ]] ; then
189 - if use test ; then
190 - CHECKREQS_DISK_BUILD="7600M"
191 - else
192 - CHECKREQS_DISK_BUILD="6400M"
193 - fi
194 -
195 - check-reqs_pkg_setup
196 -
197 - llvm_pkg_setup
198 -
199 - if use clang && use lto ; then
200 - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
201 - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
202 - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
203 -
204 - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
205 - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
206 - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
207 -
208 - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
209 - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
210 - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
211 - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
212 - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
213 - eerror " - Build ${CATEGORY}/${PN} without USE=lto"
214 - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
215 - eerror " llvm/clang/lld/rust chain depending on your @world updates)"
216 - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
217 - fi
218 - fi
219 -
220 - python-any-r1_pkg_setup
221 -
222 - # Build system is using /proc/self/oom_score_adj, bug #604394
223 - addpredict /proc/self/oom_score_adj
224 -
225 - if ! mountpoint -q /dev/shm ; then
226 - # If /dev/shm is not available, configure is known to fail with
227 - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
228 - ewarn "/dev/shm is not mounted -- expect build failures!"
229 - fi
230 -
231 - # Ensure we use C locale when building, bug #746215
232 - export LC_ALL=C
233 - fi
234 -}
235 -
236 -src_prepare() {
237 - pushd ../.. &>/dev/null || die
238 -
239 - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
240 -
241 - eapply "${WORKDIR}"/firefox-patches
242 - eapply "${WORKDIR}"/spidermonkey-patches
243 -
244 - default
245 -
246 - # Make cargo respect MAKEOPTS
247 - export CARGO_BUILD_JOBS="$(makeopts_jobs)"
248 -
249 - # sed-in toolchain prefix
250 - sed -i \
251 - -e "s/objdump/${CHOST}-objdump/" \
252 - python/mozbuild/mozbuild/configure/check_debug_ranges.py \
253 - || die "sed failed to set toolchain prefix"
254 -
255 - # use prefix shell in wrapper linker scripts, bug #789660
256 - hprefixify "${S}"/../../build/cargo-{,host-}linker
257 -
258 - einfo "Removing pre-built binaries ..."
259 - find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
260 -
261 - MOZJS_BUILDDIR="${WORKDIR}/build"
262 - mkdir "${MOZJS_BUILDDIR}" || die
263 -
264 - popd &>/dev/null || die
265 - eautoconf
266 -}
267 -
268 -src_configure() {
269 - # Show flags set at the beginning
270 - einfo "Current CFLAGS: ${CFLAGS}"
271 - einfo "Current CXXFLAGS: ${CXXFLAGS}"
272 - einfo "Current LDFLAGS: ${LDFLAGS}"
273 - einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
274 -
275 - local have_switched_compiler=
276 - if use clang && ! tc-is-clang ; then
277 - # Force clang
278 - einfo "Enforcing the use of clang due to USE=clang ..."
279 - have_switched_compiler=yes
280 - AR=llvm-ar
281 - CC=${CHOST}-clang
282 - CXX=${CHOST}-clang++
283 - NM=llvm-nm
284 - RANLIB=llvm-ranlib
285 - elif ! use clang && ! tc-is-gcc ; then
286 - # Force gcc
287 - have_switched_compiler=yes
288 - einfo "Enforcing the use of gcc due to USE=-clang ..."
289 - AR=gcc-ar
290 - CC=${CHOST}-gcc
291 - CXX=${CHOST}-g++
292 - NM=gcc-nm
293 - RANLIB=gcc-ranlib
294 - fi
295 -
296 - if [[ -n "${have_switched_compiler}" ]] ; then
297 - # Because we switched active compiler we have to ensure
298 - # that no unsupported flags are set
299 - strip-unsupported-flags
300 - fi
301 -
302 - # Ensure we use correct toolchain
303 - export HOST_CC="$(tc-getBUILD_CC)"
304 - export HOST_CXX="$(tc-getBUILD_CXX)"
305 - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
306 -
307 - cd "${MOZJS_BUILDDIR}" || die
308 -
309 - # ../python/mach/mach/mixin/process.py fails to detect SHELL
310 - export SHELL="${EPREFIX}/bin/bash"
311 -
312 - local -a myeconfargs=(
313 - --host="${CBUILD:-${CHOST}}"
314 - --target="${CHOST}"
315 - --disable-ctype
316 - --disable-jemalloc
317 - --disable-optimize
318 - --disable-smoosh
319 - --disable-strip
320 - --enable-readline
321 - --enable-release
322 - --enable-shared-js
323 - --with-intl-api
324 - --with-system-icu
325 - --with-system-nspr
326 - --with-system-zlib
327 - --with-toolchain-prefix="${CHOST}-"
328 - $(use_enable debug)
329 - $(use_enable jit)
330 - $(use_enable test tests)
331 - )
332 -
333 - if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
334 - myeconfargs+=( --enable-rust-simd )
335 - fi
336 -
337 - # Modifications to better support ARM, bug 717344
338 - if use cpu_flags_arm_neon ; then
339 - myeconfargs+=( --with-fpu=neon )
340 -
341 - if ! tc-is-clang ; then
342 - # thumb options aren't supported when using clang, bug 666966
343 - myeconfargs+=( --with-thumb=yes )
344 - myeconfargs+=( --with-thumb-interwork=no )
345 - fi
346 - fi
347 -
348 - # Tell build system that we want to use LTO
349 - if use lto ; then
350 - if use clang ; then
351 - myeconfargs+=( --enable-linker=lld )
352 - myeconfargs+=( --enable-lto=cross )
353 - else
354 - myeconfargs+=( --enable-linker=bfd )
355 - myeconfargs+=( --enable-lto )
356 - fi
357 - fi
358 -
359 - # LTO flag was handled via configure
360 - filter-flags '-flto*'
361 -
362 - if tc-is-gcc ; then
363 - if ver_test $(gcc-fullversion) -ge 10 ; then
364 - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
365 - append-cxxflags -fno-tree-loop-vectorize
366 - fi
367 - fi
368 -
369 - export MACH_USE_SYSTEM_PYTHON=1
370 - export PIP_NO_CACHE_DIR=off
371 -
372 - # Show flags we will use
373 - einfo "Build CFLAGS: ${CFLAGS}"
374 - einfo "Build CXXFLAGS: ${CXXFLAGS}"
375 - einfo "Build LDFLAGS: ${LDFLAGS}"
376 - einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
377 -
378 - # Forcing system-icu allows us to skip patching bundled ICU for PPC
379 - # and other minor arches
380 - ECONF_SOURCE="${S}" \
381 - econf \
382 - ${myeconfargs[@]} \
383 - XARGS="${EPREFIX}/usr/bin/xargs"
384 -}
385 -
386 -src_compile() {
387 - cd "${MOZJS_BUILDDIR}" || die
388 - default
389 -}
390 -
391 -src_test() {
392 - if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
393 - einfo "Smoke-test successful, continuing with full test suite"
394 - else
395 - die "Smoke-test failed: did interpreter initialization fail?"
396 - fi
397 -
398 - cp "${FILESDIR}"/spidermonkey-91-known-test-failures.txt "${T}"/known_failures.list || die
399 -
400 - # bgo #827960
401 - if use ppc; then
402 - echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list
403 - echo "test262/built-ins/Atomics/load/bigint/good-views.js" >> "${T}"/known_failures.list
404 - echo "test262/built-ins/Atomics/load/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
405 - echo "test262/built-ins/Atomics/add/bigint/good-views.js" >> "${T}"/known_failures.list
406 - echo "test262/built-ins/Atomics/add/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
407 - echo "test262/built-ins/Atomics/exchange/bigint/good-views.js" >> "${T}"/known_failures.list
408 - echo "test262/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
409 - echo "test262/built-ins/Atomics/store/bigint/good-views.js" >> "${T}"/known_failures.list
410 - echo "test262/built-ins/Atomics/store/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
411 - echo "test262/built-ins/Atomics/xor/bigint/good-views.js" >> "${T}"/known_failures.list
412 - echo "test262/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
413 - echo "test262/built-ins/Atomics/sub/bigint/good-views.js" >> "${T}"/known_failures.list
414 - echo "test262/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
415 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js" >> "${T}"/known_failures.list
416 - echo "test262/built-ins/Atomics/and/bigint/good-views.js" >> "${T}"/known_failures.list
417 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js" >> "${T}"/known_failures.list
418 - echo "test262/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js" >> "${T}"/known_failures.list
419 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js" >> "${T}"/known_failures.list
420 - echo "test262/built-ins/Atomics/or/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
421 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js" >> "${T}"/known_failures.list
422 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js" >> "${T}"/known_failures.list
423 - echo "test262/built-ins/Atomics/wait/bigint/negative-timeout-agent.js" >> "${T}"/known_failures.list
424 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js" >> "${T}"/known_failures.list
425 - echo "test262/built-ins/Atomics/wait/bigint/value-not-equal.js" >> "${T}"/known_failures.list
426 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js" >> "${T}"/known_failures.list
427 - echo "test262/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js" >> "${T}"/known_failures.list
428 - echo "test262/built-ins/Atomics/wait/bigint/nan-for-timeout.js" >> "${T}"/known_failures.list
429 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js" >> "${T}"/known_failures.list
430 - echo "test262/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js" >> "${T}"/known_failures.list
431 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js" >> "${T}"/known_failures.list
432 - echo "test262/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js" >> "${T}"/known_failures.list
433 - echo "test262/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
434 - echo "test262/built-ins/Atomics/compareExchange/bigint/good-views.js" >> "${T}"/known_failures.list
435 - echo "test262/built-ins/Atomics/and/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
436 - echo "test262/built-ins/Atomics/or/bigint/good-views.js" >> "${T}"/known_failures.list
437 - echo "test262/built-ins/Atomics/notify/bigint/notify-all-on-loc.js" >> "${T}"/known_failures.list
438 - fi
439 -
440 - if use x86 ; then
441 - echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
442 - echo "test262/built-ins/Number/prototype/toPrecision/return-values.js" >> "${T}"/known_failures.list
443 - echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
444 - echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
445 - fi
446 -
447 - if [[ $(tc-endian) == "big" ]] ; then
448 - echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
449 - echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
450 - echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
451 - fi
452 -
453 - ${EPYTHON} \
454 - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
455 - --exclude-file="${T}"/known_failures.list \
456 - "${MOZJS_BUILDDIR}"/js/src/js \
457 - || die
458 -
459 - if use jit ; then
460 - ${EPYTHON} \
461 - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
462 - --exclude-file="${T}"/known_failures.list \
463 - "${MOZJS_BUILDDIR}"/js/src/js basic \
464 - || die
465 - fi
466 -}
467 -
468 -src_install() {
469 - cd "${MOZJS_BUILDDIR}" || die
470 - default
471 -
472 - # fix soname links
473 - pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
474 - mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
475 - ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
476 - ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
477 - popd &>/dev/null || die
478 -
479 - # remove unneeded files
480 - rm \
481 - "${ED}"/usr/bin/js${MY_MAJOR}-config \
482 - "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
483 - || die
484 -
485 - # fix permissions
486 - chmod -x \
487 - "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
488 - "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
489 - || die
490 -}
491
492 diff --git a/dev-lang/spidermonkey/spidermonkey-91.13.0.ebuild b/dev-lang/spidermonkey/spidermonkey-91.13.0.ebuild
493 deleted file mode 100644
494 index aec3404827c1..000000000000
495 --- a/dev-lang/spidermonkey/spidermonkey-91.13.0.ebuild
496 +++ /dev/null
497 @@ -1,456 +0,0 @@
498 -# Copyright 1999-2022 Gentoo Authors
499 -# Distributed under the terms of the GNU General Public License v2
500 -
501 -EAPI="8"
502 -
503 -# Patch version
504 -FIREFOX_PATCHSET="firefox-91esr-patches-10j.tar.xz"
505 -SPIDERMONKEY_PATCHSET="spidermonkey-91-patches-04j.tar.xz"
506 -
507 -LLVM_MAX_SLOT=14
508 -
509 -PYTHON_COMPAT=( python3_{8..10} )
510 -PYTHON_REQ_USE="ssl,xml(+)"
511 -
512 -WANT_AUTOCONF="2.1"
513 -
514 -inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs
515 -
516 -MY_PN="mozjs"
517 -MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
518 -
519 -MY_MAJOR=$(ver_cut 1)
520 -
521 -MOZ_ESR=yes
522 -
523 -MOZ_PV=${PV}
524 -MOZ_PV_SUFFIX=
525 -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then
526 - MOZ_PV_SUFFIX=${BASH_REMATCH[1]}
527 -
528 - # Convert the ebuild version to the upstream Mozilla version
529 - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI
530 - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI
531 - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI
532 -fi
533 -
534 -if [[ -n ${MOZ_ESR} ]] ; then
535 - # ESR releases have slightly different version numbers
536 - MOZ_PV="${MOZ_PV}esr"
537 -fi
538 -
539 -MOZ_PN="firefox"
540 -MOZ_P="${MOZ_PN}-${MOZ_PV}"
541 -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}"
542 -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}"
543 -
544 -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}"
545 -
546 -if [[ ${PV} == *_rc* ]] ; then
547 - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}"
548 -fi
549 -
550 -PATCH_URIS=(
551 - https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${FIREFOX_PATCHSET}
552 - https://dev.gentoo.org/~{juippis,polynomial-c,whissi}/mozilla/patchsets/${SPIDERMONKEY_PATCHSET}
553 -)
554 -
555 -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz
556 - ${PATCH_URIS[@]}"
557 -
558 -DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++"
559 -HOMEPAGE="https://spidermonkey.dev https://firefox-source-docs.mozilla.org/js/index.html "
560 -
561 -KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv sparc x86"
562 -
563 -SLOT="91"
564 -LICENSE="MPL-2.0"
565 -IUSE="clang cpu_flags_arm_neon debug +jit lto test"
566 -
567 -#RESTRICT="test"
568 -RESTRICT="!test? ( test )"
569 -
570 -BDEPEND="${PYTHON_DEPS}
571 - >=virtual/rust-1.51.0
572 - virtual/pkgconfig
573 - test? (
574 - $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]')
575 - )
576 - || (
577 - (
578 - sys-devel/llvm:14
579 - clang? (
580 - sys-devel/clang:14
581 - lto? ( =sys-devel/lld-14* )
582 - )
583 - )
584 - (
585 - sys-devel/llvm:13
586 - clang? (
587 - sys-devel/clang:13
588 - lto? ( =sys-devel/lld-13* )
589 - )
590 - )
591 - (
592 - sys-devel/llvm:12
593 - clang? (
594 - sys-devel/clang:12
595 - lto? ( =sys-devel/lld-12* )
596 - )
597 - )
598 - )"
599 -DEPEND=">=dev-libs/icu-69.1:=
600 - dev-libs/nspr
601 - sys-libs/readline:0=
602 - sys-libs/zlib"
603 -RDEPEND="${DEPEND}"
604 -
605 -S="${WORKDIR}/firefox-${MY_PV}/js/src"
606 -
607 -llvm_check_deps() {
608 - if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then
609 - einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
610 - return 1
611 - fi
612 -
613 - if use clang ; then
614 - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
615 - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
616 - return 1
617 - fi
618 -
619 - if use lto ; then
620 - if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then
621 - einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
622 - return 1
623 - fi
624 - fi
625 - fi
626 -
627 - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2
628 -}
629 -
630 -python_check_deps() {
631 - if use test ; then
632 - python_has_version "dev-python/six[${PYTHON_USEDEP}]"
633 - fi
634 -}
635 -
636 -pkg_pretend() {
637 - if use test ; then
638 - CHECKREQS_DISK_BUILD="7600M"
639 - else
640 - CHECKREQS_DISK_BUILD="6400M"
641 - fi
642 -
643 - check-reqs_pkg_pretend
644 -}
645 -
646 -pkg_setup() {
647 - if [[ ${MERGE_TYPE} != binary ]] ; then
648 - if use test ; then
649 - CHECKREQS_DISK_BUILD="7600M"
650 - else
651 - CHECKREQS_DISK_BUILD="6400M"
652 - fi
653 -
654 - check-reqs_pkg_setup
655 -
656 - llvm_pkg_setup
657 -
658 - if use clang && use lto ; then
659 - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }')
660 - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}")
661 - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!"
662 -
663 - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }')
664 - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}")
665 - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!"
666 -
667 - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then
668 - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}."
669 - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:"
670 - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version"
671 - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version"
672 - eerror " - Build ${CATEGORY}/${PN} without USE=lto"
673 - eerror " - Rebuild lld with llvm that was used to build rust (may need to rebuild the whole "
674 - eerror " llvm/clang/lld/rust chain depending on your @world updates)"
675 - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!"
676 - fi
677 - fi
678 -
679 - python-any-r1_pkg_setup
680 -
681 - # Build system is using /proc/self/oom_score_adj, bug #604394
682 - addpredict /proc/self/oom_score_adj
683 -
684 - if ! mountpoint -q /dev/shm ; then
685 - # If /dev/shm is not available, configure is known to fail with
686 - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py
687 - ewarn "/dev/shm is not mounted -- expect build failures!"
688 - fi
689 -
690 - # Ensure we use C locale when building, bug #746215
691 - export LC_ALL=C
692 - fi
693 -}
694 -
695 -src_prepare() {
696 - pushd ../.. &>/dev/null || die
697 -
698 - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch
699 -
700 - eapply "${WORKDIR}"/firefox-patches
701 - eapply "${WORKDIR}"/spidermonkey-patches
702 -
703 - default
704 -
705 - # Make cargo respect MAKEOPTS
706 - export CARGO_BUILD_JOBS="$(makeopts_jobs)"
707 -
708 - # sed-in toolchain prefix
709 - sed -i \
710 - -e "s/objdump/${CHOST}-objdump/" \
711 - python/mozbuild/mozbuild/configure/check_debug_ranges.py \
712 - || die "sed failed to set toolchain prefix"
713 -
714 - # use prefix shell in wrapper linker scripts, bug #789660
715 - hprefixify "${S}"/../../build/cargo-{,host-}linker
716 -
717 - einfo "Removing pre-built binaries ..."
718 - find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die
719 -
720 - MOZJS_BUILDDIR="${WORKDIR}/build"
721 - mkdir "${MOZJS_BUILDDIR}" || die
722 -
723 - popd &>/dev/null || die
724 - eautoconf
725 -}
726 -
727 -src_configure() {
728 - # Show flags set at the beginning
729 - einfo "Current CFLAGS: ${CFLAGS}"
730 - einfo "Current CXXFLAGS: ${CXXFLAGS}"
731 - einfo "Current LDFLAGS: ${LDFLAGS}"
732 - einfo "Current RUSTFLAGS: ${RUSTFLAGS}"
733 -
734 - local have_switched_compiler=
735 - if use clang; then
736 - # Force clang
737 - einfo "Enforcing the use of clang due to USE=clang ..."
738 - if tc-is-gcc; then
739 - have_switched_compiler=yes
740 - fi
741 - AR=llvm-ar
742 - CC=${CHOST}-clang
743 - CXX=${CHOST}-clang++
744 - NM=llvm-nm
745 - RANLIB=llvm-ranlib
746 - elif ! use clang && ! tc-is-gcc ; then
747 - # Force gcc
748 - have_switched_compiler=yes
749 - einfo "Enforcing the use of gcc due to USE=-clang ..."
750 - AR=gcc-ar
751 - CC=${CHOST}-gcc
752 - CXX=${CHOST}-g++
753 - NM=gcc-nm
754 - RANLIB=gcc-ranlib
755 - fi
756 -
757 - if [[ -n "${have_switched_compiler}" ]] ; then
758 - # Because we switched active compiler we have to ensure
759 - # that no unsupported flags are set
760 - strip-unsupported-flags
761 - fi
762 -
763 - # Ensure we use correct toolchain
764 - export HOST_CC="$(tc-getBUILD_CC)"
765 - export HOST_CXX="$(tc-getBUILD_CXX)"
766 - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG
767 -
768 - cd "${MOZJS_BUILDDIR}" || die
769 -
770 - # ../python/mach/mach/mixin/process.py fails to detect SHELL
771 - export SHELL="${EPREFIX}/bin/bash"
772 -
773 - local -a myeconfargs=(
774 - --host="${CBUILD:-${CHOST}}"
775 - --target="${CHOST}"
776 - --disable-ctype
777 - --disable-jemalloc
778 - --disable-optimize
779 - --disable-smoosh
780 - --disable-strip
781 - --enable-readline
782 - --enable-release
783 - --enable-shared-js
784 - --with-intl-api
785 - --with-system-icu
786 - --with-system-nspr
787 - --with-system-zlib
788 - --with-toolchain-prefix="${CHOST}-"
789 - $(use_enable debug)
790 - $(use_enable jit)
791 - $(use_enable test tests)
792 - )
793 -
794 - # Temporary fix with rust-1.63, bgo#870193
795 - # if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then
796 - # myeconfargs+=( --enable-rust-simd )
797 - # fi
798 - myeconfargs+=( --disable-rust-simd )
799 -
800 - # Modifications to better support ARM, bug 717344
801 - if use cpu_flags_arm_neon ; then
802 - myeconfargs+=( --with-fpu=neon )
803 -
804 - if ! tc-is-clang ; then
805 - # thumb options aren't supported when using clang, bug 666966
806 - myeconfargs+=( --with-thumb=yes )
807 - myeconfargs+=( --with-thumb-interwork=no )
808 - fi
809 - fi
810 -
811 - # Tell build system that we want to use LTO
812 - if use lto ; then
813 - if use clang ; then
814 - myeconfargs+=( --enable-linker=lld )
815 - myeconfargs+=( --enable-lto=cross )
816 - else
817 - myeconfargs+=( --enable-linker=bfd )
818 - myeconfargs+=( --enable-lto )
819 - fi
820 - fi
821 -
822 - # LTO flag was handled via configure
823 - filter-flags '-flto*'
824 -
825 - if tc-is-gcc ; then
826 - if ver_test $(gcc-fullversion) -ge 10 ; then
827 - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..."
828 - append-cxxflags -fno-tree-loop-vectorize
829 - fi
830 - fi
831 -
832 - export MACH_USE_SYSTEM_PYTHON=1
833 - export PIP_NO_CACHE_DIR=off
834 -
835 - # Show flags we will use
836 - einfo "Build CFLAGS: ${CFLAGS}"
837 - einfo "Build CXXFLAGS: ${CXXFLAGS}"
838 - einfo "Build LDFLAGS: ${LDFLAGS}"
839 - einfo "Build RUSTFLAGS: ${RUSTFLAGS}"
840 -
841 - # Forcing system-icu allows us to skip patching bundled ICU for PPC
842 - # and other minor arches
843 - ECONF_SOURCE="${S}" \
844 - econf \
845 - ${myeconfargs[@]} \
846 - XARGS="${EPREFIX}/usr/bin/xargs"
847 -}
848 -
849 -src_compile() {
850 - cd "${MOZJS_BUILDDIR}" || die
851 - default
852 -}
853 -
854 -src_test() {
855 - if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then
856 - einfo "Smoke-test successful, continuing with full test suite"
857 - else
858 - die "Smoke-test failed: did interpreter initialization fail?"
859 - fi
860 -
861 - cp "${FILESDIR}"/spidermonkey-91-known-test-failures.txt "${T}"/known_failures.list || die
862 -
863 - # bgo #827960
864 - if use ppc; then
865 - echo "non262/TypedArray/map-and-filter.js" >> "${T}"/known_failures.list
866 - echo "test262/built-ins/Atomics/load/bigint/good-views.js" >> "${T}"/known_failures.list
867 - echo "test262/built-ins/Atomics/load/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
868 - echo "test262/built-ins/Atomics/add/bigint/good-views.js" >> "${T}"/known_failures.list
869 - echo "test262/built-ins/Atomics/add/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
870 - echo "test262/built-ins/Atomics/exchange/bigint/good-views.js" >> "${T}"/known_failures.list
871 - echo "test262/built-ins/Atomics/exchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
872 - echo "test262/built-ins/Atomics/store/bigint/good-views.js" >> "${T}"/known_failures.list
873 - echo "test262/built-ins/Atomics/store/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
874 - echo "test262/built-ins/Atomics/xor/bigint/good-views.js" >> "${T}"/known_failures.list
875 - echo "test262/built-ins/Atomics/xor/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
876 - echo "test262/built-ins/Atomics/sub/bigint/good-views.js" >> "${T}"/known_failures.list
877 - echo "test262/built-ins/Atomics/sub/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
878 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js" >> "${T}"/known_failures.list
879 - echo "test262/built-ins/Atomics/and/bigint/good-views.js" >> "${T}"/known_failures.list
880 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js" >> "${T}"/known_failures.list
881 - echo "test262/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js" >> "${T}"/known_failures.list
882 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js" >> "${T}"/known_failures.list
883 - echo "test262/built-ins/Atomics/or/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
884 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js" >> "${T}"/known_failures.list
885 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js" >> "${T}"/known_failures.list
886 - echo "test262/built-ins/Atomics/wait/bigint/negative-timeout-agent.js" >> "${T}"/known_failures.list
887 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js" >> "${T}"/known_failures.list
888 - echo "test262/built-ins/Atomics/wait/bigint/value-not-equal.js" >> "${T}"/known_failures.list
889 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js" >> "${T}"/known_failures.list
890 - echo "test262/built-ins/Atomics/wait/bigint/waiterlist-block-indexedposition-wake.js" >> "${T}"/known_failures.list
891 - echo "test262/built-ins/Atomics/wait/bigint/nan-for-timeout.js" >> "${T}"/known_failures.list
892 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js" >> "${T}"/known_failures.list
893 - echo "test262/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js" >> "${T}"/known_failures.list
894 - echo "test262/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js" >> "${T}"/known_failures.list
895 - echo "test262/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js" >> "${T}"/known_failures.list
896 - echo "test262/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
897 - echo "test262/built-ins/Atomics/compareExchange/bigint/good-views.js" >> "${T}"/known_failures.list
898 - echo "test262/built-ins/Atomics/and/bigint/non-shared-bufferdata.js" >> "${T}"/known_failures.list
899 - echo "test262/built-ins/Atomics/or/bigint/good-views.js" >> "${T}"/known_failures.list
900 - echo "test262/built-ins/Atomics/notify/bigint/notify-all-on-loc.js" >> "${T}"/known_failures.list
901 - fi
902 -
903 - if use x86 ; then
904 - echo "non262/Date/timeclip.js" >> "${T}"/known_failures.list
905 - echo "test262/built-ins/Number/prototype/toPrecision/return-values.js" >> "${T}"/known_failures.list
906 - echo "test262/language/types/number/S8.5_A2.1.js" >> "${T}"/known_failures.list
907 - echo "test262/language/types/number/S8.5_A2.2.js" >> "${T}"/known_failures.list
908 - fi
909 -
910 - if [[ $(tc-endian) == "big" ]] ; then
911 - echo "non262/extensions/clone-errors.js" >> "${T}"/known_failures.list
912 - echo "test262/built-ins/Date/UTC/fp-evaluation-order.js" >> "${T}"/known_failures.list
913 - echo "test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js" >> "${T}"/known_failures.list
914 - fi
915 -
916 - ${EPYTHON} \
917 - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
918 - --exclude-file="${T}"/known_failures.list \
919 - "${MOZJS_BUILDDIR}"/js/src/js \
920 - || die
921 -
922 - if use jit ; then
923 - ${EPYTHON} \
924 - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \
925 - --exclude-file="${T}"/known_failures.list \
926 - "${MOZJS_BUILDDIR}"/js/src/js basic \
927 - || die
928 - fi
929 -}
930 -
931 -src_install() {
932 - cd "${MOZJS_BUILDDIR}" || die
933 - default
934 -
935 - # fix soname links
936 - pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die
937 - mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die
938 - ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die
939 - ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die
940 - popd &>/dev/null || die
941 -
942 - # remove unneeded files
943 - rm \
944 - "${ED}"/usr/bin/js${MY_MAJOR}-config \
945 - "${ED}"/usr/$(get_libdir)/libjs_static.ajs \
946 - || die
947 -
948 - # fix permissions
949 - chmod -x \
950 - "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \
951 - "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \
952 - || die
953 -}