diff --git a/pkgs/development/tools/ocaml/ocamlbuild/default.nix b/pkgs/development/tools/ocaml/ocamlbuild/default.nix index 0c8fd4b4e7b4..6696a99977a0 100644 --- a/pkgs/development/tools/ocaml/ocamlbuild/default.nix +++ b/pkgs/development/tools/ocaml/ocamlbuild/default.nix @@ -1,13 +1,19 @@ -{ lib, stdenv, fetchFromGitHub, ocaml, findlib }: -stdenv.mkDerivation rec { +{ lib, stdenv, fetchFromGitHub, ocaml, findlib +, version ? if lib.versionAtLeast ocaml.version "4.07" then "0.15.0" else "0.14.3" +}: + +stdenv.mkDerivation (finalAttrs: { pname = "ocaml${ocaml.version}-ocamlbuild"; - version = "0.15.0"; + inherit version; src = fetchFromGitHub { owner = "ocaml"; repo = "ocamlbuild"; - rev = version; - sha256 = "sha256-j4Nd5flyvshIo+XFtBS0fKqdd9YcxYsjE7ty6rZLDRc="; + rev = finalAttrs.version; + hash = { + "0.14.3" = "sha256-dfcNu4ugOYu/M0rRQla7lXum/g1UzncdLGmpPYo0QUM="; + "0.15.0" = "sha256-j4Nd5flyvshIo+XFtBS0fKqdd9YcxYsjE7ty6rZLDRc="; + }."${finalAttrs.version}"; }; createFindlibDestdir = true; @@ -38,4 +44,4 @@ stdenv.mkDerivation rec { mainProgram = "ocamlbuild"; inherit (ocaml.meta) platforms; }; -} +})