diff options
-rw-r--r-- | dev-lang/spidermonkey/ChangeLog | 20 | ||||
-rw-r--r-- | dev-lang/spidermonkey/Manifest | 11 | ||||
-rw-r--r-- | dev-lang/spidermonkey/spidermonkey-1.8.5-r5.ebuild | 101 | ||||
-rw-r--r-- | dev-lang/spidermonkey/spidermonkey-1.8.7-r4.ebuild | 176 | ||||
-rw-r--r-- | dev-lang/spidermonkey/spidermonkey-17.0.0-r4.ebuild | 116 | ||||
-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 |