Files
haikuports/dev-lang/v8/v8-3.16.1.recipe
Toby Chen 31a299c881 Safe download sources
Use safe download sources for various packages, and fix several styling issues.
2016-01-03 20:24:13 -05:00

99 lines
2.7 KiB
Bash

SUMMARY="Google's open source JavaScript engine"
DESCRIPTION="V8 is Google's open source JavaScript engine. V8 is written in \
C++ and is used in Google Chrome, the open source browser from Google. V8 \
implements ECMAScript as specified in ECMA-262, 5th edition, and runs on \
Windows (XP or newer), Mac OS X (10.5 or newer), and Linux systems that use \
IA-32, x64, or ARM processors. V8 can run standalone, or can be embedded into \
any C++ application."
HOMEPAGE="https://code.google.com/p/v8/"
COPYRIGHT="2006-2012 The V8 Project Authors"
LICENSE="BSD (3-clause)"
REVISION="1"
SOURCE_URI="https://github.com/hamishm/v8/archive/5698a306a855321cf95c7f7436a6f46a6b7c44ca.tar.gz"
SOURCE_URI_2="https://chromium.googlesource.com/external/gyp/+archive/072660db6ec1fafc1e0997439b5015913f0b9aa5.tar.gz"
CHECKSUM_SHA256="ffc02157cc9bdbae483b126aaeb33aa5af24f104a3fc7980a99e9ea81724f545"
CHECKSUM_SHA256_2="7ee42deb9aca4093ed723f6f4e951bb90dac08f7a14ccf2d33e32c9ce42e4682"
SOURCE_DIR="v8-5698a306a855321cf95c7f7436a6f46a6b7c44ca"
PATCHES="v8-3.16.1.patch"
ARCHITECTURES="!x86_gcc2 ?x86"
SECONDARY_ARCHITECTURES="?x86"
# On x86_gcc2 we don't want to install the commands in bin/<arch>/, but in bin/.
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
v8$secondaryArchSuffix = $portVersion
cmd:d8$commandSuffix = $portVersion
lib:libv8$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
PROVIDES_devel="
v8${secondaryArchSuffix}_devel = $portVersion
devel:libv8$secondaryArchSuffix
"
REQUIRES_devel="
v8$secondaryArchSuffix == $portVersion
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:g++$secondaryArchSuffix
cmd:make
cmd:python
cmd:which
cmd:ar$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
"
PATCH()
{
cd $sourceDir2
patch -p0 -i $(haikuporter -t)/dev-lang/v8/patches/gyp-r1773.patch
}
BUILD()
{
ln -sfn $sourceDir2 build/gyp
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
-Ibuild/standalone.gypi --depth=. \
-Dv8_target_arch=ia32 \
-S.ia32 \
-Dcomponent=shared_library \
-Dv8_enable_backtrace=1 \
-Dv8_can_use_vfp2_instructions=true \
-Dv8_can_use_vfp3_instructions=true
# enable these in the future?
#-Duse_system_icu=1 \
#-Dconsole=readline
make library=shared ia32.release $jobArgs
}
INSTALL()
{
mkdir $commandBinDir
cp -af out/ia32.release/d8 ${commandBinDir}
mkdir -p ${includeDir}/v8
cp -af include/* ${includeDir}/v8
mkdir -p ${libDir}
cp -af out/ia32.release/lib.target/libv8.so ${libDir}
prepareInstalledDevelLibs libv8
packageEntries devel $developDir
}