summaryrefslogtreecommitdiff
path: root/dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild')
-rw-r--r--dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild70
1 files changed, 36 insertions, 34 deletions
diff --git a/dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild
index 20632cb0a25f..d88bb88fc17c 100644
--- a/dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-78.2.0.ebuild
@@ -7,9 +7,7 @@ PYTHON_COMPAT=( python3_{6..9} )
WANT_AUTOCONF="2.1"
-LLVM_MAX_SLOT=10
-
-inherit autotools check-reqs llvm multiprocessing python-any-r1
+inherit autotools check-reqs multiprocessing python-any-r1 toolchain-funcs
MY_PN="mozjs"
MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases
@@ -55,13 +53,13 @@ KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc64 ~s390 ~x86"
SLOT="78"
LICENSE="MPL-2.0"
-IUSE="debug +jit test"
+IUSE="cpu_flags_arm_neon debug +jit test"
RESTRICT="!test? ( test )"
BDEPEND="${PYTHON_DEPS}
- sys-devel/clang
- >=virtual/rust-1.43.0
+ sys-devel/llvm
+ >=virtual/rust-1.41.0
virtual/pkgconfig"
CDEPEND=">=dev-libs/icu-67.1:=
@@ -78,15 +76,6 @@ RDEPEND="${CDEPEND}"
S="${WORKDIR}/firefox-${MY_PV}/js/src"
-llvm_check_deps() {
- if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then
- ewarn "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2
- return 1
- fi
-
- einfo "Will use LLVM slot ${LLVM_SLOT}!" >&2
-}
-
python_check_deps() {
if use test ; then
has_version "dev-python/six[${PYTHON_USEDEP}]"
@@ -112,8 +101,6 @@ pkg_setup() {
check-reqs_pkg_setup
- llvm_pkg_setup
-
python-any-r1_pkg_setup
}
@@ -155,25 +142,40 @@ src_configure() {
# ../python/mach/mach/mixin/process.py fails to detect SHELL
export SHELL="${EPREFIX}/bin/bash"
- # forcing system-icu allows us to skip patching bundled ICU for PPC
+ 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)
+ $(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 \
- --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) \
- $(use_enable test tests) \
+ econf \
+ ${myeconfargs[@]} \
XARGS="${EPREFIX}/usr/bin/xargs"
}