nixpkgs/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
2016-09-14 02:34:32 -04:00

31 lines
962 B
Nix

{ buildOcaml, opam, js_build_tools, ocaml_oasis, 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 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
'';
})