PKGBUILDs/community/v8/PKGBUILD
2012-11-15 00:49:59 -05:00

81 lines
2.5 KiB
Bash

# $Id: PKGBUILD 62986 2012-01-30 06:42:07Z tdziedzic $
# Maintainer: Kaiting Chen <kaitocracy@gmail.com>
# Contributor: tocer <tocer.deng@gmail.com>
# Contributor: WarheadsSE <max@warheads.net>
pkgname=v8
pkgver=3.14.0
pkgrel=1
plugrel=1
pkgdesc='A fast and modern javascript engine'
arch=('i686' 'x86_64')
url='http://code.google.com/p/v8'
license=('BSD')
depends=('gcc-libs')
makedepends=('subversion' 'python2')
source=('v8.common.gypi.patch')
md5sums=('8051d31df84530df64752dafad9833b0')
build() {
_source="http://v8.googlecode.com/svn/tags/${pkgver}"
svn checkout "$_source" "${srcdir}/v8-${pkgver}"
cd "${srcdir}/${pkgname}-${pkgver}"
if [ "$CARCH" == "arm" ]; then
# we need to override the arch (last one will be used) because
# v8 thinks armv5te can use unaligned.. the kirkwood can't!
# There is still a bug in the V8::internals::string
CXXFLAGS="$CXXFLAGS -march=armv5t -mno-unaligned-access" ;
GYPFLAGS="-Darmeabi=soft -Dv8_can_use_vfp_instructions=false -Dv8_can_use_unaligned_accesses=false -Darmv7=0"
VFP3=off
VFP2=off
fi
if [ "$CARCH" == "armv6h" ]; then
GYPFLAGS="-Darmeabi=hard -Dv8_use_arm_eabi_hardfloat=true -Dv8_can_use_vfp_instructions=false -Dv8_can_use_vfp2_instructions=true -Darm7=0 -Darm_vfp=vfp"
VFP3=off
VFP2=on
fi
if [ "$CARCH" == "armv7h" ]; then
GYPFLAGS="-Darmeabi=hard -Dv8_use_arm_eabi_hardfloat=true -Dv8_can_use_vfp_instructions=true -Dv8_can_use_vfp2_instructions=true -Darm7=1"
VFP3=on
VFP2=on
fi
export GYPFLAGS
export CXXFLAGS ;
# short-cutting python=python2 for GYP, as it will only be used here.
export PYTHON=python2
if [ ! -f "${srcdir}/python" ]; then
ln -s `which python2` ${srcdir}/python ;
fi
PATH="${srcdir}:$PATH";
export PATH ;
# patch build/common.gypi for VFPX selection @ hard.
patch -p1 < ../v8.common.gypi.patch
# gets gyp
make dependencies
# make arm.release & arm.debug = just arm
make arm.release library=shared snapshot=off vfp3=$VFP3 vfp=$VFP2
# eo build
}
# seperated to possibly split v8-debug in the future.
package (){
cd "${srcdir}/${pkgname}-${pkgver}"
find include -type f \
-exec install -Dm644 {} ${pkgdir}/usr/{} \;
rm -rf ${pkgdir}/usr/include/.svn
# these barf, need updated.
# src/v8-3.11.10/out/arm.release/d8
# src/v8-3.11.10/out/arm.release/lib.target/libv8.so
install -Dm755 out/arm.release/d8 "${pkgdir}/usr/bin/d8"
install -Dm755 out/arm.release/lib.target/libv8.so "${pkgdir}/usr/lib/libv8.so"
install -d ${pkgdir}/usr/share/licenses/v8
install -m644 LICENSE* ${pkgdir}/usr/share/licenses/v8
}