diff options
author | Paweł Hajdan <phajdan.jr@gentoo.org> | 2013-05-23 20:17:34 +0000 |
---|---|---|
committer | Paweł Hajdan <phajdan.jr@gentoo.org> | 2013-05-23 20:17:34 +0000 |
commit | e0b04eb4b83535a2b95520b1b8eeedd3612c20e0 (patch) | |
tree | 190e788220d5771ebd930cc44b1d00dafc63dad8 /dev-lang | |
parent | Respect AR (bug #468170) and RANLIB (bug #468190), switch to EAPI5, removed old (diff) | |
download | gentoo-2-e0b04eb4b83535a2b95520b1b8eeedd3612c20e0.tar.gz gentoo-2-e0b04eb4b83535a2b95520b1b8eeedd3612c20e0.tar.bz2 gentoo-2-e0b04eb4b83535a2b95520b1b8eeedd3612c20e0.zip |
Stable channel bump (security bug #470920). v8 has been rolled to an earlier version by upstream, and we follow that for stable ebuilds.
(Portage version: 2.1.11.62/cvs/Linux i686, signed Manifest commit with key 30427902)
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/v8/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/v8/v8-3.17.6.14.ebuild | 146 |
2 files changed, 153 insertions, 1 deletions
diff --git a/dev-lang/v8/ChangeLog b/dev-lang/v8/ChangeLog index 0afa9d1af512..7688a4ca4a04 100644 --- a/dev-lang/v8/ChangeLog +++ b/dev-lang/v8/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/v8 # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/v8/ChangeLog,v 1.311 2013/05/21 21:34:25 phajdan.jr Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/v8/ChangeLog,v 1.312 2013/05/23 20:17:34 phajdan.jr Exp $ + +*v8-3.17.6.14 (23 May 2013) + + 23 May 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> +v8-3.17.6.14.ebuild: + Stable channel bump (security bug #470920). v8 has been rolled to an earlier + version by upstream, and we follow that for stable ebuilds. *v8-3.18.5.5 (21 May 2013) diff --git a/dev-lang/v8/v8-3.17.6.14.ebuild b/dev-lang/v8/v8-3.17.6.14.ebuild new file mode 100644 index 000000000000..683ab085f6be --- /dev/null +++ b/dev-lang/v8/v8-3.17.6.14.ebuild @@ -0,0 +1,146 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/v8/v8-3.17.6.14.ebuild,v 1.1 2013/05/23 20:17:34 phajdan.jr Exp $ + +EAPI="5" +PYTHON_COMPAT=( python2_{6,7} ) + +inherit chromium eutils multilib multiprocessing pax-utils python-any-r1 \ + toolchain-funcs versionator + +DESCRIPTION="Google's open source JavaScript engine" +HOMEPAGE="http://code.google.com/p/v8" +SRC_URI="https://commondatastorage.googleapis.com/chromium-browser-official/${P}.tar.bz2" +LICENSE="BSD" + +soname_version="${PV}" +SLOT="0/${soname_version}" +KEYWORDS="~amd64 ~arm ~x86 ~x86-fbsd ~x64-macos ~x86-macos" +IUSE="neon readline" + +RDEPEND="readline? ( sys-libs/readline:0 )" +DEPEND="${PYTHON_DEPS} + ${RDEPEND}" + +src_configure() { + tc-export AR CC CXX RANLIB + export LINK=${CXX} + + local myconf="" + + # Always build v8 as a shared library with proper SONAME. + myconf+=" -Dcomponent=shared_library -Dsoname_version=${soname_version}" + + # Use target arch detection logic from bug #354601. + case ${CHOST} in + i?86-*) myconf+=" -Dv8_target_arch=ia32" ;; + x86_64-*) + if [[ $ABI = x86 ]] ; then + myconf+=" -Dv8_target_arch=ia32" + else + myconf+=" -Dv8_target_arch=x64" + fi ;; + arm*-*) + myconf+=" -Dv8_target_arch=arm -Darm_fpu=" + if [[ ${CHOST} == *-hardfloat-* ]] ; then + myconf+=" -Dv8_use_arm_eabi_hardfloat=true" + else + myconf+=" -Dv8_use_arm_eabi_hardfloat=false" + fi + if [[ ${CHOST} == armv7*-* ]] ; then + myconf+=" -Darmv7=1" + else + myconf+=" -Darmv7=0" + fi + myconf+=" $(gyp_use neon arm_neon)" ;; + *) die "Unrecognized CHOST: ${CHOST}" + esac + + myconf+=" $(gyp_use readline console readline dumb)" + + # Make sure that -Werror doesn't get added to CFLAGS by the build system. + # Depending on GCC version the warnings are different and we don't + # want the build to fail because of that. + myconf+=" -Dwerror=" + + # gyp does this only for linux, but we always want to use "out" dir, or + # all else below fails due to not finding "out" dir + myconf+=" --generator-output=out" + # gyp defaults to whatever makes the most sense on the platform at hand, + # but we want to build using Makefiles, so force that + myconf+=" -f make" + + EGYP_CHROMIUM_COMMAND=build/gyp_v8 egyp_chromium ${myconf} || die +} + +src_compile() { + local makeargs=( + -C out + builddir="${S}/out/Release" + V=1 + BUILDTYPE=Release + ) + + # Build mksnapshot so we can pax-mark it. + emake "${makeargs[@]}" mksnapshot + pax-mark m out/Release/mksnapshot + + # Build everything else. + emake "${makeargs[@]}" + pax-mark m out/Release/{cctest,d8} +} + +src_test() { + LD_LIBRARY_PATH=out/Release/lib.target tools/run-tests.py \ + -j$(makeopts_jobs) \ + --no-presubmit \ + --outdir=out \ + --buildbot \ + --arch=native \ + --mode=Release \ + --progress=dots || die +} + +src_install() { + insinto /usr + doins -r include + + if [[ ${CHOST} == *-darwin* ]] ; then + # buildsystem is too horrific to get this built correctly + mkdir -p out/Release/lib.target || die + mv out/Release/libv8.so.${soname_version} \ + out/Release/lib.target/libv8$(get_libname ${soname_version}) || die + install_name_tool \ + -id "${EPREFIX}"/usr/$(get_libdir)/libv8$(get_libname) \ + out/Release/lib.target/libv8$(get_libname ${soname_version}) \ + || die + install_name_tool \ + -change \ + /usr/local/lib/libv8.so.${soname_version} \ + "${EPREFIX}"/usr/$(get_libdir)/libv8$(get_libname) \ + out/Release/d8 || die + fi + + dobin out/Release/d8 + pax-mark m "${ED}usr/bin/d8" + + dolib out/Release/lib.target/libv8$(get_libname ${soname_version}) + dosym libv8$(get_libname ${soname_version}) /usr/$(get_libdir)/libv8$(get_libname) + + dodoc AUTHORS ChangeLog || die +} + +# TODO: remove functions below after they are removed from chromium.eclass' +# EXPORT_FUNCTIONS . + +pkg_preinst() { + return +} + +pkg_postinst() { + return +} + +pkg_postrm() { + return +} |