nixpkgs/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
2016-09-24 13:09:10 -04:00

36 lines
993 B
Nix

{ buildOcaml, opam, js_build_tools, ocaml_oasis_46, fetchurl } :
{ name, version ? "113.33.03", buildInputs ? [],
hash ? "",
minimumSupportedOcamlVersion ? "4.02", ...
}@args:
buildOcaml (args // {
inherit name version minimumSupportedOcamlVersion;
src = fetchurl {
url = "https://github.com/janestreet/${name}/archive/${version}.tar.gz";
sha256 = hash;
};
hasSharedObjects = true;
buildInputs = [ ocaml_oasis_46 js_build_tools opam ] ++ buildInputs;
dontAddPrefix = true;
configurePhase = "./configure --prefix $out";
buildPhase = "OCAML_TOPLEVEL_PATH=`ocamlfind query findlib`/.. make";
installPhase = ''
opam-installer -i --prefix $prefix --libdir `ocamlfind printconf destdir` --stubsdir `ocamlfind printconf destdir`/${name} ${name}.install
if [ -d $out/lib/${name} ]
then if [ "$(ls -A $out/lib/${name})" ]
then mv $out/lib/${name}/* `ocamlfind printconf destdir`/${name}
fi
rmdir $out/lib/${name}
fi
'';
})