2012-01-18 21:32:23 +01:00
|
|
|
{ stdenv, fetchsvn, python, scons, readline, makeWrapper }:
|
|
|
|
|
|
|
|
assert readline != null;
|
2010-11-22 15:23:06 +01:00
|
|
|
|
|
|
|
let
|
|
|
|
system = stdenv.system;
|
2012-01-18 21:32:23 +01:00
|
|
|
arch = if system == "i686-linux" then "ia32" else if system == "x86_64-linux" then "x64" else "";
|
|
|
|
version = "3.6.6.17";
|
2010-11-22 15:23:06 +01:00
|
|
|
in
|
2010-11-22 15:32:43 +01:00
|
|
|
assert system == "i686-linux" || system == "x86_64-linux";
|
2010-11-22 15:23:06 +01:00
|
|
|
stdenv.mkDerivation rec {
|
2012-01-18 21:32:23 +01:00
|
|
|
name = "v8-${version}";
|
2010-11-22 15:23:06 +01:00
|
|
|
src = fetchsvn {
|
2012-01-18 21:32:23 +01:00
|
|
|
url = "http://v8.googlecode.com/svn/tags/${version}";
|
|
|
|
sha256 = "7080d53b9d3aefc591c2e181dcf97d538ce36177284fc658eca6420ea36a926f";
|
2010-11-22 15:23:06 +01:00
|
|
|
};
|
2012-01-18 21:32:23 +01:00
|
|
|
|
|
|
|
buildInputs = [python scons readline makeWrapper];
|
|
|
|
|
2010-11-22 15:23:06 +01:00
|
|
|
buildPhase = ''
|
|
|
|
export CXX=`type -p g++`
|
2012-01-18 21:32:23 +01:00
|
|
|
export CPPPATH=${readline}/include
|
|
|
|
export LIBPATH=${readline}/lib
|
|
|
|
scons snapshot=on console=readline library=shared importenv=PATH arch=${arch} library d8
|
2010-11-22 15:23:06 +01:00
|
|
|
'';
|
2012-01-18 21:32:23 +01:00
|
|
|
|
2010-11-22 15:23:06 +01:00
|
|
|
installPhase = ''
|
|
|
|
ensureDir $out/bin
|
|
|
|
ensureDir $out/lib
|
2012-01-18 21:32:23 +01:00
|
|
|
|
2010-11-22 15:23:06 +01:00
|
|
|
cp -v libv8.* $out/lib
|
2012-01-18 21:32:23 +01:00
|
|
|
cp -v d8 $out/bin/d8
|
2010-11-22 15:23:06 +01:00
|
|
|
cp -vR include $out/
|
2012-01-18 21:32:23 +01:00
|
|
|
wrapProgram $out/bin/d8 --set LD_LIBRARY_PATH $out/lib
|
2010-11-22 15:23:06 +01:00
|
|
|
'';
|
|
|
|
}
|