summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Hajdan <phajdan.jr@gentoo.org>2013-05-23 20:17:34 +0000
committerPaweł Hajdan <phajdan.jr@gentoo.org>2013-05-23 20:17:34 +0000
commite0b04eb4b83535a2b95520b1b8eeedd3612c20e0 (patch)
tree190e788220d5771ebd930cc44b1d00dafc63dad8 /dev-lang
parentRespect AR (bug #468170) and RANLIB (bug #468190), switch to EAPI5, removed old (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--dev-lang/v8/v8-3.17.6.14.ebuild146
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
+}