diff --git a/pkgs/development/ocaml-modules/alcotest/default.nix b/pkgs/development/ocaml-modules/alcotest/default.nix index bf0ae24ff03d..90ee8d905a6e 100644 --- a/pkgs/development/ocaml-modules/alcotest/default.nix +++ b/pkgs/development/ocaml-modules/alcotest/default.nix @@ -1,20 +1,35 @@ -{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, opam, cmdliner, astring, fmt, result }: +{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, topkg, opam, jbuilder +, cmdliner, astring, fmt, result +}: + +let param = + if stdenv.lib.versionAtLeast ocaml.version "4.02" then { + version = "0.8.1"; + sha256 = "1bjhgwmshlaz9xncrrkknys7prigf8vlg1kqvfx9l8kn92mlf10b"; + buildInputs = [ jbuilder ]; + buildPhase = "jbuilder build -p alcotest"; + inherit (jbuilder) installPhase; + } else { + version = "0.7.2"; + sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md"; + buildInputs = [ ocamlbuild opam topkg ]; + inherit (topkg) buildPhase installPhase; + }; +in stdenv.mkDerivation rec { name = "ocaml${ocaml.version}-alcotest-${version}"; - version = "0.7.2"; + inherit (param) version buildPhase installPhase; src = fetchzip { url = "https://github.com/mirage/alcotest/archive/${version}.tar.gz"; - sha256 = "1qgsz2zz5ky6s5pf3j3shc4fjc36rqnjflk8x0wl1fcpvvkr52md"; + inherit (param) sha256; }; - buildInputs = [ ocaml findlib ocamlbuild opam topkg ]; + buildInputs = [ ocaml findlib ] ++ param.buildInputs; propagatedBuildInputs = [ cmdliner astring fmt result ]; - inherit (topkg) buildPhase installPhase; - createFindlibDestdir = true; meta = with stdenv.lib; {