From d814c50505c0583bc2b80e6af2f62fe02cb24971 Mon Sep 17 00:00:00 2001 From: Eric Merritt Date: Thu, 21 May 2015 11:03:57 -0500 Subject: add an ocaml specific builder to the system --- pkgs/build-support/ocaml/default.nix | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 pkgs/build-support/ocaml/default.nix (limited to 'pkgs/build-support/ocaml') diff --git a/pkgs/build-support/ocaml/default.nix b/pkgs/build-support/ocaml/default.nix new file mode 100644 index 00000000000..87bfa6cea12 --- /dev/null +++ b/pkgs/build-support/ocaml/default.nix @@ -0,0 +1,36 @@ +{ stdenv, writeText, ocaml, findlib, camlp4 }: + +{ name, version, buildInputs ? [], + createFindlibDestdir ? true, + dontStrip ? true, + minimumSupportedOcamlVersion ? null, + hasSharedObjects ? false, + setupHook ? null, + meta ? {}, ... +}@args: +let + ocaml_version = (builtins.parseDrvName ocaml.name).version; + defaultMeta = { + platforms = ocaml.meta.platforms; + }; +in + assert minimumSupportedOcamlVersion != null -> + stdenv.lib.versionOlder minimumSupportedOcamlVersion ocaml_version; + +stdenv.mkDerivation (args // { + name = "ocaml-${name}-${version}"; + + buildInputs = [ ocaml findlib camlp4 ] ++ buildInputs; + + setupHook = if setupHook == null && hasSharedObjects + then writeText "setupHook.sh" '' + export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml_version}/site-lib/${name}/" + '' + else setupHook; + + inherit ocaml_version; + inherit createFindlibDestdir; + inherit dontStrip; + + meta = defaultMeta // meta; +}) -- cgit 1.4.1