diff --git a/pkgs/development/ocaml-modules/cstruct/sexp.nix b/pkgs/development/ocaml-modules/cstruct/sexp.nix index 9a1ef0dd301..d0df442013f 100644 --- a/pkgs/development/ocaml-modules/cstruct/sexp.nix +++ b/pkgs/development/ocaml-modules/cstruct/sexp.nix @@ -1,15 +1,15 @@ -{ lib, buildDunePackage, alcotest, cstruct, sexplib }: +{ lib, buildDunePackage, ocaml, alcotest, cstruct, sexplib }: if !lib.versionAtLeast (cstruct.version or "1") "3" then cstruct else -buildDunePackage { +buildDunePackage rec { pname = "cstruct-sexp"; inherit (cstruct) version src meta; - doCheck = true; - buildInputs = [ alcotest ]; + doCheck = lib.versionAtLeast ocaml.version "4.03"; + checkInputs = lib.optional doCheck alcotest; propagatedBuildInputs = [ cstruct sexplib ]; } diff --git a/pkgs/development/ocaml-modules/fmt/default.nix b/pkgs/development/ocaml-modules/fmt/default.nix index 2b1d92c56ed..5f63be43a5e 100644 --- a/pkgs/development/ocaml-modules/fmt/default.nix +++ b/pkgs/development/ocaml-modules/fmt/default.nix @@ -1,16 +1,21 @@ -{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner, result, uchar }: +{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, cmdliner, seq, stdlib-shims }: -stdenv.mkDerivation { - name = "ocaml${ocaml.version}-fmt-0.8.5"; +if !stdenv.lib.versionAtLeast ocaml.version "4.03" +then throw "fmt is not available for OCaml ${ocaml.version}" +else + +stdenv.mkDerivation rec { + version = "0.8.6"; + pname = "ocaml${ocaml.version}-fmt"; src = fetchurl { - url = "https://erratique.ch/software/fmt/releases/fmt-0.8.5.tbz"; - sha256 = "1zj9azcxcn6skmb69ykgmi9z8c50yskwg03wqgh87lypgjdcz060"; + url = "https://erratique.ch/software/fmt/releases/fmt-${version}.tbz"; + sha256 = "1jlw5izgvqw1adzqi87rp0383j0vj52wmacy3rqw87vxkf7a3xin"; }; nativeBuildInputs = [ ocaml findlib ocamlbuild ]; buildInputs = [ findlib topkg cmdliner ]; - propagatedBuildInputs = [ result uchar ]; + propagatedBuildInputs = [ seq stdlib-shims ]; inherit (topkg) buildPhase installPhase; diff --git a/pkgs/development/ocaml-modules/ppx_blob/default.nix b/pkgs/development/ocaml-modules/ppx_blob/default.nix index b6a451848c9..d7d662e74a5 100644 --- a/pkgs/development/ocaml-modules/ppx_blob/default.nix +++ b/pkgs/development/ocaml-modules/ppx_blob/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, buildDunePackage, alcotest, ocaml-migrate-parsetree }: +{ lib, fetchurl, buildDunePackage, ocaml, alcotest, ocaml-migrate-parsetree }: buildDunePackage rec { pname = "ppx_blob"; @@ -9,10 +9,11 @@ buildDunePackage rec { sha256 = "1xmslk1mwdzhy1bydgsjlcb7h544c39hvxa8lywp8w72gaggjl16"; }; - buildInputs = [ alcotest ocaml-migrate-parsetree ]; - doCheck = true; + checkInputs = lib.optional doCheck alcotest; + buildInputs = [ ocaml-migrate-parsetree ]; + doCheck = lib.versionAtLeast ocaml.version "4.03"; - meta = with stdenv.lib; { + meta = with lib; { homepage = "https://github.com/johnwhitington/ppx_blob"; description = "OCaml ppx to include binary data from a file as a string"; license = licenses.unlicense;