nixpkgs-suyu/pkgs/development/compilers/haxe/default.nix
aszlig c6c7019091
haxe: Remove build files of haxelib/haxedoc early.
Previously, we installed std by omitting the tools directory. Now, there are
occasions where you actually want to use things like tools.haxelib from within
your project, for example to create something that interfaces with the haxelib
API. So we now just remove all files in there that were created during the main
build in postBuild.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2012-10-08 02:26:09 +02:00

37 lines
976 B
Nix

{ stdenv, fetchsvn, ocaml, zlib, neko }:
stdenv.mkDerivation {
name = "haxe-2.10";
buildInputs = [ocaml zlib neko];
src = fetchsvn {
url = "http://haxe.googlecode.com/svn/tags/v2-10";
sha256 = "dbd3c655e4136eb68a165ef83b96bfc1f0f2eb9ec8729603b19bcd717a61a679";
};
prePatch = ''
sed -i -e 's|com.class_path <- \[|&"'"$out/lib/haxe/std/"'";|' main.ml
'';
postBuild = ''
find std/tools -name '*.n' -delete
rm std/tools/haxedoc/haxedoc std/tools/haxelib/haxelib
'';
installPhase = ''
install -vd "$out/bin" "$out/lib/haxe/std"
install -vt "$out/bin" haxe haxelib haxedoc
cp -vr std "$out/lib/haxe"
'';
dontStrip = true;
meta = {
description = "Programming language targeting JavaScript, Flash, NekoVM, PHP, C++";
homepage = http://haxe.org;
license = ["GPLv2" "BSD2" /*?*/ ]; # -> docs/license.txt
maintainers = [stdenv.lib.maintainers.marcweber];
platforms = stdenv.lib.platforms.linux;
};
}