diff options
author | 2014-06-23 04:14:55 -0700 | |
---|---|---|
committer | 2014-06-23 04:14:55 -0700 | |
commit | 64373ebaa60e47dbe82905acadc6c1823dcd0c1b (patch) | |
tree | fdcc5f3214fc9eaf75ef2649e50c222e575c94ca | |
parent | kde-base/pykde-4.13.2-r1: revbump (diff) | |
download | gmt-64373ebaa60e47dbe82905acadc6c1823dcd0c1b.tar.gz gmt-64373ebaa60e47dbe82905acadc6c1823dcd0c1b.tar.bz2 gmt-64373ebaa60e47dbe82905acadc6c1823dcd0c1b.zip |
dev-lang/spidermonkey: modernize, bump, merge
revbump/merge version 24.2.0-r3
These were all cloned from a really early implementation of the 1.8.5
ebuild before lots of things were implemented/figured-out for the
overlay. Not only did they break (I forget how exactly, but they no
longer compiled), but they were ugly as hell, the result of having been
implemented during my brief flirtation with the idea of using ehooks for
all ebuild code (as kind-of a poor-mans multilib-minimal style, I
guess).
Anyhow this gets rid of all use of ehooks, and implements instead
multilib_src_foo phase functions as its flow control mechanism. It also
uses the framework's wrapping features instead of some hand-coded thing.
Finally, it rejiggers the nspr hacks to work with
MULTILIB_CHOST_TOOLS-style naming (changed when the nspr ebuild was
removed downstream -- oh, right, that's what broke :) ).
All three ebuilds are modernized, and the (purportedly) permanently
masked upstream, pending removal, version, -1.8.7-r4 (-r3 upstream),
is dropped as a laziness/hassle-reduction measure (although,
technically, we should implement it in order to protect anyone unmasking
it from any worst-practices unversioned atoms, i.e.:
'dev-lang/spidermonkey:0[${MULTILIB_USEDEP}]'
Signed-off-by: Gregory M. Tuner <gmt@be-evil.net>
-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 |