aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/spidermonkey/ChangeLog20
-rw-r--r--dev-lang/spidermonkey/Manifest11
-rw-r--r--dev-lang/spidermonkey/spidermonkey-1.8.5-r5.ebuild101
-rw-r--r--dev-lang/spidermonkey/spidermonkey-1.8.7-r4.ebuild176
-rw-r--r--dev-lang/spidermonkey/spidermonkey-17.0.0-r4.ebuild116
-rw-r--r--dev-lang/spidermonkey/spidermonkey-24.2.0-r3.ebuild (renamed from dev-lang/spidermonkey/spidermonkey-24.2.0-r2.ebuild)129
6 files changed, 180 insertions, 373 deletions
diff --git a/dev-lang/spidermonkey/ChangeLog b/dev-lang/spidermonkey/ChangeLog
index 33a7f70..7bfc5bd 100644
--- a/dev-lang/spidermonkey/ChangeLog
+++ b/dev-lang/spidermonkey/ChangeLog
@@ -1,6 +1,24 @@
# ChangeLog for dev-lang/spidermonkey
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/spidermonkey/ChangeLog,v 1.149 2014/05/05 20:28:23 axs Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/spidermonkey/ChangeLog,v 1.153 2014/06/19 18:07:42 maekke Exp $
+
+ 19 Jun 2014; Markus Meier <maekke@gentoo.org> spidermonkey-24.2.0-r2.ebuild:
+ arm stable, bug #512026
+
+ 03 Jun 2014; Jeroen Roovers <jer@gentoo.org> spidermonkey-24.2.0-r2.ebuild:
+ Stable for HPPA (bug #512026).
+
+ 02 Jun 2014; Ian Stakenvicius (_AxS_) <axs@gentoo.org>
+ -spidermonkey-24.2.0-r1.ebuild, spidermonkey-24.2.0-r2.ebuild:
+ dropped optimizations so build system will respect cflags, bug 444126, thanks
+ to hasufell for patches; removed old :24 ebuild
+
+*spidermonkey-24.2.0-r2 (23 May 2014)
+
+ 23 May 2014; Ian Stakenvicius (_AxS_) <axs@gentoo.org>
+ +spidermonkey-24.2.0-r2.ebuild:
+ changed the flags that USE=jit controls on spidermonkey24 ; addresses bug
+ 510982
05 May 2014; Ian Stakenvicius (_AxS_) <axs@gentoo.org>
+files/spidermonkey-24-upward-growing-stack.patch,
diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest
index 13cec96..1d3ead6 100644
--- a/dev-lang/spidermonkey/Manifest
+++ b/dev-lang/spidermonkey/Manifest
@@ -23,13 +23,10 @@ AUX spidermonkey-24-system-icu.patch 5981 SHA256 893fba496bac1a2c321a9e978cdd7fb
AUX spidermonkey-24-upward-growing-stack.patch 1536 SHA256 a689e77b698176505cd784ff5f9ccd6614d53d58599eeb60554c01b8a34a7316 SHA512 497ce5b3923e60c83eb6c43d44a7ee8d59ddc80df41b6c1224107e872d955472ff6fcae6b67f481070c51628857b0be3576550cf79b706923c89bd341185d2b8 WHIRLPOOL 05d77aa68fe2f40d5c989a1b47eadf5d875f0229c12d4ceaf496659f8dfc29740c0f67ac4c87a72dfe2ae2dc24d4fae206e6b0bcaeb5709e7656493f298fe0d6
AUX spidermonkey-24.2.0-fix-file-permissions.patch 1068 SHA256 5c1b2a29c8fc0fad09f47e848f80f2f8194f8ba9fcab9b5a487ed9643c3ab1b7 SHA512 4c1257371b7535ec7c27599d895aeaf6fb347bbe1437dec1c43581a00c4f3e2a8368cc49beb9a68f1963dd1888529a83a7b417ccc1a966d8a7657a9516c76fb1 WHIRLPOOL 7035e0a7120192ea305d9da8379a2caf470b6a1b9b0604df42196d36acfd7801cac0d78f2520a89f36db944bc8886068c6ebaafd70308cbbc69278a283a62c62
DIST js185-1.0.0.tar.gz 6164605 SHA256 5d12f7e1f5b4a99436685d97b9b7b75f094d33580227aa998c406bbae6f2a687 SHA512 2af7122a7c7007fd7b6668776fe1222515a810b3e43bbf0f76b8f94e1ef406ffd3fb5ccec393021b00274c05b38a77235bc8d6886994c56762fcaf0aa7cf6718 WHIRLPOOL 58b372713275874d3ae3c6b58c12c56bf8d17d024d591e321538bcdd8e615332e41655954368ce86b90e970209e3fd650c39d931000880f5ec22cb044b5d7a4e
-DIST js187-1.0.0.tar.gz 7106870 SHA256 ce80a9eabdaf22d2a1c4830ea36120e6af207bb336bea8f6d34cba32f59fe2b4 SHA512 7df55daac1eac0a7a7b31df044f7d5cc40a1f5079907b661f7c8489614b0ddff35e4f7cd13214bfc4baf9bdb37d392e4118f63ab589a051978d6ceef63d1e9f2 WHIRLPOOL d0f2ea8add0c7c1ac34ff8a6f887e931768091696dda037e7778ecd7eb02889b455747cfaa9a362844983eb2bdda6bddab46bf542cecf81f91ec5165efc0b9a3
DIST mozjs-24.2.0.tar.bz2 15624530 SHA256 e62f3f331ddd90df1e238c09d61a505c516fe9fd8c5c95336611d191d18437d8 SHA512 49805e256f6fa797505c01b7596d5bb941ed7a2454862c52ed42ad48b5ae4540b777e77ed8da1b98c89f8622ed2c76052187983687008a4ff53594addb328df4 WHIRLPOOL ea74d19c79b1a0fe407e2803900c49c23e8b76444fb4e20995072c3c59427e8df1895df04f2f4de779a1c58cd1166dd97aeaf7564350832011efe89dbcf9583e
DIST mozjs17.0.0.tar.gz 6778934 SHA256 321e964fe9386785d3bf80870640f2fa1c683e32fe988eeb201b04471c172fba SHA512 39b68aeb9f712f146778d8b68ee795709a1372c8ab893a222af4eb34882427d6f5cf877e743d6cb2f1b4348c194d8f3774f00cb775b03515b34b49560b748be4 WHIRLPOOL 4df7b51577787194065162b09d2c3dda849c13fa901305f9925d4ca5d38bb7f8e2daa943099e003fb9d11f9264ae2d77ccf04e5eea11e3ddcb624b504b99d52f
-DIST spidermonkey-1.8.7-patches-0.1.tar.xz 4796 SHA256 ddc0431ed9a96b67c27787fa824f4456693b9361dbb41366f8196d1a3425a353 SHA512 bd1976b12940390e7d5db6078ca6339006428874788688e4ea4f6bd86afd341c3edd356bac801883637f46085c6d971d4f79e44fa9f6e44b3b715186355be175 WHIRLPOOL 5614bcb99d7101751e6f5be24b20e8a6acd5a682640025830f0c4a4fb74e724e5d71eb56c3e09d0ced4bbfa6c6c93daf42a7bc326c3cf0b07bee777901f25039
-EBUILD spidermonkey-1.8.5-r5.ebuild 5331 SHA256 29aab77a2377c45c683c7d36be704f98305f81ba27222b16215ebab91ac16637 SHA512 90e7b3d5f9cdb49c2930a7f978027e368305173a7c6136c747c0ad4e5de7006cb7fe62cc5612e028ffcff71cc0e74fa75d15405eb0bbcf7852bfac41f95c665e WHIRLPOOL 684143d56491687f2f83295f8aae6516d6822173028f8f449c10b9fef5fbab8b3f71d72f2dcadce4aa22bc4907bfa91d854990b74434c8c5205cf2f8d57fc776
-EBUILD spidermonkey-1.8.7-r4.ebuild 4913 SHA256 9f49ec91fe379d29d1d625f2c60503c0cbfd2a0b95479d2f4750b5a676ec8985 SHA512 e8841eae3fb0bfd0b99ad42245760d728c5932c8e878d5ab31e1e7f138f973a6b54c6d573becc20ada46ca5769839b1a3729eaf89abb27c6e0c9032800570bf5 WHIRLPOOL 3b2cb3777bd9651f957ec52801542337299badf323df8666ca50b38083b3e2f56ec76f5bf75a63621d88b451a40f43646c86c1d70a5fc8ef959a52103c2c0756
-EBUILD spidermonkey-17.0.0-r4.ebuild 4438 SHA256 fc210b3cffb05c9c4f3bd719a424fa56aad06399a43f24d030e92e02acd8a214 SHA512 dd4ea93a6d03965ab300729b95a4780f249a5bde947b1642891ed6b9dd88c7d84b29bbdc7986ce3223ad6d209d39e5758a44ffa16fc44c82e930847f02021202 WHIRLPOOL 040c65acb6c3db1e005a49bbf4b7add31f7e00635131a8702645889d9f1ad0a003a093801d7c2d2cd683e9e2ad423c97c2a9630d9023f70b8bd33f5bb1fa982b
-EBUILD spidermonkey-24.2.0-r2.ebuild 4532 SHA256 e50677f6a0ce3ecff6eb95df66b17a031f0af7bc27b255d9c7f7042537416c4d SHA512 7783f25f01d994c8914a1add44f4536b134985eaa366daec8e1120ae23b905766a7615e3fd8c0aae44dea250d167cfc8d80e27ce5bfb8d11fe18493e593c1b62 WHIRLPOOL eab43b12f7b0f48c501e03aa6d3527fb746707db673fc6196789d807045dc3b530e568da16af74c7bee56e07303d32c087aee943f236d5ee4938af54d9175e53
-MISC ChangeLog 23814 SHA256 e31aae38b49c02ebe650a3cd05473fd93d5c4f0f0b67c57d650a0fa435e5db59 SHA512 6c0eac950696bbd25fa0429a81f741da31ff2a668265e8a73eca1814920f4414e906d51eae6dadaf8b254a6d2c3a475094166c510053e285e0ef28f953739935 WHIRLPOOL 379bf71a2cf01f418a9ef5a265973a18149e82b9d1078f76624b4bc682e86e2adce4a036bf277a374be41bdbcc5481510913a595737d6cd68601e4c598d8208d
+EBUILD spidermonkey-1.8.5-r5.ebuild 4654 SHA256 af6e8461dab9d0b8a2c704539a0c8a5f77ec8ebaacf8c0def0aa949de17ee909 SHA512 821de0aafc5a69cffac8e29bf76d0c3082fd14c2c11838cb393d9022f08526da6d33e200e0f0d0ce6089d07ae5731a06d451cc39f51afdca7ddf5633105cbb70 WHIRLPOOL fe30a7c2514973d5a1bf23614bc6d514e71f91262f8b35f8c8c9a2e5bacde0a57ceb43dfcf99d2eeb47ba4e8af0e8fe76b16b39b7ce3ce749ae4aeaf2aebd9b6
+EBUILD spidermonkey-17.0.0-r4.ebuild 4262 SHA256 7827e479b2a23bd76ded7f1fd4c55a23d739d9044b8b1256c9688823244f1e2b SHA512 f43cfdcaaa00a86181bd20b4ea89bae50a8d7409a61d820c54568f6a2406286fec6e735229055e5bf82e191404845ded6eade7aeb8b71837ae3e7b7a3c216a4e WHIRLPOOL 16c72b839168f05444dccebe648311a7949e00ee4e3d2e31fac060f7a6ba93908b86e49e8ca401b0507bc960d38c52fefcfae6815acdaa7c3f8a36f2ea99c69e
+EBUILD spidermonkey-24.2.0-r3.ebuild 4727 SHA256 3f94fe31d29c0d87486c325b427b696f4472ab19d97f48640dcbe9a8f0405d15 SHA512 9efb8c3028bd010e872856ecb012ee7938489d97f8b6fba11807d510f6a1f069759402c76ecc7f9f6d85665109654afc588da71425050664071c802cdbec1f13 WHIRLPOOL 148fa93e23482d15eec747284a77740782fa19b7763fa8eac4ec3cce3d78b6c52b7c1cb36ffa30bc705ef165c77d4de7e8285342f043480138aebbb85fbe516b
+MISC ChangeLog 24504 SHA256 e37a18b0d4a746ed5cb6b50cf012bf9d900d28c56203b13ccb8f861976069123 SHA512 567a5a8a36f57bf548a32656275dad54260816d103ee0e192422775168493f2838c16ae8ee742e92f1b4d36e54397b44a2f1e11f97b5428aa1d89f7c07d5f983 WHIRLPOOL 601d8833a8b152f02fdddb2ae51e6c6d24acdbf9a13b09d4c82fcd05b5005369aa3b9180158db4b742ad51e773d35dbbe4d7572a267f30ebbcd7c7e6cfa4ccc3
MISC metadata.xml 666 SHA256 c7c78c882b67a3f4c72a6cefcd83abe58f8fcecd9e5dfdec7ddb133b64a85f8f SHA512 3a94dc13bf8f417d2f760a18765a58e7d8118ceb52b90ef3ae646830d745d10e5e09d7b60828b27381d16c8008c0c1dd00fa0a88e9a447d45cf76312b780f12e WHIRLPOOL 34e73fb374d36c0e29d6ea472c3e9751b42bc1cd061b795b56efd9df3021cc27d7f00beb971adfee8785016b9d24575228bc8d2de985fbc49c36596962bbb2de
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.5-r5.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.5-r5.ebuild
index c307d27..c92c601 100644
--- a/dev-lang/spidermonkey/spidermonkey-1.8.5-r5.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-1.8.5-r5.ebuild
@@ -22,13 +22,10 @@ KEYWORDS="~amd64"
IUSE="debug minimal static-libs test"
S="${WORKDIR}/${MY_P}"
-BUILDDIR="${S}/js/src"
-abi_builddir() {
- echo "${BUILD_DIR}"/js/src
-}
+BUILD_DIR="${S}/js/src"
RDEPEND=">=dev-libs/nspr-4.7.0[${MULTILIB_USEDEP}]
- x64-macos? ( dev-libs/jemalloc[${MULTILIB_USEDEP}] )"
+ x64-macos? ( >=dev-libs/jemalloc-3.6.0[${MULTILIB_USEDEP}] )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
app-arch/zip
@@ -39,15 +36,16 @@ MULTILIB_WRAPPED_HEADERS=(
/usr/include/js/js-config.h
/usr/include/js/NativeX64.h
)
+MULTILIB_CHOST_TOOLS=( /usr/bin/js-config )
pkg_setup(){
if [[ ${MERGE_TYPE} != "binary" ]]; then
export LC_ALL="C"
fi
+ declare -a myopts
}
-ehook autotools-multilib-global-pre_src_prepare pre_prepare
-pre_prepare() {
+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
@@ -69,47 +67,40 @@ pre_prepare() {
epatch_user
- cd "${BUILDDIR}" || die
+ cd "${BUILD_DIR}" || die
eautoconf
- return 1
}
-ehook autotools-multilib-global-pre_src_configure pre_configure
-pre_configure() {
- ECONF_SOURCE="${BUILDDIR}"
- myeconfargs=(
- ${myopts}
- --enable-jemalloc
- --enable-readline
- --enable-threadsafe
- $(use_enable debug)
- $(use_enable static-libs static)
- $(use_enable test tests)
- )
-}
+multilib_src_configure() {
+ local myopts=( "${myopts[@]}" )
-ehook autotools-multilib-per-abi-pre_src_configure pre_abi_configure
-pre_abi_configure() {
- mkdir -p "$(abi_builddir)"
- cd "$(abi_builddir)" || die
if multilib_is_native_abi ; then
- myeconfargs+=(--with-system-nspr)
+ myopts+=("--with-system-nspr")
else
- myeconfargs+=(
- --with-nspr-cflags="$(nspr-config-${ABI} --cflags)"
- --with-nspr-libs="$(nspr-config-${ABI} --libs)"
- --with-nspr-prefix="$(nspr-config-${ABI} --prefix)"
- --with-nspr-exec-prefix="$(nspr-config-${ABI} --exec-prefix)"
+ # --with-system-nspr configure magic does not check for multilib suffixed
+ # alternatives and therefore full of fail here. Thankfully we can
+ # effect multilib system-nspr linkage manually with these alternate configure frobs
+ myopts+=(
+ --with-nspr-cflags="$(${CHOST}-nspr-config --cflags)"
+ --with-nspr-libs="$(${CHOST}-nspr-config --libs)"
+ --with-nspr-prefix="$(${CHOST}-nspr-config --prefix)"
+ --with-nspr-exec-prefix="$(${CHOST}-nspr-config --exec-prefix)"
)
fi
+
+ ECONF_SOURCE="${S}/js/src" \
MULTILIB_TC_EXPORT_VARS="CC CXX AR RANLIB LD" multilib_tc_export \
- econf "${myeconfargs[@]}" "${othereconfargs[@]}"
- return 1
+ econf \
+ "${myopts[@]}" \
+ --enable-jemalloc \
+ --enable-readline \
+ --enable-threadsafe \
+ $(use_enable debug) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
}
-ehook autotools-multilib-per-abi-pre_src_compile pre_abi_compile
-pre_abi_compile() {
- cd "$(abi_builddir)" || die
+multilib_src_compile() {
if tc-is-cross-compiler; then
make CFLAGS="" CXXFLAGS="" \
CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
@@ -133,44 +124,28 @@ pre_abi_compile() {
host_jskwgen.o \
host_jsoplengen.o || die
fi
+ emake
}
-ehook autotools-multilib-per-abi-pre_src_test pre_abi_test
-pre_abi_test() {
- cd "$(abi_builddir)/jsapi-tests" || die
+multilib_src_test() {
+ cd "jsapi-tests" || die
# for bug 415791
pax-mark mr jsapi-tests
+ emake check
}
-ehook autotools-multilib-per-abi-pre_src_install pre_abi_install
-pre_abi_install() {
- cd "$(abi_builddir)" || die
-}
-
-ehook autotools-multilib-per-abi-post_src_install post_abi_install
-post_abi_install() {
- if multilib_is_native_abi ; then
- ln -s js-config "${ED}"usr/bin/js-config-${ABI} || die
- else
- mv "${ED}"usr/bin/js-config "${ED}"usr/bin/js-config-${ABI} || die
- fi
-}
-
-ehook autotools-multilib-native-post_src_install post_native_install
-post_native_install() {
- cd "$(abi_builddir)" || die
+multilib_src_install() {
+ emake install DESTDIR="${D}"
# bug 437520 , exclude js shell for small systems
- if ! use minimal; then
+ if ! use minimal ; then
dobin shell/js
pax-mark m "${ED}/usr/bin/js"
fi
}
-ehook autotools-multilib-global-post_src_install post_install
-post_install() {
- cd "${BUILDDIR}"
- dodoc ../../README
- dohtml README.html
+multilib_src_install_all() {
+ dodoc README
+ dohtml "${BUILD_DIR}"/README.html
if ! use static-libs; then
# We can't actually disable building of static libraries
diff --git a/dev-lang/spidermonkey/spidermonkey-1.8.7-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-1.8.7-r4.ebuild
deleted file mode 100644
index e3768b9..0000000
--- a/dev-lang/spidermonkey/spidermonkey-1.8.7-r4.ebuild
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI="5"
-WANT_AUTOCONF="2.1"
-PYTHON_COMPAT=( python2_{6,7} )
-PYTHON_REQ_USE="threads"
-inherit autotools-multilib 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"
-SPIDERPV="${PV}-patches-0.1"
-DESCRIPTION="Stand-alone JavaScript C library"
-HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
-SRC_URI="http://people.mozilla.com/~dmandelin/${TARBALL_P}.tar.gz
- http://dev.gentoo.org/~anarchy/mozilla/patchsets/spidermonkey-${SPIDERPV}.tar.xz"
-
-LICENSE="NPL-1.1"
-SLOT="0/mozjs187"
-KEYWORDS="~amd64"
-IUSE="debug jit minimal static-libs test"
-
-S="${WORKDIR}/${MY_P}"
-BUILDDIR="${S}/js/src"
-
-RDEPEND=">=dev-libs/nspr-4.7.0[${MULTILIB_USEDEP}]
- virtual/libffi[${MULTILIB_USEDEP}]"
-DEPEND="${RDEPEND}
- ${PYTHON_DEPS}
- app-arch/zip
- virtual/pkgconfig"
-
-MULTILIB_PARALLEL_PHASES="src_configure src_compile src_test"
-MULTILIB_WRAPPED_EXECUTABLES="@/usr/bin/js-config"
-MULTILIB_WRAPPED_HEADERS=(
- /usr/include/js/js-config.h
- /usr/include/js/NativeX64.h
-)
-
-abi_builddir() {
- echo "${BUILD_DIR}"/js/src
-}
-
-pkg_setup(){
- if [[ ${MERGE_TYPE} != "binary" ]]; then
- export LC_ALL="C"
- fi
-}
-
-ehook autotools-multilib-global-pre_src_prepare pre_prepare
-pre_prepare() {
- # Apply patches that are required for misc archs
- EPATCH_SUFFIX="patch" \
- EPATCH_FORCE="yes" \
- epatch "${WORKDIR}/spidermonkey"
-
- epatch "${FILESDIR}"/${PN}-1.8.5-fix-install-symlinks.patch
- epatch "${FILESDIR}"/${PN}-1.8.7-filter_desc.patch
- epatch "${FILESDIR}"/${PN}-1.8.7-freebsd-pthreads.patch
- epatch "${FILESDIR}"/${PN}-1.8.7-x32.patch
- # https://bugs.gentoo.org/show_bug.cgi?id=439260
- epatch "${FILESDIR}"/${P}-symbol-versions.patch
-
- epatch_user
-
- cd "${BUILDDIR}" || die
- eautoconf
- return 1
-}
-
-ehook autotools-multilib-global-pre_src_configure pre_configure
-pre_configure() {
- ECONF_SOURCE="${BUILDDIR}"
- myeconfargs=(
- ${myopts}
- --enable-jemalloc
- --enable-readline
- --enable-threadsafe
- --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)
- )
-}
-
-ehook autotools-multilib-per-abi-pre_src_configure pre_abi_configure
-pre_abi_configure() {
- mkdir -p "$(abi_builddir)"
- cd "$(abi_builddir)" || die
- if multilib_is_native_abi ; then
- myeconfargs+=(--with-system-nspr)
- else
- myeconfargs+=(
- --with-nspr-cflags="$(nspr-config-${ABI} --cflags)"
- --with-nspr-libs="$(nspr-config-${ABI} --libs)"
- --with-nspr-prefix="$(nspr-config-${ABI} --prefix)"
- --with-nspr-exec-prefix="$(nspr-config-${ABI} --exec-prefix)"
- )
- fi
- MULTILIB_TC_EXPORT_VARS="CC CXX AR RANLIB LD" multilib_tc_export \
- econf "${myeconfargs[@]}" "${othereconfargs[@]}"
- return 1
-}
-
-ehook autotools-multilib-per-abi-pre_src_compile pre_abi_compile
-pre_abi_compile() {
- cd "$(abi_builddir)" || die
- if tc-is-cross-compiler; then
- make CFLAGS="" CXXFLAGS="" \
- CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
- AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
- jscpucfg host_jsoplengen host_jskwgen || die
- make CFLAGS="" CXXFLAGS="" \
- CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
- AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
- -C config nsinstall || die
- mv {,native-}jscpucfg || die
- mv {,native-}host_jskwgen || die
- mv {,native-}host_jsoplengen || die
- mv config/{,native-}nsinstall || die
- sed -e 's@./jscpucfg@./native-jscpucfg@' \
- -e 's@./host_jskwgen@./native-host_jskwgen@' \
- -e 's@./host_jsoplengen@./native-host_jsoplengen@' \
- -i Makefile || die
- sed -e 's@/nsinstall@/native-nsinstall@' -i config/config.mk || die
- rm -f config/host_nsinstall.o \
- config/host_pathsub.o \
- host_jskwgen.o \
- host_jsoplengen.o || die
- fi
-}
-
-ehook autotools-multilib-per-abi-pre_src_test pre_abi_test
-pre_abi_test() {
- cd "$(abi_builddir)/jsapi-tests" || die
-}
-
-ehook autotools-multilib-per-abi-pre_src_install pre_abi_install
-pre_abi_install() {
- cd "$(abi_builddir)" || die
-}
-
-ehook autotools-multilib-native-post_src_install post_native_install
-post_native_install() {
- cd "$(abi_builddir)" || die
- if ! use minimal; then
- dobin shell/js
- if use jit; then
- pax-mark m "${ED}/usr/bin/js"
- fi
- fi
-}
-
-ehook autotools-multilib-global-post_src_install post_install
-post_install() {
- cd "${BUILDDIR}"
- dodoc ../../README
- dohtml README.html
- # install header files needed but not part of build system
- insinto /usr/include/js
- doins ../public/*.h
- insinto /usr/include/js/mozilla
- doins "${S}"/mfbt/*.h
-
- 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
-}
diff --git a/dev-lang/spidermonkey/spidermonkey-17.0.0-r4.ebuild b/dev-lang/spidermonkey/spidermonkey-17.0.0-r4.ebuild
index 2e1227e..43f0339 100644
--- a/dev-lang/spidermonkey/spidermonkey-17.0.0-r4.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-17.0.0-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
@@ -6,7 +6,7 @@ EAPI="5"
WANT_AUTOCONF="2.1"
PYTHON_COMPAT=( python2_{6,7} )
PYTHON_REQ_USE="threads"
-inherit autotools-multilib eutils toolchain-funcs multilib python-any-r1 versionator pax-utils
+inherit eutils autotools-multilib toolchain-funcs multilib python-any-r1 versionator pax-utils
MY_PN="mozjs"
MY_P="${MY_PN}${PV}"
@@ -16,6 +16,7 @@ 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="~amd64"
IUSE="debug jit minimal static-libs test"
@@ -23,87 +24,77 @@ REQUIRED_USE="debug? ( jit )"
RESTRICT="ia64? ( test )"
S="${WORKDIR}/${MY_P}"
-BUILDDIR="${S}/js/src"
+BUILD_DIR="${S}/js/src"
RDEPEND=">=dev-libs/nspr-4.9.4[${MULTILIB_USEDEP}]
- virtual/libffi[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.1.4[${MULTILIB_USEDEP}]"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
app-arch/zip
virtual/pkgconfig"
-abi_builddir() {
- echo "${BUILD_DIR}"/js/src
-}
-
pkg_setup(){
if [[ ${MERGE_TYPE} != "binary" ]]; then
python-any-r1_pkg_setup
export LC_ALL="C"
fi
+ declare -a myopts
}
-PATCHES=(
- "${FILESDIR}"/${PN}-${SLOT}-js-config-shebang.patch
- "${FILESDIR}"/${PN}-${SLOT}-ia64-mmap.patch
- "${FILESDIR}"/${PN}-17.0.0-fix-file-permissions.patch
-)
MULTILIB_WRAPPED_HEADERS=(/usr/include/js-17.0/js-config.h)
MULTILIB_WRAPPED_EXECUTABLES=(@/usr/bin/js17-config)
+MULTILIB_CHOST_TOOLS=(/usr/bin/js17-config)
MULTILIB_PARALLEL_PHASES="src_configure src_compile src_test"
-ehook autotools-multilib-global-pre_src_prepare pre_prepare
-pre_prepare() {
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-${SLOT}-js-config-shebang.patch
+ epatch "${FILESDIR}"/${PN}-${SLOT}-ia64-mmap.patch
+ epatch "${FILESDIR}"/${PN}-17.0.0-fix-file-permissions.patch
+ # Remove obsolete jsuword bug #506160
+ sed -i -e '/jsuword/d' "${BUILD_DIR}"/jsval.h ||die "sed failed"
+ epatch_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
+ ln -sfn "${BUILD_DIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
fi
- # Remove obsolete jsuword bug #506160
- sed -i -e '/jsuword/d' "${BUILDDIR}"/jsval.h ||die "sed failed"
- epatch_user
}
-ehook autotools-multilib-global-pre_src_configure pre_configure
-pre_configure() {
- ECONF_SOURCE="${BUILDDIR}"
- myeconfargs=(
- ${myopts}
- --enable-jemalloc
- --enable-readline
- --enable-threadsafe
- --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)
- )
-}
+multilib_src_configure() {
+ local myopts=( "${myopts[@]}" )
-ehook autotools-multilib-per-abi-pre_src_configure pre_abi_configure
-pre_abi_configure() {
- mkdir -p "$(abi_builddir)" || die
- cd "$(abi_builddir)" || die
- if multilib_is_best_abi ; then
- myeconfargs+=(--with-system-nspr)
+ if multilib_is_native_abi ; then
+ myopts+=("--with-system-nspr")
else
- myeconfargs+=(
- --with-nspr-cflags="$(nspr-config-${ABI} --cflags)"
- --with-nspr-libs="$(nspr-config-${ABI} --libs)"
- --with-nspr-prefix="$(nspr-config-${ABI} --prefix)"
- --with-nspr-exec-prefix="$(nspr-config-${ABI} --exec-prefix)"
+ # --with-system-nspr configure magic does not check for multilib suffixed
+ # alternatives and therefore full of fail here. Thankfully we can
+ # effect multilib system-nspr linkage manually with these alternate configure frobs
+ myopts+=(
+ --with-nspr-cflags="$(${CHOST}-nspr-config --cflags)"
+ --with-nspr-libs="$(${CHOST}-nspr-config --libs)"
+ --with-nspr-prefix="$(${CHOST}-nspr-config --prefix)"
+ --with-nspr-exec-prefix="$(${CHOST}-nspr-config --exec-prefix)"
)
- fi
+ fi
+
+ ECONF_SOURCE="${S}/js/src" \
MULTILIB_TC_EXPORT_VARS="CC CXX AR RANLIB LD" multilib_tc_export \
- econf "${myeconfargs[@]}" "${othereconfargs[@]}"
- return 1
+ econf \
+ "${myopts[@]}" \
+ --enable-jemalloc \
+ --enable-readline \
+ --enable-threadsafe \
+ --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)
}
-ehook autotools-multilib-per-abi-pre_src_compile pre_abi_compile
-pre_abi_compile() {
- cd "$(abi_builddir)" || die
+multilib_src_compile() {
if tc-is-cross-compiler; then
make CFLAGS="" CXXFLAGS="" \
CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
@@ -127,20 +118,16 @@ pre_abi_compile() {
host_jskwgen.o \
host_jsoplengen.o || die
fi
+ emake
}
-ehook autotools-multilib-per-abi-pre_src_test pre_abi_test
-pre_abi_test() {
- cd "$(abi_builddir)/jsapi-tests" || die
+multilib_src_test() {
+ cd "jsapi-tests" || die
+ emake check
}
-ehook autotools-multilib-per-abi-pre_src_install pre_abi_install
-pre_abi_install() {
- cd "$(abi_builddir)" || die
-}
-
-ehook autotools-multilib-global-post_src_install post_install
-post_install() {
+multilib_src_install() {
+ emake install DESTDIR="${D}"
if ! use minimal; then
if use jit; then
pax-mark m "${ED}/usr/bin/js${SLOT}"
@@ -148,7 +135,10 @@ post_install() {
else
rm -f "${ED}/usr/bin/js${SLOT}"
fi
+}
+multilib_src_install_all() {
+ dodoc README
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
diff --git a/dev-lang/spidermonkey/spidermonkey-24.2.0-r2.ebuild b/dev-lang/spidermonkey/spidermonkey-24.2.0-r3.ebuild
index a8e8643..93bd119 100644
--- a/dev-lang/spidermonkey/spidermonkey-24.2.0-r2.ebuild
+++ b/dev-lang/spidermonkey/spidermonkey-24.2.0-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
@@ -13,6 +13,7 @@ MY_P="${MY_PN}-${PV/_/.}"
DESCRIPTION="Stand-alone JavaScript C library"
HOMEPAGE="http://www.mozilla.org/js/spidermonkey/"
SRC_URI="https://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}.tar.bz2"
+
LICENSE="NPL-1.1"
SLOT="24"
KEYWORDS="~amd64"
@@ -21,10 +22,10 @@ IUSE="debug icu jit minimal static-libs +system-icu test"
RESTRICT="ia64? ( test )"
S="${WORKDIR}/${MY_P%.rc*}"
-BUILDDIR="${S}/js/src"
+BUILD_DIR="${S}/js/src"
RDEPEND=">=dev-libs/nspr-4.9.4[${MULTILIB_USEDEP}]
- virtual/libffi[${MULTILIB_USEDEP}]
+ >=virtual/libffi-3.0.13-r1[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.1.4[${MULTILIB_USEDEP}]
system-icu? ( >=dev-libs/icu-1.51:=[${MULTILIB_USEDEP}] )"
@@ -33,89 +34,88 @@ DEPEND="${RDEPEND}
app-arch/zip
virtual/pkgconfig"
-abi_builddir() {
- echo "${BUILD_DIR}"/js/src
-}
-
pkg_setup(){
if [[ ${MERGE_TYPE} != "binary" ]]; then
python-any-r1_pkg_setup
export LC_ALL="C"
fi
+
+ declare -a myopts
}
-PATCHES=(
- "${FILESDIR}"/${PN}-${SLOT}-system-icu.patch
- "${FILESDIR}"/${PN}-24.2.0-fix-file-permissions.patch
-)
MULTILIB_WRAPPED_HEADERS=(/usr/include/mozjs-24/js-config.h)
MULTILIB_WRAPPED_EXECUTABLES=(@/usr/bin/js24-config)
+MULTILIB_CHOST_EXECUTABLES=(/usr/bin/js24-config)
MULTILIB_PARALLEL_PHASES="src_configure src_compile src_test"
-ehook autotools-multilib-global-pre_src_prepare pre_prepare
-pre_prepare() {
+multilib_src_prepare() {
+ epatch "${FILESDIR}"/${PN}-${SLOT}-system-icu.patch
+ epatch "${FILESDIR}"/${PN}-24.2.0-fix-file-permissions.patch
+ epatch "${FILESDIR}"/${PN}-${SLOT}-upward-growing-stack.patch
+ epatch_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
+ ln -sfn "${BUILD_DIR}/config/Linux_All.mk" "${S}/config/$(uname -s)$(uname -r).mk" || die
fi
+
+ cd "${BUILD_DIR}" || die
+ eautoconf
}
-ehook autotools-multilib-global-pre_src_configure pre_configure
-pre_configure() {
- ECONF_SOURCE="${BUILDDIR}"
+multilib_src_configure() {
+ local myopts=( "${myopts[@]}" )
- if use icu; then # make sure system-icu flag only affects icu-enabled build
- myeconfargs+=( $(use_with system-icu) )
+ if multilib_is_native_abi ; then
+ myopts+=("--with-system-nspr")
else
- myeconfargs+=( --without-system-icu )
- fi
-
- myeconfargs+=(
- ${myopts}
- --enable-jemalloc
- --enable-readline
- --enable-threadsafe
- --enable-system-ffi
- --enable-jemalloc
- $(use_enable icu intl-api)
- $(use_enable debug)
- $(use_enable jit tracejit)
- $(use_enable jit methodjit)
- $(use_enable static-libs static)
- $(use_enable test tests)
- )
-}
+ # --with-system-nspr configure magic does not check for multilib suffixed
+ # alternatives and therefore full of fail here. Thankfully we can
+ # effect multilib system-nspr linkage manually with these alternate configure frobs
+ myopts+=(
+ --with-nspr-cflags="$(${CHOST}-nspr-config --cflags)"
+ --with-nspr-libs="$(${CHOST}-nspr-config --libs)"
+ --with-nspr-prefix="$(${CHOST}-nspr-config --prefix)"
+ --with-nspr-exec-prefix="$(${CHOST}-nspr-config --exec-prefix)"
+ )
+ fi
-ehook autotools-multilib-per-abi-pre_src_configure pre_abi_configure
-pre_abi_configure() {
- mkdir -p "$(abi_builddir)" || die
- cd "$(abi_builddir)" || die
- if multilib_is_best_abi ; then
- myeconfargs+=(--with-system-nspr)
+ if use icu; then # make sure system-icu flag only affects icu-enabled build
+ myopts+=( $(use_with system-icu) )
else
- myeconfargs+=(
- --with-nspr-cflags="$(nspr-config-${ABI} --cflags)"
- --with-nspr-libs="$(nspr-config-${ABI} --libs)"
- --with-nspr-prefix="$(nspr-config-${ABI} --prefix)"
- --with-nspr-exec-prefix="$(nspr-config-${ABI} --exec-prefix)"
- )
+ myopts+=( --without-system-icu )
fi
+
+ ECONF_SOURCE="${S}/js/src" \
MULTILIB_TC_EXPORT_VARS="CC CXX AR RANLIB LD" multilib_tc_export \
- econf "${myeconfargs[@]}" "${othereconfargs[@]}"
- return 1
+ econf \
+ "${myopts[@]}" \
+ --enable-jemalloc \
+ --enable-readline \
+ --enable-threadsafe \
+ --enable-system-ffi \
+ --disable-optimize \
+ $(use_enable icu intl-api) \
+ $(use_enable debug) \
+ $(use_enable jit yarr-jit) \
+ $(use_enable jit ion) \
+ $(use_enable static-libs static) \
+ $(use_enable test tests)
}
-ehook autotools-multilib-per-abi-pre_src_compile pre_abi_compile
-pre_abi_compile() {
- cd "$(abi_builddir)" || die
+multilib_src_compile() {
if tc-is-cross-compiler; then
make CFLAGS="" CXXFLAGS="" \
CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
+ MOZ_PGO_OPTIMIZE_FLAGS="" \
jscpucfg host_jsoplengen host_jskwgen || die
make CFLAGS="" CXXFLAGS="" \
CC=$(tc-getBUILD_CC) CXX=$(tc-getBUILD_CXX) \
AR=$(tc-getBUILD_AR) RANLIB=$(tc-getBUILD_RANLIB) \
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" HOST_OPTIMIZE_FLAGS="" \
-C config nsinstall || die
mv {,native-}jscpucfg || die
mv {,native-}host_jskwgen || die
@@ -131,20 +131,20 @@ pre_abi_compile() {
host_jskwgen.o \
host_jsoplengen.o || die
fi
+ emake \
+ MOZ_OPTIMIZE_FLAGS="" MOZ_DEBUG_FLAGS="" \
+ HOST_OPTIMIZE_FLAGS="" MODULE_OPTIMIZE_FLAGS="" \
+ MOZ_PGO_OPTIMIZE_FLAGS=""
}
-ehook autotools-multilib-per-abi-pre_src_test pre_abi_test
-pre_abi_test() {
- cd "$(abi_builddir)/jsapi-tests" || die
+multilib_src_test() {
+ cd "jsapi-tests" || die
+ emake check
}
-ehook autotools-multilib-per-abi-pre_src_install pre_abi_install
-pre_abi_install() {
- cd "$(abi_builddir)" || die
-}
+multilib_src_install() {
+ emake DESTDIR="${D}" install
-ehook autotools-multilib-global-post_src_install post_install
-post_install() {
if ! use minimal; then
if use jit; then
pax-mark m "${ED}/usr/bin/js${SLOT}"
@@ -152,7 +152,10 @@ post_install() {
else
rm -f "${ED}/usr/bin/js${SLOT}"
fi
+}
+multilib_src_install_all() {
+ dodoc README
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