summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/stanc/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/afl-persistent/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/alcotest/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/angstrom/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/apron/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/arp/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/asn1-combinators/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/atdgen/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/awa/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/awa/lwt.nix3
-rw-r--r--pkgs/development/ocaml-modules/bap/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/base64/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/benchmark/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/bheap/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/bigarray-overlap/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/bigstringaf/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/bindlib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/biocaml/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/bitstring/ppx.nix2
-rw-r--r--pkgs/development/ocaml-modules/bls12-381-signature/default.nix20
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/bls12-381/legacy.nix2
-rw-r--r--pkgs/development/ocaml-modules/bwd/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ca-certs-nss/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ca-certs/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/callipyge/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/camlimages/4.2.4.nix4
-rw-r--r--pkgs/development/ocaml-modules/caqti/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/carton/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/carton/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/chacha/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/checkseum/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/class_group_vdf/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/cohttp/async.nix2
-rw-r--r--pkgs/development/ocaml-modules/cohttp/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cohttp/lwt-unix.nix9
-rw-r--r--pkgs/development/ocaml-modules/conduit/lwt-unix.nix2
-rw-r--r--pkgs/development/ocaml-modules/containers/data.nix2
-rw-r--r--pkgs/development/ocaml-modules/containers/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cooltt/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/cow/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/cpu/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/crowbar/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/cstruct/ppx.nix17
-rw-r--r--pkgs/development/ocaml-modules/cstruct/sexp.nix2
-rw-r--r--pkgs/development/ocaml-modules/ctypes_stubs_js/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/cudf/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/curly/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/curses/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/data-encoding/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/decompress/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/diet/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/digestif/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/dispatch/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/dns/cli.nix2
-rw-r--r--pkgs/development/ocaml-modules/dns/client.nix27
-rw-r--r--pkgs/development/ocaml-modules/dns/default.nix18
-rw-r--r--pkgs/development/ocaml-modules/dns/dnssec.nix15
-rw-r--r--pkgs/development/ocaml-modules/dns/resolver.nix20
-rw-r--r--pkgs/development/ocaml-modules/dns/server.nix18
-rw-r--r--pkgs/development/ocaml-modules/dns/tsig.nix2
-rw-r--r--pkgs/development/ocaml-modules/domain-name/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/domainslib/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/dose3/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/dtoa/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/duff/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/dune-build-info/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/duration/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/earlybird/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/elpi/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/emile/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/encore/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/ethernet/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/faraday/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ff/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ff/pbt.nix2
-rw-r--r--pkgs/development/ocaml-modules/fileutils/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/gapi-ocaml/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/gen/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/gg/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/git/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/git/mirage.nix5
-rw-r--r--pkgs/development/ocaml-modules/git/unix.nix12
-rw-r--r--pkgs/development/ocaml-modules/gmap/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/graphql/cohttp.nix16
-rw-r--r--pkgs/development/ocaml-modules/graphql/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/graphql/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/graphql/parser.nix2
-rw-r--r--pkgs/development/ocaml-modules/graphql_ppx/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/h2/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/hkdf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/httpaf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/imagelib/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/index/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/inotify/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/io-page/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/ipaddr/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ipaddr/sexp.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/chunk.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/containers.nix12
-rw-r--r--pkgs/development/ocaml-modules/irmin/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/fs.nix5
-rw-r--r--pkgs/development/ocaml-modules/irmin/git.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/graphql.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/http.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/pack.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/test.nix2
-rw-r--r--pkgs/development/ocaml-modules/irmin/tezos.nix18
-rw-r--r--pkgs/development/ocaml-modules/iter/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.14.nix10
-rw-r--r--pkgs/development/ocaml-modules/janestreet/0.15.nix2
-rw-r--r--pkgs/development/ocaml-modules/jingoo/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/json-data-encoding/bson.nix2
-rw-r--r--pkgs/development/ocaml-modules/json-data-encoding/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/jwto/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ke/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix2
-rw-r--r--pkgs/development/ocaml-modules/lablgtk-extras/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/labltk/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lambdapi/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lambdasoup/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lens/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/letsencrypt/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lockfree/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lru/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/luv/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/lwt-dllist/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/macaddr/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/macaddr/sexp.nix2
-rw-r--r--pkgs/development/ocaml-modules/markup/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mdx/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/mec/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/metrics/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/metrics/unix.nix3
-rw-r--r--pkgs/development/ocaml-modules/mimic/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mirage-block-unix/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/mirage-channel/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mirage-crypto/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mirage-crypto/ec.nix5
-rw-r--r--pkgs/development/ocaml-modules/mirage-crypto/pk.nix4
-rw-r--r--pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix4
-rw-r--r--pkgs/development/ocaml-modules/mirage-crypto/rng.nix4
-rw-r--r--pkgs/development/ocaml-modules/mirage-flow/unix.nix5
-rw-r--r--pkgs/development/ocaml-modules/mirage-kv/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mirage-logs/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mirage-nat/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mirage/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mirage/runtime.nix2
-rw-r--r--pkgs/development/ocaml-modules/mrmime/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/multipart-form-data/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/mustache/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/netchannel/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-cairo/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-freestanding/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocaml-gettext/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocaml-vdom/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocaml-version/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/ocamlnat/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlsdl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocsigen-server/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/odoc/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/opium/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/oseq/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/owl/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/paf/cohttp.nix4
-rw-r--r--pkgs/development/ocaml-modules/paf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/parse-argv/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/pbkdf/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/pcap-format/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/pecu/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/phylogenetics/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/piqi-ocaml/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/postgresql/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/pp/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ppx_blob/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_cmdliner/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/pratter/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/prettym/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/progress/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/psq/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/reason-native/refmterr.nix1
-rw-r--r--pkgs/development/ocaml-modules/repr/ppx.nix2
-rw-r--r--pkgs/development/ocaml-modules/rfc7748/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/rpclib/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/rpclib/lwt.nix10
-rw-r--r--pkgs/development/ocaml-modules/secp256k1-internal/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sha/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/shared-memory-ring/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/ssl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/stdint/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/stringext/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/syslog-message/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/tcpip/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/terminal/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/terminal_size/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix2
-rw-r--r--pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix24
-rw-r--r--pkgs/development/ocaml-modules/tls/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/tsdl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uecc/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/unstrctrd/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uri/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uri/sexp.nix2
-rw-r--r--pkgs/development/ocaml-modules/uucp/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uuidm/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/uuuu/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/vchan/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/wayland/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/webmachine/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/x509/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/xenstore/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/yaml/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/yojson/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/yuscii/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/yuujinchou/default.nix2
-rw-r--r--pkgs/development/tools/comby/default.nix17
-rw-r--r--pkgs/development/tools/ocaml/camlp4/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/camlp5/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/cppo/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/dune-release/default.nix5
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix4
-rw-r--r--pkgs/development/tools/ocaml/obuild/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocaml-top/default.nix3
-rw-r--r--pkgs/development/tools/ocaml/ocamlify/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocamlmod/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocamlscript/default.nix2
-rw-r--r--pkgs/development/tools/ocaml/ocp-build/default.nix5
-rw-r--r--pkgs/development/tools/ocaml/ocsigen-i18n/default.nix5
-rw-r--r--pkgs/development/tools/ocaml/omake/default.nix5
-rw-r--r--pkgs/development/tools/ocaml/opam/1.2.2.nix6
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix6
-rwxr-xr-xpkgs/development/tools/ocaml/opam/opam.nix.pl6
-rw-r--r--pkgs/development/tools/ocaml/utop/default.nix2
242 files changed, 635 insertions, 395 deletions
diff --git a/pkgs/development/compilers/stanc/default.nix b/pkgs/development/compilers/stanc/default.nix
index e3df16230a7..b4d0c5e6823 100644
--- a/pkgs/development/compilers/stanc/default.nix
+++ b/pkgs/development/compilers/stanc/default.nix
@@ -22,9 +22,11 @@ ocamlPackages.buildDunePackage rec {
       --replace "if Sys.file_exists (to_windows path) then to_windows cmd else cmd" "cmd"
   '';
 
+  nativeBuildInputs = with ocamlPackages; [
+    menhir
+  ];
   buildInputs = with ocamlPackages; [
     core_unix
-    menhir
     menhirLib
     ppx_deriving
     fmt
diff --git a/pkgs/development/ocaml-modules/afl-persistent/default.nix b/pkgs/development/ocaml-modules/afl-persistent/default.nix
index ba266ade830..04d31c88156 100644
--- a/pkgs/development/ocaml-modules/afl-persistent/default.nix
+++ b/pkgs/development/ocaml-modules/afl-persistent/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
     sha256 = "06yyds2vcwlfr2nd3gvyrazlijjcrd1abnvkfpkaadgwdw3qam1i";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ ocaml findlib ];
 
   # don't run tests in buildPhase
diff --git a/pkgs/development/ocaml-modules/alcotest/lwt.nix b/pkgs/development/ocaml-modules/alcotest/lwt.nix
index dae42e2b97b..c52079f5ccb 100644
--- a/pkgs/development/ocaml-modules/alcotest/lwt.nix
+++ b/pkgs/development/ocaml-modules/alcotest/lwt.nix
@@ -10,7 +10,7 @@ buildDunePackage {
   propagatedBuildInputs = [ alcotest logs lwt fmt ];
 
   doCheck = true;
-  nativeCheckInputs = [ re cmdliner ];
+  checkInputs = [ re cmdliner ];
 
   meta = alcotest.meta // {
     description = "Lwt-based helpers for Alcotest";
diff --git a/pkgs/development/ocaml-modules/angstrom/default.nix b/pkgs/development/ocaml-modules/angstrom/default.nix
index 52b65817c6f..502bd2ad44d 100644
--- a/pkgs/development/ocaml-modules/angstrom/default.nix
+++ b/pkgs/development/ocaml-modules/angstrom/default.nix
@@ -14,7 +14,7 @@ buildDunePackage rec {
     sha256 = "1hmrkdcdlkwy7rxhngf3cv3sa61cznnd9p5lmqhx20664gx2ibrh";
   };
 
-  nativeCheckInputs = [ alcotest ppx_let ];
+  checkInputs = [ alcotest ppx_let ];
   buildInputs = [ ocaml-syntax-shims ];
   propagatedBuildInputs = [ bigstringaf result ];
   doCheck = lib.versionAtLeast ocaml.version "4.08";
diff --git a/pkgs/development/ocaml-modules/apron/default.nix b/pkgs/development/ocaml-modules/apron/default.nix
index c74545caf24..fddf128d0d9 100644
--- a/pkgs/development/ocaml-modules/apron/default.nix
+++ b/pkgs/development/ocaml-modules/apron/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gmp mpfr ppl camlidl ];
   propagatedBuildInputs = [ mlgmpidl ];
 
+  # TODO: Doesn't produce the library correctly if true
   strictDeps = false;
 
   outputs = [ "out" "bin" "dev" ];
diff --git a/pkgs/development/ocaml-modules/arp/default.nix b/pkgs/development/ocaml-modules/arp/default.nix
index cdf657ea72e..4c98f5b377b 100644
--- a/pkgs/development/ocaml-modules/arp/default.nix
+++ b/pkgs/development/ocaml-modules/arp/default.nix
@@ -36,7 +36,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     mirage-clock-unix
     mirage-profile
diff --git a/pkgs/development/ocaml-modules/asn1-combinators/default.nix b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
index 720294e65e6..8447c25cd70 100644
--- a/pkgs/development/ocaml-modules/asn1-combinators/default.nix
+++ b/pkgs/development/ocaml-modules/asn1-combinators/default.nix
@@ -16,7 +16,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ cstruct zarith bigarray-compat stdlib-shims ptime ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = with lib; {
     homepage = "https://github.com/mirleft/ocaml-asn1-combinators";
diff --git a/pkgs/development/ocaml-modules/atdgen/default.nix b/pkgs/development/ocaml-modules/atdgen/default.nix
index a8d2ef0ace1..cd56271e655 100644
--- a/pkgs/development/ocaml-modules/atdgen/default.nix
+++ b/pkgs/development/ocaml-modules/atdgen/default.nix
@@ -10,10 +10,10 @@ buildDunePackage {
 
   propagatedBuildInputs = [ atdgen-runtime ];
 
+  strictDeps = true;
   doCheck = true;
-  nativeCheckInputs = [ alcotest atdgen-codec-runtime
-    (python3.withPackages (ps: [ ps.jsonschema ]))
-  ];
+  nativeCheckInputs = [ atd (python3.withPackages (ps: [ ps.jsonschema ]))];
+  checkInputs = [ alcotest atdgen-codec-runtime ];
 
   meta = (builtins.removeAttrs atd.meta [ "mainProgram" ]) // {
     description = "Generates efficient JSON serializers, deserializers and validators";
diff --git a/pkgs/development/ocaml-modules/awa/default.nix b/pkgs/development/ocaml-modules/awa/default.nix
index 362edaa95b1..fd0bf82df34 100644
--- a/pkgs/development/ocaml-modules/awa/default.nix
+++ b/pkgs/development/ocaml-modules/awa/default.nix
@@ -18,8 +18,6 @@ buildDunePackage rec {
     hash = "sha256-ae1gTx3Emmkof/2Gnhq0d5RyfkFx21hHkVEVgyPdXuo=";
   };
 
-  nativeBuildInputs = [ ppx_cstruct ];
-
   propagatedBuildInputs = [
     mirage-crypto mirage-crypto-ec mirage-crypto-rng mirage-crypto-pk x509
     cstruct cstruct-sexp sexplib mtime
@@ -27,8 +25,10 @@ buildDunePackage rec {
     ppx_sexp_conv eqaf
   ];
 
+  buildInputs = [ ppx_cstruct ];
+
   doCheck = true;
-  nativeCheckInputs = [ cstruct-unix cmdliner fmt ];
+  checkInputs = [ cstruct-unix cmdliner fmt ];
 
   meta = with lib; {
     description = "SSH implementation in OCaml";
diff --git a/pkgs/development/ocaml-modules/awa/lwt.nix b/pkgs/development/ocaml-modules/awa/lwt.nix
index b155c1b6698..241df784ad5 100644
--- a/pkgs/development/ocaml-modules/awa/lwt.nix
+++ b/pkgs/development/ocaml-modules/awa/lwt.nix
@@ -14,7 +14,8 @@ buildDunePackage {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [ cstruct-unix ];
+  nativeCheckInputs = [ awa ];
+  checkInputs = [ cstruct-unix ];
 
   meta = awa.meta // { mainProgram = "awa_lwt_server"; };
 }
diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix
index 4585f731e3c..0d2b4247bd4 100644
--- a/pkgs/development/ocaml-modules/bap/default.nix
+++ b/pkgs/development/ocaml-modules/bap/default.nix
@@ -38,7 +38,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ which makeWrapper ocaml findlib ocamlbuild ocaml_oasis ];
 
-  buildInputs = [ linenoise
+  buildInputs = [ ocamlbuild
+                  linenoise
                   ounit
                   ppx_bitstring
                   z3
diff --git a/pkgs/development/ocaml-modules/base64/default.nix b/pkgs/development/ocaml-modules/base64/default.nix
index 9420d3c419b..db1a4e85646 100644
--- a/pkgs/development/ocaml-modules/base64/default.nix
+++ b/pkgs/development/ocaml-modules/base64/default.nix
@@ -11,11 +11,11 @@ buildDunePackage rec {
     sha256 = "sha256-WJ3pwAV46/54QZismBjTWGxHSyMWts0+HEbMsfYq46Q=";
   };
 
-  propagatedBuildInputs = [ findlib ];
+  nativeBuildInputs = [ findlib ];
 
   # otherwise fmt breaks evaluation
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ alcotest bos rresult ];
+  checkInputs = [ alcotest bos rresult ];
 
   meta = {
     homepage = "https://github.com/mirage/ocaml-base64";
diff --git a/pkgs/development/ocaml-modules/benchmark/default.nix b/pkgs/development/ocaml-modules/benchmark/default.nix
index 0f5722a44ac..6c579e12718 100644
--- a/pkgs/development/ocaml-modules/benchmark/default.nix
+++ b/pkgs/development/ocaml-modules/benchmark/default.nix
@@ -9,11 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "16wi8ld7c3mq77ylpgbnj8qqqqimyzwxs47v06vyrwpma5pab5xa";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ ocaml findlib ocamlbuild ];
   buildInputs = [ ocaml_pcre ];
 
-  strictDeps = true;
-
   createFindlibDestdir = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/bheap/default.nix b/pkgs/development/ocaml-modules/bheap/default.nix
index 7b23e23fdce..49e5c336d90 100644
--- a/pkgs/development/ocaml-modules/bheap/default.nix
+++ b/pkgs/development/ocaml-modules/bheap/default.nix
@@ -12,7 +12,7 @@ buildDunePackage rec {
   useDune2 = true;
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     stdlib-shims
   ];
 
diff --git a/pkgs/development/ocaml-modules/bigarray-overlap/default.nix b/pkgs/development/ocaml-modules/bigarray-overlap/default.nix
index 7d6bb8806d4..80b61e2bdf3 100644
--- a/pkgs/development/ocaml-modules/bigarray-overlap/default.nix
+++ b/pkgs/development/ocaml-modules/bigarray-overlap/default.nix
@@ -14,12 +14,12 @@ buildDunePackage rec {
   minimumOCamlVersion = "4.07";
   useDune2 = true;
 
-  strictDeps = !doCheck;
+  strictDeps = true;
 
   propagatedBuildInputs = [ bigarray-compat ];
 
   nativeBuildInputs = [ findlib pkg-config ];
-  nativeCheckInputs = [ alcotest astring fpath bos ];
+  checkInputs = [ alcotest astring fpath bos ];
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/bigstringaf/default.nix b/pkgs/development/ocaml-modules/bigstringaf/default.nix
index bd5d470e03f..08f50ea53e1 100644
--- a/pkgs/development/ocaml-modules/bigstringaf/default.nix
+++ b/pkgs/development/ocaml-modules/bigstringaf/default.nix
@@ -13,11 +13,8 @@ buildDunePackage rec {
     sha256 = "sha256-HXPjnE56auy2MI6HV2XuBX/VeqsO50HFzTul17lKEqE=";
   };
 
-  # This currently fails with dune
-  strictDeps = false;
-
   nativeBuildInputs = [ pkg-config ];
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/bindlib/default.nix b/pkgs/development/ocaml-modules/bindlib/default.nix
index 9f4cc91e225..c0d8dd54a37 100644
--- a/pkgs/development/ocaml-modules/bindlib/default.nix
+++ b/pkgs/development/ocaml-modules/bindlib/default.nix
@@ -18,7 +18,7 @@ buildDunePackage rec {
     hash = "sha256-058yMbz9ExvgNG/kY9tPk70XSeVRSSKVg4n4F4fmPu4=";
   };
 
-  nativeCheckInputs = [ earley timed ];
+  checkInputs = [ earley timed ];
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/biocaml/default.nix b/pkgs/development/ocaml-modules/biocaml/default.nix
index 35b36bc9440..006316295e4 100644
--- a/pkgs/development/ocaml-modules/biocaml/default.nix
+++ b/pkgs/development/ocaml-modules/biocaml/default.nix
@@ -1,6 +1,7 @@
 { lib, buildDunePackage, fetchFromGitHub, fetchpatch
 , ounit, async, base64, camlzip, cfstream
-, core, ppx_jane, ppx_sexp_conv, rresult, uri, xmlm }:
+, core, ppx_jane, ppx_sexp_conv, rresult, uri, xmlm
+}:
 
 buildDunePackage rec {
   pname = "biocaml";
@@ -10,8 +11,8 @@ buildDunePackage rec {
 
   src = fetchFromGitHub {
     owner = "biocaml";
-    repo   = pname;
-    rev    = "v${version}";
+    repo = pname;
+    rev = "v${version}";
     sha256 = "01yw12yixs45ya1scpb9jy2f7dw1mbj7741xib2xpq3kkc1hc21s";
   };
 
@@ -21,7 +22,7 @@ buildDunePackage rec {
   };
 
   buildInputs = [ ppx_jane ppx_sexp_conv ];
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
   propagatedBuildInputs = [ async base64 camlzip cfstream core rresult uri xmlm ];
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/bitstring/ppx.nix b/pkgs/development/ocaml-modules/bitstring/ppx.nix
index 2b9cbca2085..9eb4c74f574 100644
--- a/pkgs/development/ocaml-modules/bitstring/ppx.nix
+++ b/pkgs/development/ocaml-modules/bitstring/ppx.nix
@@ -14,7 +14,7 @@ buildDunePackage rec {
   buildInputs = [ bitstring ppxlib ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
 
   meta = bitstring.meta // {
     description = "Bitstrings and bitstring matching for OCaml - PPX extension";
diff --git a/pkgs/development/ocaml-modules/bls12-381-signature/default.nix b/pkgs/development/ocaml-modules/bls12-381-signature/default.nix
index 378af4109cb..db0a383f925 100644
--- a/pkgs/development/ocaml-modules/bls12-381-signature/default.nix
+++ b/pkgs/development/ocaml-modules/bls12-381-signature/default.nix
@@ -1,11 +1,11 @@
-{
-  lib,
-  fetchzip,
-  buildDunePackage,
-  bls12-381,
-  alcotest,
-  bisect_ppx,
-  integers_stubs_js,
+{ lib
+, fetchzip
+, buildDunePackage
+, bls12-381
+, alcotest
+, bisect_ppx
+, integers_stubs_js
+,
 }:
 
 buildDunePackage rec {
@@ -20,7 +20,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ bls12-381 ];
 
-  nativeCheckInputs = [alcotest bisect_ppx integers_stubs_js];
+  checkInputs = [ alcotest bisect_ppx integers_stubs_js ];
 
   doCheck = true;
 
@@ -28,6 +28,6 @@ buildDunePackage rec {
     description = "Implementation of BLS signatures for the pairing-friendly curve BLS12-381";
     license = lib.licenses.mit;
     homepage = "https://gitlab.com/nomadic-labs/cryptography/ocaml-bls12-381-signature";
-    maintainers = [lib.maintainers.ulrikstrid];
+    maintainers = [ lib.maintainers.ulrikstrid ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/bls12-381/default.nix b/pkgs/development/ocaml-modules/bls12-381/default.nix
index b30c1333dff..6c1ff541c5f 100644
--- a/pkgs/development/ocaml-modules/bls12-381/default.nix
+++ b/pkgs/development/ocaml-modules/bls12-381/default.nix
@@ -1,6 +1,7 @@
 { lib, buildDunePackage, fetchFromGitLab
 , ff-sig, zarith, zarith_stubs_js, integers_stubs_js, integers, hex
-, alcotest, ff-pbt }:
+, alcotest, ff-pbt
+}:
 
 buildDunePackage rec {
   pname = "bls12-381";
@@ -23,7 +24,7 @@ buildDunePackage rec {
     hex
   ];
 
-  nativeCheckInputs = [ alcotest ff-pbt ];
+  checkInputs = [ alcotest ff-pbt ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/bls12-381/legacy.nix b/pkgs/development/ocaml-modules/bls12-381/legacy.nix
index 1ae2add2165..c72157c677e 100644
--- a/pkgs/development/ocaml-modules/bls12-381/legacy.nix
+++ b/pkgs/development/ocaml-modules/bls12-381/legacy.nix
@@ -26,7 +26,7 @@ buildDunePackage rec {
     zarith
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
   ];
 
diff --git a/pkgs/development/ocaml-modules/bwd/default.nix b/pkgs/development/ocaml-modules/bwd/default.nix
index 0c5509e08de..aa762502a59 100644
--- a/pkgs/development/ocaml-modules/bwd/default.nix
+++ b/pkgs/development/ocaml-modules/bwd/default.nix
@@ -14,7 +14,7 @@ buildDunePackage rec {
   };
 
   doCheck = true;
-  nativeCheckInputs = [ qcheck-core ];
+  checkInputs = [ qcheck-core ];
 
   meta = {
     description = "Backward Lists";
diff --git a/pkgs/development/ocaml-modules/ca-certs-nss/default.nix b/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
index 73f6838501a..1dab8e4911e 100644
--- a/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
+++ b/pkgs/development/ocaml-modules/ca-certs-nss/default.nix
@@ -39,7 +39,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = with lib; {
     description = "X.509 trust anchors extracted from Mozilla's NSS";
diff --git a/pkgs/development/ocaml-modules/ca-certs/default.nix b/pkgs/development/ocaml-modules/ca-certs/default.nix
index 963989cb223..185944f412e 100644
--- a/pkgs/development/ocaml-modules/ca-certs/default.nix
+++ b/pkgs/development/ocaml-modules/ca-certs/default.nix
@@ -19,7 +19,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ bos fpath ptime mirage-crypto x509 astring logs ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     cacert    # for /etc/ssl/certs/ca-bundle.crt
     alcotest
     fmt
diff --git a/pkgs/development/ocaml-modules/callipyge/default.nix b/pkgs/development/ocaml-modules/callipyge/default.nix
index 145bcedacbc..2004f8868ca 100644
--- a/pkgs/development/ocaml-modules/callipyge/default.nix
+++ b/pkgs/development/ocaml-modules/callipyge/default.nix
@@ -25,7 +25,7 @@ buildDunePackage rec {
 
   # alcotest isn't available for OCaml < 4.08 due to fmt
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = {
     homepage = "https://github.com/oklm-wsh/Callipyge";
diff --git a/pkgs/development/ocaml-modules/camlimages/4.2.4.nix b/pkgs/development/ocaml-modules/camlimages/4.2.4.nix
index b44fd7db6b3..53115c4ecb8 100644
--- a/pkgs/development/ocaml-modules/camlimages/4.2.4.nix
+++ b/pkgs/development/ocaml-modules/camlimages/4.2.4.nix
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
     sha256 = "17hvsql5dml7ialjcags8wphs7w6z88b2rgjir1382bg8vn62bkr";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [
     omake
     ocaml
@@ -65,6 +67,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     # 4.2.5 requires OCaml >= 4.06
     branch = "4.2.4";
+    # incompatible with omake >= 0.10
+    broken = true;
     homepage = "https://gitlab.com/camlspotter/camlimages";
     description = "OCaml image processing library";
     license = licenses.lgpl2Only;
diff --git a/pkgs/development/ocaml-modules/caqti/default.nix b/pkgs/development/ocaml-modules/caqti/default.nix
index 0f37575d86d..18b55b9857e 100644
--- a/pkgs/development/ocaml-modules/caqti/default.nix
+++ b/pkgs/development/ocaml-modules/caqti/default.nix
@@ -1,6 +1,7 @@
 { lib, fetchurl, buildDunePackage, ocaml
 , cppo, logs, ptime, uri, bigstringaf
-, re, cmdliner, alcotest }:
+, re, cmdliner, alcotest
+}:
 
 buildDunePackage rec {
   pname = "caqti";
@@ -15,7 +16,7 @@ buildDunePackage rec {
 
   nativeBuildInputs = [ cppo ];
   propagatedBuildInputs = [ logs ptime uri bigstringaf ];
-  nativeCheckInputs = [ re cmdliner alcotest ];
+  checkInputs = [ re cmdliner alcotest ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/carton/default.nix b/pkgs/development/ocaml-modules/carton/default.nix
index c3d7204f363..727d407ac54 100644
--- a/pkgs/development/ocaml-modules/carton/default.nix
+++ b/pkgs/development/ocaml-modules/carton/default.nix
@@ -56,7 +56,7 @@ buildDunePackage rec {
   nativeBuildInputs = [
     findlib
   ];
-  nativeCheckInputs = [
+  checkInputs = [
     base64
     alcotest
     alcotest-lwt
diff --git a/pkgs/development/ocaml-modules/carton/lwt.nix b/pkgs/development/ocaml-modules/carton/lwt.nix
index 60e45823eb5..03333deff67 100644
--- a/pkgs/development/ocaml-modules/carton/lwt.nix
+++ b/pkgs/development/ocaml-modules/carton/lwt.nix
@@ -24,6 +24,8 @@ buildDunePackage {
   doCheck = true;
   nativeCheckInputs = [
     git-binary
+  ];
+  checkInputs = [
     alcotest
     alcotest-lwt
     cstruct
diff --git a/pkgs/development/ocaml-modules/chacha/default.nix b/pkgs/development/ocaml-modules/chacha/default.nix
index bad57cb9e9b..ebd73b519f9 100644
--- a/pkgs/development/ocaml-modules/chacha/default.nix
+++ b/pkgs/development/ocaml-modules/chacha/default.nix
@@ -32,7 +32,7 @@ buildDunePackage rec {
 
   # alcotest isn't available for OCaml < 4.05 due to fmt
   doCheck = lib.versionAtLeast ocaml.version "4.05";
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = {
     homepage = "https://github.com/abeaumont/ocaml-chacha";
diff --git a/pkgs/development/ocaml-modules/checkseum/default.nix b/pkgs/development/ocaml-modules/checkseum/default.nix
index faeb905e6a7..0b14aa57c74 100644
--- a/pkgs/development/ocaml-modules/checkseum/default.nix
+++ b/pkgs/development/ocaml-modules/checkseum/default.nix
@@ -24,7 +24,7 @@ buildDunePackage rec {
     ocaml-freestanding
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     bos
     astring
diff --git a/pkgs/development/ocaml-modules/class_group_vdf/default.nix b/pkgs/development/ocaml-modules/class_group_vdf/default.nix
index 1290abaa238..f59ad1448a9 100644
--- a/pkgs/development/ocaml-modules/class_group_vdf/default.nix
+++ b/pkgs/development/ocaml-modules/class_group_vdf/default.nix
@@ -1,7 +1,8 @@
 { stdenv, lib, fetchFromGitLab, buildDunePackage
 , gmp, pkg-config, dune-configurator
 , zarith, integers
-, alcotest, bisect_ppx }:
+, alcotest, bisect_ppx
+}:
 
 buildDunePackage rec {
   pname = "class_group_vdf";
@@ -23,12 +24,16 @@ buildDunePackage rec {
     dune-configurator
   ];
 
+  buildInputs = [
+    dune-configurator
+  ];
+
   propagatedBuildInputs = [
     zarith
     integers
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     bisect_ppx
   ];
diff --git a/pkgs/development/ocaml-modules/cohttp/async.nix b/pkgs/development/ocaml-modules/cohttp/async.nix
index bcc1c11459b..3e6ac4ae2d9 100644
--- a/pkgs/development/ocaml-modules/cohttp/async.nix
+++ b/pkgs/development/ocaml-modules/cohttp/async.nix
@@ -51,7 +51,7 @@ buildDunePackage {
 
   # Examples don't compile with core 0.15.  See https://github.com/mirage/ocaml-cohttp/pull/864.
   doCheck = false;
-  nativeCheckInputs = [
+  checkInputs = [
     ounit
     mirage-crypto
     core
diff --git a/pkgs/development/ocaml-modules/cohttp/default.nix b/pkgs/development/ocaml-modules/cohttp/default.nix
index 0cb9813687a..fcbed191ad6 100644
--- a/pkgs/development/ocaml-modules/cohttp/default.nix
+++ b/pkgs/development/ocaml-modules/cohttp/default.nix
@@ -21,7 +21,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ base64 re stringext uri-sexp ];
 
   doCheck = true;
-  nativeCheckInputs = [ fmt alcotest crowbar ];
+  checkInputs = [ fmt alcotest crowbar ];
 
   meta = {
     description = "HTTP(S) library for Lwt, Async and Mirage";
diff --git a/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix b/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix
index 0ff6fb6920a..b360cf0e587 100644
--- a/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix
+++ b/pkgs/development/ocaml-modules/cohttp/lwt-unix.nix
@@ -14,13 +14,18 @@ buildDunePackage {
   buildInputs = [ cmdliner ppx_sexp_conv ];
 
   propagatedBuildInputs = [
-    cohttp-lwt conduit-lwt conduit-lwt-unix fmt logs magic-mime
+    cohttp-lwt
+    conduit-lwt
+    conduit-lwt-unix
+    fmt
+    logs
+    magic-mime
   ];
 
   # TODO(@sternenseemann): fail for unknown reason
   # https://github.com/mirage/ocaml-cohttp/issues/675#issuecomment-830692742
   doCheck = false;
-  nativeCheckInputs = [ ounit cacert ];
+  checkInputs = [ ounit cacert ];
 
   meta = cohttp-lwt.meta // {
     description = "CoHTTP implementation for Unix and Windows using Lwt";
diff --git a/pkgs/development/ocaml-modules/conduit/lwt-unix.nix b/pkgs/development/ocaml-modules/conduit/lwt-unix.nix
index 3f91d9b7536..cb86ea5f4f0 100644
--- a/pkgs/development/ocaml-modules/conduit/lwt-unix.nix
+++ b/pkgs/development/ocaml-modules/conduit/lwt-unix.nix
@@ -23,7 +23,7 @@ buildDunePackage {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     lwt_log
     ssl
   ];
diff --git a/pkgs/development/ocaml-modules/containers/data.nix b/pkgs/development/ocaml-modules/containers/data.nix
index 48478c963ef..980984c6ec0 100644
--- a/pkgs/development/ocaml-modules/containers/data.nix
+++ b/pkgs/development/ocaml-modules/containers/data.nix
@@ -9,7 +9,7 @@ buildDunePackage {
   inherit (containers) src version doCheck;
 
   buildInputs = [ dune-configurator ];
-  nativeCheckInputs = [ gen iter qcheck-core ];
+  checkInputs = [ gen iter qcheck-core ];
 
   propagatedBuildInputs = [ containers ];
 
diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix
index 2503ffbf08f..4cd6413293e 100644
--- a/pkgs/development/ocaml-modules/containers/default.nix
+++ b/pkgs/development/ocaml-modules/containers/default.nix
@@ -18,7 +18,7 @@ buildDunePackage rec {
   buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [ either seq ];
 
-  nativeCheckInputs = [ gen iter qcheck-core uutf yojson ];
+  checkInputs = [ gen iter qcheck-core uutf yojson ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/cooltt/default.nix b/pkgs/development/ocaml-modules/cooltt/default.nix
index a3894f0cbf4..180a09e4d4a 100644
--- a/pkgs/development/ocaml-modules/cooltt/default.nix
+++ b/pkgs/development/ocaml-modules/cooltt/default.nix
@@ -13,6 +13,8 @@
 , uuseg
 , uutf
 , yuujinchou
+, ounit2
+, qcheck
 }:
 
 let
@@ -70,12 +72,13 @@ buildDunePackage {
   };
 
   nativeBuildInputs = [
-    cmdliner
     menhir
-    ppxlib
   ];
 
-  buildInputs = [ containers ];
+  buildInputs = [
+    cmdliner
+    ppxlib
+  ];
 
   propagatedBuildInputs = [
     bantorra
@@ -87,6 +90,12 @@ buildDunePackage {
     uuseg
     uutf
     yuujinchou
+    containers
+  ];
+
+  checkInputs = [
+    ounit2
+    qcheck
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/cow/default.nix b/pkgs/development/ocaml-modules/cow/default.nix
index 1c898f8e75f..4688ec4ef32 100644
--- a/pkgs/development/ocaml-modules/cow/default.nix
+++ b/pkgs/development/ocaml-modules/cow/default.nix
@@ -1,5 +1,6 @@
 { lib, fetchurl, buildDunePackage, ocaml, alcotest
-, uri, xmlm, omd, ezjsonm }:
+, uri, xmlm, omd, ezjsonm
+}:
 
 buildDunePackage rec {
   useDune2 = true;
@@ -14,7 +15,7 @@ buildDunePackage rec {
   };
 
   propagatedBuildInputs = [ xmlm uri ezjsonm omd ];
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/cpu/default.nix b/pkgs/development/ocaml-modules/cpu/default.nix
index 33702ca1829..a61a597b209 100644
--- a/pkgs/development/ocaml-modules/cpu/default.nix
+++ b/pkgs/development/ocaml-modules/cpu/default.nix
@@ -18,7 +18,7 @@ buildDunePackage rec {
     autoheader
   '';
 
-  buildInputs = [ autoconf ];
+  nativeBuildInputs = [ autoconf ];
 
   hardeningDisable = lib.optional stdenv.isDarwin "strictoverflow";
 
diff --git a/pkgs/development/ocaml-modules/crowbar/default.nix b/pkgs/development/ocaml-modules/crowbar/default.nix
index da55cb1d78a..d321abfe9da 100644
--- a/pkgs/development/ocaml-modules/crowbar/default.nix
+++ b/pkgs/development/ocaml-modules/crowbar/default.nix
@@ -18,7 +18,7 @@ buildDunePackage rec {
   postPatch = "rm -rf examples/xmldiff";
 
   propagatedBuildInputs = [ ocplib-endian cmdliner afl-persistent ];
-  nativeCheckInputs = [ calendar fpath pprint uutf uunf uucp ];
+  checkInputs = [ calendar fpath pprint uutf uunf uucp ];
   # uunf is broken on aarch64
   doCheck = !stdenv.isAarch64;
 
diff --git a/pkgs/development/ocaml-modules/cstruct/default.nix b/pkgs/development/ocaml-modules/cstruct/default.nix
index 5ef3540a9a1..9efe75af70c 100644
--- a/pkgs/development/ocaml-modules/cstruct/default.nix
+++ b/pkgs/development/ocaml-modules/cstruct/default.nix
@@ -14,7 +14,7 @@ buildDunePackage rec {
   buildInputs = [ fmt ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest crowbar ];
+  checkInputs = [ alcotest crowbar ];
 
   meta = {
     description = "Access C-like structures directly from OCaml";
diff --git a/pkgs/development/ocaml-modules/cstruct/ppx.nix b/pkgs/development/ocaml-modules/cstruct/ppx.nix
index c4518de9f9e..b640c9745f3 100644
--- a/pkgs/development/ocaml-modules/cstruct/ppx.nix
+++ b/pkgs/development/ocaml-modules/cstruct/ppx.nix
@@ -6,14 +6,15 @@ if lib.versionOlder (cstruct.version or "1") "3"
 then cstruct
 else
 
-buildDunePackage {
-  pname = "ppx_cstruct";
-  inherit (cstruct) version src meta;
+  buildDunePackage {
+    pname = "ppx_cstruct";
+    inherit (cstruct) version src meta;
 
-  minimalOCamlVersion = "4.08";
+    minimalOCamlVersion = "4.08";
 
-  propagatedBuildInputs = [ cstruct ppxlib sexplib stdlib-shims ];
+    propagatedBuildInputs = [ cstruct ppxlib sexplib stdlib-shims ];
 
-  doCheck = true;
-  nativeCheckInputs = [ ounit cppo ppx_sexp_conv cstruct-sexp cstruct-unix ];
-}
+    doCheck = true;
+    nativeCheckInputs = [ cppo ];
+    checkInputs = [ ounit ppx_sexp_conv cstruct-sexp cstruct-unix ];
+  }
diff --git a/pkgs/development/ocaml-modules/cstruct/sexp.nix b/pkgs/development/ocaml-modules/cstruct/sexp.nix
index 091a6ab4def..a20911cbb29 100644
--- a/pkgs/development/ocaml-modules/cstruct/sexp.nix
+++ b/pkgs/development/ocaml-modules/cstruct/sexp.nix
@@ -11,7 +11,7 @@ buildDunePackage rec {
   minimalOCamlVersion = "4.08";
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   propagatedBuildInputs = [ cstruct sexplib ];
 }
diff --git a/pkgs/development/ocaml-modules/ctypes_stubs_js/default.nix b/pkgs/development/ocaml-modules/ctypes_stubs_js/default.nix
index 6eb814ef7db..edb31f1836b 100644
--- a/pkgs/development/ocaml-modules/ctypes_stubs_js/default.nix
+++ b/pkgs/development/ocaml-modules/ctypes_stubs_js/default.nix
@@ -20,10 +20,12 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ integers_stubs_js ];
   nativeCheckInputs = [
-    ctypes
+    nodejs
     js_of_ocaml-compiler
+  ];
+  checkInputs = [
+    ctypes
     ppx_expect
-    nodejs
   ];
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/cudf/default.nix b/pkgs/development/ocaml-modules/cudf/default.nix
index 48a776669dc..b4cd7e458a7 100644
--- a/pkgs/development/ocaml-modules/cudf/default.nix
+++ b/pkgs/development/ocaml-modules/cudf/default.nix
@@ -1,6 +1,6 @@
 { lib, fetchurl, stdenv, ocaml, ocamlbuild, findlib, extlib, glib, perl, pkg-config, stdlib-shims, ounit }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-cudf";
   version = "0.9";
 
@@ -13,15 +13,16 @@ stdenv.mkDerivation {
     "all"
     "opt"
   ];
+
   nativeBuildInputs = [
     findlib
     ocaml
     ocamlbuild
     pkg-config
+    perl
   ];
   buildInputs = [
     glib
-    perl
     stdlib-shims
   ];
   propagatedBuildInputs = [
@@ -32,7 +33,7 @@ stdenv.mkDerivation {
     "all"
     "test"
   ];
-  nativeCheckInputs = [
+  checkInputs = [
     ounit
   ];
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/curly/default.nix b/pkgs/development/ocaml-modules/curly/default.nix
index f82a6c237dc..5f0e93f8f26 100644
--- a/pkgs/development/ocaml-modules/curly/default.nix
+++ b/pkgs/development/ocaml-modules/curly/default.nix
@@ -16,7 +16,8 @@ buildDunePackage rec {
   };
 
   propagatedBuildInputs = [ result ];
-  nativeCheckInputs = [ alcotest cohttp-lwt-unix cacert ];
+  nativeCheckInputs = [ cacert ];
+  checkInputs = [ alcotest cohttp-lwt-unix ];
   # test dependencies are only available for >= 4.08
   # https://github.com/mirage/ca-certs/issues/16
   doCheck = lib.versionAtLeast ocaml.version "4.08"
diff --git a/pkgs/development/ocaml-modules/curses/default.nix b/pkgs/development/ocaml-modules/curses/default.nix
index e72f4ce0e8b..4c38d161ee6 100644
--- a/pkgs/development/ocaml-modules/curses/default.nix
+++ b/pkgs/development/ocaml-modules/curses/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0yy3wf8i7jgvzdc40bni7mvpkvclq97cgb5fw265mrjj0iqpkqpd";
   };
 
+  strictDeps = true;
+
   propagatedBuildInputs = [ ncurses ];
 
   nativeBuildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/ocaml-modules/data-encoding/default.nix b/pkgs/development/ocaml-modules/data-encoding/default.nix
index b5878a51ef7..7bd01ff8315 100644
--- a/pkgs/development/ocaml-modules/data-encoding/default.nix
+++ b/pkgs/development/ocaml-modules/data-encoding/default.nix
@@ -36,7 +36,7 @@ buildDunePackage {
     json-data-encoding-bson
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     crowbar
     ppx_expect
diff --git a/pkgs/development/ocaml-modules/decompress/default.nix b/pkgs/development/ocaml-modules/decompress/default.nix
index c67cfac5410..3e15bd5bbcd 100644
--- a/pkgs/development/ocaml-modules/decompress/default.nix
+++ b/pkgs/development/ocaml-modules/decompress/default.nix
@@ -18,7 +18,7 @@ buildDunePackage rec {
 
   buildInputs = [ cmdliner ];
   propagatedBuildInputs = [ optint checkseum ];
-  nativeCheckInputs = [ alcotest astring bigstringaf bos ctypes fmt camlzip base64 crowbar rresult ];
+  checkInputs = [ alcotest astring bigstringaf bos ctypes fmt camlzip base64 crowbar rresult ];
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/diet/default.nix b/pkgs/development/ocaml-modules/diet/default.nix
index dc4f5214208..cd14d2a06af 100644
--- a/pkgs/development/ocaml-modules/diet/default.nix
+++ b/pkgs/development/ocaml-modules/diet/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ stdlib-shims ];
 
   doCheck = true;
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
 
   meta = with lib; {
     homepage = "https://github.com/mirage/ocaml-diet";
diff --git a/pkgs/development/ocaml-modules/digestif/default.nix b/pkgs/development/ocaml-modules/digestif/default.nix
index cca890e997f..80ca209b9b1 100644
--- a/pkgs/development/ocaml-modules/digestif/default.nix
+++ b/pkgs/development/ocaml-modules/digestif/default.nix
@@ -15,12 +15,13 @@ buildDunePackage rec {
     sha256 = "sha256-edNM5ROxFIV+OAqr328UcyGPGwXdflHQOJB3ntAbRmY=";
   };
 
-  nativeBuildInputs = [ findlib which ];
-  buildInputs = [ ocaml ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ findlib which ocaml pkg-config ];
 
   propagatedBuildInputs = [ eqaf ];
 
-  nativeCheckInputs = [ alcotest astring bos fpath ];
+  checkInputs = [ alcotest astring bos fpath ];
   doCheck = true;
 
   postCheck = ''
diff --git a/pkgs/development/ocaml-modules/dispatch/default.nix b/pkgs/development/ocaml-modules/dispatch/default.nix
index e6f6ffc8649..587f5a792dc 100644
--- a/pkgs/development/ocaml-modules/dispatch/default.nix
+++ b/pkgs/development/ocaml-modules/dispatch/default.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ result ];
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/dns/cli.nix b/pkgs/development/ocaml-modules/dns/cli.nix
index dd2a8445867..6e23eeecba9 100644
--- a/pkgs/development/ocaml-modules/dns/cli.nix
+++ b/pkgs/development/ocaml-modules/dns/cli.nix
@@ -39,7 +39,7 @@ buildDunePackage {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
   ];
 
diff --git a/pkgs/development/ocaml-modules/dns/client.nix b/pkgs/development/ocaml-modules/dns/client.nix
index 087c0a1efa1..e8bd210dcd8 100644
--- a/pkgs/development/ocaml-modules/dns/client.nix
+++ b/pkgs/development/ocaml-modules/dns/client.nix
@@ -12,11 +12,28 @@ buildDunePackage {
   inherit (dns) src version;
   duneVersion = "3";
 
-  propagatedBuildInputs = [ cstruct fmt logs dns randomconv domain-name ipaddr
-                            lwt mirage-random mirage-time mirage-clock
-                            ca-certs ca-certs-nss happy-eyeballs tcpip tls tls-mirage
-                            mtime mirage-crypto-rng ];
-  nativeCheckInputs = [ alcotest ];
+  propagatedBuildInputs = [
+    cstruct
+    fmt
+    logs
+    dns
+    randomconv
+    domain-name
+    ipaddr
+    lwt
+    mirage-random
+    mirage-time
+    mirage-clock
+    ca-certs
+    ca-certs-nss
+    happy-eyeballs
+    tcpip
+    tls
+    tls-mirage
+    mtime
+    mirage-crypto-rng
+  ];
+  checkInputs = [ alcotest ];
   doCheck = true;
 
   meta = dns.meta // {
diff --git a/pkgs/development/ocaml-modules/dns/default.nix b/pkgs/development/ocaml-modules/dns/default.nix
index e9ae3184b5a..81bc741d974 100644
--- a/pkgs/development/ocaml-modules/dns/default.nix
+++ b/pkgs/development/ocaml-modules/dns/default.nix
@@ -1,5 +1,17 @@
-{ lib, buildDunePackage, fetchurl, alcotest
-, cstruct, domain-name, duration, gmap, ipaddr, logs, lru, metrics, ptime, fmt
+{ lib
+, buildDunePackage
+, fetchurl
+, alcotest
+, cstruct
+, domain-name
+, duration
+, gmap
+, ipaddr
+, logs
+, lru
+, metrics
+, ptime
+, fmt
 , base64
 }:
 
@@ -18,7 +30,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ fmt logs ptime domain-name gmap cstruct ipaddr lru duration metrics base64 ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = {
     description = "An Domain Name System (DNS) library";
diff --git a/pkgs/development/ocaml-modules/dns/dnssec.nix b/pkgs/development/ocaml-modules/dns/dnssec.nix
index 3b2b0e2374b..de2a7605238 100644
--- a/pkgs/development/ocaml-modules/dns/dnssec.nix
+++ b/pkgs/development/ocaml-modules/dns/dnssec.nix
@@ -1,6 +1,13 @@
-{ buildDunePackage, cstruct, dns, mirage-crypto, mirage-crypto-pk, mirage-crypto-ec
-, domain-name, logs
-, alcotest, base64
+{ buildDunePackage
+, cstruct
+, dns
+, mirage-crypto
+, mirage-crypto-pk
+, mirage-crypto-ec
+, domain-name
+, logs
+, alcotest
+, base64
 }:
 
 buildDunePackage {
@@ -20,7 +27,7 @@ buildDunePackage {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     base64
   ];
diff --git a/pkgs/development/ocaml-modules/dns/resolver.nix b/pkgs/development/ocaml-modules/dns/resolver.nix
index fb598746bbb..dd46a1534ed 100644
--- a/pkgs/development/ocaml-modules/dns/resolver.nix
+++ b/pkgs/development/ocaml-modules/dns/resolver.nix
@@ -1,6 +1,18 @@
-{ buildDunePackage, dns, dns-server, dns-mirage, lru, duration
-, randomconv, lwt, mirage-time, mirage-clock, mirage-random
-, tcpip, tls, tls-mirage, dnssec
+{ buildDunePackage
+, dns
+, dns-server
+, dns-mirage
+, lru
+, duration
+, randomconv
+, lwt
+, mirage-time
+, mirage-clock
+, mirage-random
+, tcpip
+, tls
+, tls-mirage
+, dnssec
 , alcotest
 }:
 
@@ -28,7 +40,7 @@ buildDunePackage {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
   ];
 
diff --git a/pkgs/development/ocaml-modules/dns/server.nix b/pkgs/development/ocaml-modules/dns/server.nix
index e10ec383007..049cf507e3a 100644
--- a/pkgs/development/ocaml-modules/dns/server.nix
+++ b/pkgs/development/ocaml-modules/dns/server.nix
@@ -1,6 +1,16 @@
-{ buildDunePackage, dns, dns-mirage, randomconv, duration, lwt
-, mirage-time, mirage-clock, metrics
-, alcotest, mirage-crypto-rng, dns-tsig, base64
+{ buildDunePackage
+, dns
+, dns-mirage
+, randomconv
+, duration
+, lwt
+, mirage-time
+, mirage-clock
+, metrics
+, alcotest
+, mirage-crypto-rng
+, dns-tsig
+, base64
 }:
 
 buildDunePackage {
@@ -21,7 +31,7 @@ buildDunePackage {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     mirage-crypto-rng
     dns-tsig
diff --git a/pkgs/development/ocaml-modules/dns/tsig.nix b/pkgs/development/ocaml-modules/dns/tsig.nix
index d544e51f36f..3ecc90d3985 100644
--- a/pkgs/development/ocaml-modules/dns/tsig.nix
+++ b/pkgs/development/ocaml-modules/dns/tsig.nix
@@ -13,7 +13,7 @@ buildDunePackage {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
   ];
 
diff --git a/pkgs/development/ocaml-modules/domain-name/default.nix b/pkgs/development/ocaml-modules/domain-name/default.nix
index f14172fcb59..afbfbb66391 100644
--- a/pkgs/development/ocaml-modules/domain-name/default.nix
+++ b/pkgs/development/ocaml-modules/domain-name/default.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
 
   minimalOCamlVersion = "4.04";
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/domainslib/default.nix b/pkgs/development/ocaml-modules/domainslib/default.nix
index 8da2ed538fd..8a36285fe69 100644
--- a/pkgs/development/ocaml-modules/domainslib/default.nix
+++ b/pkgs/development/ocaml-modules/domainslib/default.nix
@@ -1,4 +1,6 @@
-{ lib, fetchurl, buildDunePackage
+{ lib
+, fetchurl
+, buildDunePackage
 , lockfree
 , mirage-clock-unix
 }:
@@ -18,7 +20,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ lockfree ];
 
   doCheck = true;
-  nativeCheckInputs = [ mirage-clock-unix ];
+  checkInputs = [ mirage-clock-unix ];
 
   meta = {
     homepage = "https://github.com/ocaml-multicore/domainslib";
diff --git a/pkgs/development/ocaml-modules/dose3/default.nix b/pkgs/development/ocaml-modules/dose3/default.nix
index a5939597154..1146da5d306 100644
--- a/pkgs/development/ocaml-modules/dose3/default.nix
+++ b/pkgs/development/ocaml-modules/dose3/default.nix
@@ -34,11 +34,13 @@ buildDunePackage rec {
   ];
 
   nativeCheckInputs = [
-    dpkg                      # Replaces: conf-dpkg
-    git
-    ounit
     python39                  # Replaces: conf-python-3
     python39Packages.pyyaml   # Replaces: conf-python3-yaml
+    git
+  ];
+  checkInputs = [
+    dpkg                      # Replaces: conf-dpkg
+    ounit
   ];
   doCheck = false; # Tests are failing.
                    # To enable tests use: lib.versionAtLeast ocaml.version "4.04";
diff --git a/pkgs/development/ocaml-modules/dtoa/default.nix b/pkgs/development/ocaml-modules/dtoa/default.nix
index 44bc5d7498b..ffcfb38c6bf 100644
--- a/pkgs/development/ocaml-modules/dtoa/default.nix
+++ b/pkgs/development/ocaml-modules/dtoa/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, buildDunePackage }:
+{ stdenv, lib, fetchurl, buildDunePackage, ounit }:
 
 buildDunePackage rec {
   pname = "dtoa";
@@ -13,6 +13,10 @@ buildDunePackage rec {
     sha256 = "0zkhn0rdq82g6gamsv6nkx6i44s8104nh6jg5xydazl9jl1704xn";
   };
 
+  checkInputs = [ ounit ];
+
+  doCheck = true;
+
   hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/duff/default.nix b/pkgs/development/ocaml-modules/duff/default.nix
index 2564d2ed075..583949cf1da 100644
--- a/pkgs/development/ocaml-modules/duff/default.nix
+++ b/pkgs/development/ocaml-modules/duff/default.nix
@@ -1,6 +1,12 @@
-{ lib, fetchurl, buildDunePackage, ocaml
+{ lib
+, fetchurl
+, buildDunePackage
+, ocaml
 , fmt
-, alcotest, hxd, crowbar, bigstringaf
+, alcotest
+, hxd
+, crowbar
+, bigstringaf
 }:
 
 buildDunePackage rec {
@@ -15,7 +21,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ fmt ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     crowbar
     hxd
diff --git a/pkgs/development/ocaml-modules/dune-build-info/default.nix b/pkgs/development/ocaml-modules/dune-build-info/default.nix
index 5d9f105782b..9eb7afa2c40 100644
--- a/pkgs/development/ocaml-modules/dune-build-info/default.nix
+++ b/pkgs/development/ocaml-modules/dune-build-info/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, dune_2 }:
+{ lib, buildDunePackage, dune_2, dune-action-plugin }:
 
 buildDunePackage rec {
   pname = "dune-build-info";
@@ -8,6 +8,8 @@ buildDunePackage rec {
 
   dontAddPrefix = true;
 
+  buildInputs = [ dune-action-plugin ];
+
   meta = with lib; {
     inherit (dune_2.meta) homepage;
     description = "Embed build information inside executables";
diff --git a/pkgs/development/ocaml-modules/duration/default.nix b/pkgs/development/ocaml-modules/duration/default.nix
index eeb974b135f..1a1f9b07769 100644
--- a/pkgs/development/ocaml-modules/duration/default.nix
+++ b/pkgs/development/ocaml-modules/duration/default.nix
@@ -12,7 +12,7 @@ buildDunePackage rec {
   };
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = {
     homepage = "https://github.com/hannesm/duration";
diff --git a/pkgs/development/ocaml-modules/earlybird/default.nix b/pkgs/development/ocaml-modules/earlybird/default.nix
index 08c0a284fad..209bf30d2a6 100644
--- a/pkgs/development/ocaml-modules/earlybird/default.nix
+++ b/pkgs/development/ocaml-modules/earlybird/default.nix
@@ -22,7 +22,9 @@ buildDunePackage rec {
     hash = "sha256-8JHZWsgpz2pzpDxST3bkMSmPHtj7MDzD5G3ujqMW+MU=";
   };
 
-  buildInputs = [ cmdliner dap fmt iter logs lru lwt_ppx lwt_react menhir menhirLib path_glob ppx_deriving_yojson ];
+  nativeBuildInputs = [ menhir ];
+
+  buildInputs = [ cmdliner dap fmt iter logs lru lwt_ppx lwt_react menhirLib path_glob ppx_deriving_yojson ];
 
   passthru.updateScript = gitUpdater { };
 
diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix
index cc53f25b578..1c60c963ed9 100644
--- a/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/pkgs/development/ocaml-modules/elpi/default.nix
@@ -36,9 +36,12 @@ buildDunePackage rec {
 
   minimalOCamlVersion = "4.04";
 
-  buildInputs = [ perl ncurses ]
+  # atdgen is both a library and executable
+  nativeBuildInputs = [ perl camlp5 ]
   ++ lib.optional (lib.versionAtLeast version "1.15" || version == "dev") menhir
   ++ lib.optional (lib.versionAtLeast version "1.16" || version == "dev") atdgen;
+  buildInputs = [ ncurses ]
+  ++ lib.optional (lib.versionAtLeast version "1.16" || version == "dev") atdgen;
 
   propagatedBuildInputs = [ re stdlib-shims ]
   ++ (if lib.versionAtLeast version "1.15" || version == "dev"
diff --git a/pkgs/development/ocaml-modules/emile/default.nix b/pkgs/development/ocaml-modules/emile/default.nix
index c76d79d5f81..f1c61ce27e8 100644
--- a/pkgs/development/ocaml-modules/emile/default.nix
+++ b/pkgs/development/ocaml-modules/emile/default.nix
@@ -1,6 +1,14 @@
-{ lib, buildDunePackage, fetchurl, ocaml
-, angstrom, ipaddr, base64, pecu, uutf
-, alcotest, cmdliner
+{ lib
+, buildDunePackage
+, fetchurl
+, ocaml
+, angstrom
+, ipaddr
+, base64
+, pecu
+, uutf
+, alcotest
+, cmdliner
 }:
 
 buildDunePackage rec {
@@ -28,7 +36,7 @@ buildDunePackage rec {
   # and angstrom (fmt) are only available for >= 4.08. Disabling
   # tests for < 4.08 at least improves the error message
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = with lib; {
     description = "Parser of email address according RFC822";
diff --git a/pkgs/development/ocaml-modules/encore/default.nix b/pkgs/development/ocaml-modules/encore/default.nix
index 317446fc5ba..7c15edabd58 100644
--- a/pkgs/development/ocaml-modules/encore/default.nix
+++ b/pkgs/development/ocaml-modules/encore/default.nix
@@ -1,5 +1,12 @@
-{ lib, buildDunePackage, fetchurl, ocaml
-, fmt, bigstringaf, angstrom, alcotest }:
+{ lib
+, buildDunePackage
+, fetchurl
+, ocaml
+, fmt
+, bigstringaf
+, angstrom
+, alcotest
+}:
 
 buildDunePackage rec {
   pname = "encore";
@@ -15,7 +22,7 @@ buildDunePackage rec {
   useDune2 = true;
 
   propagatedBuildInputs = [ angstrom fmt bigstringaf ];
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/ethernet/default.nix b/pkgs/development/ocaml-modules/ethernet/default.nix
index 59c581e128a..6d76590c6ca 100644
--- a/pkgs/development/ocaml-modules/ethernet/default.nix
+++ b/pkgs/development/ocaml-modules/ethernet/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
     sha256 = "0a898vp9dw42majsvzzvs8pc6x4ns01wlwhwbacixliv6vv78ng9";
   };
 
-  nativeBuildInputs = [
+  buildInputs = [
     ppx_cstruct
   ];
 
diff --git a/pkgs/development/ocaml-modules/faraday/default.nix b/pkgs/development/ocaml-modules/faraday/default.nix
index ff5ed12a998..0dcfd5ec02d 100644
--- a/pkgs/development/ocaml-modules/faraday/default.nix
+++ b/pkgs/development/ocaml-modules/faraday/default.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
     sha256 = "sha256-wR4kDocR1t3OLRuudXH8IccYde552O6Gvo5BHNxRbAI=";
   };
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   propagatedBuildInputs = [ bigstringaf ];
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/ff/default.nix b/pkgs/development/ocaml-modules/ff/default.nix
index 4d9c69ace61..5681b33cb76 100644
--- a/pkgs/development/ocaml-modules/ff/default.nix
+++ b/pkgs/development/ocaml-modules/ff/default.nix
@@ -9,7 +9,7 @@ buildDunePackage rec {
     zarith
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     ff-pbt
   ];
diff --git a/pkgs/development/ocaml-modules/ff/pbt.nix b/pkgs/development/ocaml-modules/ff/pbt.nix
index 6c929e11b17..ffd78381127 100644
--- a/pkgs/development/ocaml-modules/ff/pbt.nix
+++ b/pkgs/development/ocaml-modules/ff/pbt.nix
@@ -6,7 +6,7 @@ buildDunePackage {
 
   minimalOCamlVersion = "4.08";
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
   ];
 
diff --git a/pkgs/development/ocaml-modules/fileutils/default.nix b/pkgs/development/ocaml-modules/fileutils/default.nix
index e2f5fdab4f4..0431c733cb9 100644
--- a/pkgs/development/ocaml-modules/fileutils/default.nix
+++ b/pkgs/development/ocaml-modules/fileutils/default.nix
@@ -16,7 +16,7 @@ buildDunePackage rec {
     stdlib-shims
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     ounit2
   ];
   doCheck = lib.versionAtLeast ocaml.version "4.04";
diff --git a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
index 2fae764f5dd..837a481cf1b 100644
--- a/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
+++ b/pkgs/development/ocaml-modules/gapi-ocaml/default.nix
@@ -20,7 +20,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ cryptokit ocamlnet ocurl yojson ];
 
   doCheck = true;
-  nativeCheckInputs = [ ounit2 ];
+  checkInputs = [ ounit2 ];
 
   meta = {
     description = "OCaml client for google services";
diff --git a/pkgs/development/ocaml-modules/gen/default.nix b/pkgs/development/ocaml-modules/gen/default.nix
index 9242133ec23..699af9f5f20 100644
--- a/pkgs/development/ocaml-modules/gen/default.nix
+++ b/pkgs/development/ocaml-modules/gen/default.nix
@@ -16,9 +16,12 @@ buildDunePackage rec {
     hash = "sha256-YWoVcl2TQoMIgU1LoKL16ia31zJjwAMwuphtSXnhtvw=";
   };
 
+  strictDeps = true;
+
   buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [ seq ];
   nativeCheckInputs = [ qcheck ounit2 ];
+  checkInputs = [ qcheck ounit2 ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/gg/default.nix b/pkgs/development/ocaml-modules/gg/default.nix
index ec8bbb31617..c3bf3a2ec93 100644
--- a/pkgs/development/ocaml-modules/gg/default.nix
+++ b/pkgs/development/ocaml-modules/gg/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation {
     sha256 = "sha256:0j7bpj8k17csnz6v6frkz9aycywsb7xmznnb31g8rbfk3626f3ci";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
   buildInputs = [ topkg ];
 
diff --git a/pkgs/development/ocaml-modules/git/default.nix b/pkgs/development/ocaml-modules/git/default.nix
index b078ad973f2..957d53b3964 100644
--- a/pkgs/development/ocaml-modules/git/default.nix
+++ b/pkgs/development/ocaml-modules/git/default.nix
@@ -32,7 +32,10 @@ buildDunePackage rec {
     domain-name emile mimic carton carton-lwt carton-git ipaddr psq hxd
   ];
   nativeCheckInputs = [
-    alcotest alcotest-lwt mirage-crypto-rng git-binary crowbar cmdliner
+    git-binary
+  ];
+  checkInputs = [
+    alcotest alcotest-lwt mirage-crypto-rng crowbar cmdliner
   ];
   doCheck = !stdenv.isAarch64;
 
diff --git a/pkgs/development/ocaml-modules/git/mirage.nix b/pkgs/development/ocaml-modules/git/mirage.nix
index b1e38c2ebfc..28ce7c4a3f3 100644
--- a/pkgs/development/ocaml-modules/git/mirage.nix
+++ b/pkgs/development/ocaml-modules/git/mirage.nix
@@ -1,4 +1,5 @@
-{ lib, buildDunePackage
+{ lib
+, buildDunePackage
 , git
 , mimic
 , mimic-happy-eyeballs
@@ -82,7 +83,7 @@ buildDunePackage {
     result
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     alcotest-lwt
     bigstringaf
diff --git a/pkgs/development/ocaml-modules/git/unix.nix b/pkgs/development/ocaml-modules/git/unix.nix
index 65a4619ac5d..f5e8337382e 100644
--- a/pkgs/development/ocaml-modules/git/unix.nix
+++ b/pkgs/development/ocaml-modules/git/unix.nix
@@ -18,8 +18,11 @@ buildDunePackage {
   duneVersion = "3";
 
   buildInputs = [
-    awa awa-mirage cmdliner
-    mirage-clock tcpip
+    awa
+    awa-mirage
+    cmdliner
+    mirage-clock
+    tcpip
   ];
   propagatedBuildInputs = [
     rresult result bigstringaf
@@ -30,12 +33,13 @@ buildDunePackage {
     tls tls-mirage git happy-eyeballs-lwt
     git-mirage mirage-clock-unix
   ];
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest alcotest-lwt base64 ke
-    mirage-crypto-rng git-binary
+    mirage-crypto-rng
     uri mtime
     cacert # sets up NIX_SSL_CERT_FILE
   ];
+  nativeCheckInputs = [ git-binary ];
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/gmap/default.nix b/pkgs/development/ocaml-modules/gmap/default.nix
index 7cdddfe101d..ce13b0e1cee 100644
--- a/pkgs/development/ocaml-modules/gmap/default.nix
+++ b/pkgs/development/ocaml-modules/gmap/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, ocaml, fetchurl, alcotest }:
+{ lib, buildDunePackage, ocaml, fetchurl, alcotest, fmt }:
 
 buildDunePackage rec {
   pname = "gmap";
@@ -13,7 +13,7 @@ buildDunePackage rec {
 
   minimumOCamlVersion = "4.03";
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest fmt ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/graphql/cohttp.nix b/pkgs/development/ocaml-modules/graphql/cohttp.nix
index b4f836215de..b202d46abd5 100644
--- a/pkgs/development/ocaml-modules/graphql/cohttp.nix
+++ b/pkgs/development/ocaml-modules/graphql/cohttp.nix
@@ -1,6 +1,14 @@
-{ lib, buildDunePackage, ocaml-crunch
-, astring, cohttp, digestif, graphql, ocplib-endian
-, alcotest, cohttp-lwt-unix, graphql-lwt
+{ lib
+, buildDunePackage
+, ocaml-crunch
+, astring
+, cohttp
+, digestif
+, graphql
+, ocplib-endian
+, alcotest
+, cohttp-lwt-unix
+, graphql-lwt
 }:
 
 buildDunePackage rec {
@@ -13,7 +21,7 @@ buildDunePackage rec {
   nativeBuildInputs = [ ocaml-crunch ];
   propagatedBuildInputs = [ astring cohttp digestif graphql ocplib-endian ];
 
-  nativeCheckInputs = lib.optionals doCheck [ alcotest cohttp-lwt-unix graphql-lwt ];
+  checkInputs = lib.optionals doCheck [ alcotest cohttp-lwt-unix graphql-lwt ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/graphql/default.nix b/pkgs/development/ocaml-modules/graphql/default.nix
index b0426500b31..679d89f44b1 100644
--- a/pkgs/development/ocaml-modules/graphql/default.nix
+++ b/pkgs/development/ocaml-modules/graphql/default.nix
@@ -9,7 +9,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ graphql_parser rresult yojson ];
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/graphql/lwt.nix b/pkgs/development/ocaml-modules/graphql/lwt.nix
index 396de94bc28..cbdcba64abb 100644
--- a/pkgs/development/ocaml-modules/graphql/lwt.nix
+++ b/pkgs/development/ocaml-modules/graphql/lwt.nix
@@ -9,7 +9,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ graphql ocaml_lwt ];
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/graphql/parser.nix b/pkgs/development/ocaml-modules/graphql/parser.nix
index 25432d9ad8a..4042e65772b 100644
--- a/pkgs/development/ocaml-modules/graphql/parser.nix
+++ b/pkgs/development/ocaml-modules/graphql/parser.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
   nativeBuildInputs = [ menhir ];
   propagatedBuildInputs = [ fmt re ];
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/graphql_ppx/default.nix b/pkgs/development/ocaml-modules/graphql_ppx/default.nix
index 1c3351f791d..003482ca08a 100644
--- a/pkgs/development/ocaml-modules/graphql_ppx/default.nix
+++ b/pkgs/development/ocaml-modules/graphql_ppx/default.nix
@@ -18,7 +18,11 @@ buildDunePackage rec {
     sha256 = "sha256-+WJhA2ixZHiSZBoX14dnQKk7JfVAIME4JooNSnhRp44=";
   };
 
-  buildInputs = [ ppxlib ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ reason ];
+
+  buildInputs = [ ppxlib reason ];
 
   propagatedBuildInputs = [
     reason
@@ -26,7 +30,7 @@ buildDunePackage rec {
     yojson
   ];
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/h2/default.nix b/pkgs/development/ocaml-modules/h2/default.nix
index 6f60330e40c..95272890e15 100644
--- a/pkgs/development/ocaml-modules/h2/default.nix
+++ b/pkgs/development/ocaml-modules/h2/default.nix
@@ -46,7 +46,7 @@ buildDunePackage rec {
   preCheck = ''
     ln -s "${http2-frame-test-case}" lib_test/http2-frame-test-case
   '';
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     yojson
     hex
diff --git a/pkgs/development/ocaml-modules/hkdf/default.nix b/pkgs/development/ocaml-modules/hkdf/default.nix
index 5921c6c9d35..3df9ad5307c 100644
--- a/pkgs/development/ocaml-modules/hkdf/default.nix
+++ b/pkgs/development/ocaml-modules/hkdf/default.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
   };
 
   propagatedBuildInputs = [ cstruct mirage-crypto ];
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/httpaf/default.nix b/pkgs/development/ocaml-modules/httpaf/default.nix
index 691e09a410e..508b2e4b7f7 100644
--- a/pkgs/development/ocaml-modules/httpaf/default.nix
+++ b/pkgs/development/ocaml-modules/httpaf/default.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
     sha256 = "0zk78af3qyvf6w66mg8sxygr6ndayzqw5s3zfxibvn121xwni26z";
   };
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   propagatedBuildInputs = [ angstrom faraday ];
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/imagelib/default.nix b/pkgs/development/ocaml-modules/imagelib/default.nix
index 27ad2b5f002..10509f1e750 100644
--- a/pkgs/development/ocaml-modules/imagelib/default.nix
+++ b/pkgs/development/ocaml-modules/imagelib/default.nix
@@ -1,5 +1,10 @@
-{ lib, fetchurl, buildDunePackage, ocaml
-, decompress, stdlib-shims, alcotest
+{ lib
+, fetchurl
+, buildDunePackage
+, ocaml
+, decompress
+, stdlib-shims
+, alcotest
 }:
 
 buildDunePackage rec {
@@ -17,7 +22,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ decompress stdlib-shims ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = {
     description = "Image formats such as PNG and PPM in OCaml";
diff --git a/pkgs/development/ocaml-modules/index/default.nix b/pkgs/development/ocaml-modules/index/default.nix
index f38d1f495f4..04373cbcce8 100644
--- a/pkgs/development/ocaml-modules/index/default.nix
+++ b/pkgs/development/ocaml-modules/index/default.nix
@@ -31,7 +31,7 @@ buildDunePackage rec {
     lru
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     crowbar
     re
diff --git a/pkgs/development/ocaml-modules/inotify/default.nix b/pkgs/development/ocaml-modules/inotify/default.nix
index 026985efcb6..8a2b0c41507 100644
--- a/pkgs/development/ocaml-modules/inotify/default.nix
+++ b/pkgs/development/ocaml-modules/inotify/default.nix
@@ -15,10 +15,10 @@ buildDunePackage rec {
   };
 
   buildInputs = [ lwt ];
-  nativeCheckInputs = [ ounit2 fileutils ];
 
-  # Otherwise nativeCheckInputs can't be found
-  strictDeps = false;
+  checkInputs = [ ounit2 fileutils ];
+
+  strictDeps = true;
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/io-page/default.nix b/pkgs/development/ocaml-modules/io-page/default.nix
index 915bea6ff04..b5762822240 100644
--- a/pkgs/development/ocaml-modules/io-page/default.nix
+++ b/pkgs/development/ocaml-modules/io-page/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildDunePackage, cstruct, bigarray-compat, ounit }:
+{ lib, fetchurl, buildDunePackage, pkg-config, cstruct, bigarray-compat, ounit }:
 
 buildDunePackage rec {
   pname = "io-page";
@@ -11,8 +11,9 @@ buildDunePackage rec {
     sha256 = "sha256-DjbKdNkFa6YQgJDLmLsuvyrweb4/TNvqAiggcj/3hu4=";
   };
 
+  nativeBuildInputs = [ pkg-config ];
   propagatedBuildInputs = [ cstruct bigarray-compat ];
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/ipaddr/default.nix b/pkgs/development/ocaml-modules/ipaddr/default.nix
index 5055aa7bbbd..c4eefb637fb 100644
--- a/pkgs/development/ocaml-modules/ipaddr/default.nix
+++ b/pkgs/development/ocaml-modules/ipaddr/default.nix
@@ -10,7 +10,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ macaddr domain-name stdlib-shims ];
 
-  nativeCheckInputs = [ ppx_sexp_conv ounit ];
+  checkInputs = [ ppx_sexp_conv ounit ];
   doCheck = true;
 
   meta = macaddr.meta // {
diff --git a/pkgs/development/ocaml-modules/ipaddr/sexp.nix b/pkgs/development/ocaml-modules/ipaddr/sexp.nix
index 6f94382cf3a..373b5a87e49 100644
--- a/pkgs/development/ocaml-modules/ipaddr/sexp.nix
+++ b/pkgs/development/ocaml-modules/ipaddr/sexp.nix
@@ -9,7 +9,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ ipaddr ];
 
-  nativeCheckInputs = [ ipaddr-cstruct ounit ppx_sexp_conv ];
+  checkInputs = [ ipaddr-cstruct ounit ppx_sexp_conv ];
   doCheck = true;
 
   meta = ipaddr.meta // {
diff --git a/pkgs/development/ocaml-modules/irmin/chunk.nix b/pkgs/development/ocaml-modules/irmin/chunk.nix
index 39ef6b00068..59bd8154494 100644
--- a/pkgs/development/ocaml-modules/irmin/chunk.nix
+++ b/pkgs/development/ocaml-modules/irmin/chunk.nix
@@ -8,7 +8,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ irmin fmt logs lwt ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest irmin-test ];
+  checkInputs = [ alcotest irmin-test ];
 
   meta = irmin.meta // {
     description = "Irmin backend which allow to store values into chunks";
diff --git a/pkgs/development/ocaml-modules/irmin/containers.nix b/pkgs/development/ocaml-modules/irmin/containers.nix
index fe7eb3ffc56..73cd25f3170 100644
--- a/pkgs/development/ocaml-modules/irmin/containers.nix
+++ b/pkgs/development/ocaml-modules/irmin/containers.nix
@@ -13,12 +13,18 @@ buildDunePackage {
   ];
 
   propagatedBuildInputs = [
-    irmin irmin-fs ppx_irmin lwt mtime
+    irmin
+    irmin-fs
+    ppx_irmin
+    lwt
+    mtime
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
-    alcotest alcotest-lwt cacert
+  checkInputs = [
+    alcotest
+    alcotest-lwt
+    cacert
   ];
 
   meta = ppx_irmin.meta // {
diff --git a/pkgs/development/ocaml-modules/irmin/default.nix b/pkgs/development/ocaml-modules/irmin/default.nix
index 13ae4109de0..66b572f576d 100644
--- a/pkgs/development/ocaml-modules/irmin/default.nix
+++ b/pkgs/development/ocaml-modules/irmin/default.nix
@@ -28,7 +28,7 @@ buildDunePackage {
     uutf
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     vector
     hex
     alcotest
diff --git a/pkgs/development/ocaml-modules/irmin/fs.nix b/pkgs/development/ocaml-modules/irmin/fs.nix
index 196f75ff26f..1788cf1eda2 100644
--- a/pkgs/development/ocaml-modules/irmin/fs.nix
+++ b/pkgs/development/ocaml-modules/irmin/fs.nix
@@ -1,5 +1,6 @@
 { lib, buildDunePackage, irmin, astring, logs, lwt
-, alcotest, irmin-test, irmin-watcher }:
+, alcotest, irmin-test, irmin-watcher
+}:
 
 buildDunePackage rec {
 
@@ -9,7 +10,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ irmin astring logs lwt ];
 
-  nativeCheckInputs = [ alcotest irmin-test irmin-watcher ];
+  checkInputs = [ alcotest irmin-test irmin-watcher ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/irmin/git.nix b/pkgs/development/ocaml-modules/irmin/git.nix
index b3259372860..c4892815913 100644
--- a/pkgs/development/ocaml-modules/irmin/git.nix
+++ b/pkgs/development/ocaml-modules/irmin/git.nix
@@ -30,7 +30,7 @@ buildDunePackage {
     cohttp-lwt-unix
   ];
 
-  nativeCheckInputs = [ mtime alcotest irmin-test cacert ];
+  checkInputs = [ mtime alcotest irmin-test cacert ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/irmin/graphql.nix b/pkgs/development/ocaml-modules/irmin/graphql.nix
index 21fe590c056..005bf25eb2d 100644
--- a/pkgs/development/ocaml-modules/irmin/graphql.nix
+++ b/pkgs/development/ocaml-modules/irmin/graphql.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
 
   doCheck = true;
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     alcotest-lwt
     logs
diff --git a/pkgs/development/ocaml-modules/irmin/http.nix b/pkgs/development/ocaml-modules/irmin/http.nix
index 5cf57fe047c..9a466928c64 100644
--- a/pkgs/development/ocaml-modules/irmin/http.nix
+++ b/pkgs/development/ocaml-modules/irmin/http.nix
@@ -14,7 +14,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ astring cohttp-lwt cohttp-lwt-unix fmt jsonm logs lwt uri irmin webmachine ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     digestif git-unix irmin-git irmin-test irmin-fs cacert
   ];
 
diff --git a/pkgs/development/ocaml-modules/irmin/pack.nix b/pkgs/development/ocaml-modules/irmin/pack.nix
index 7056a2f63e6..a1a2974a4d7 100644
--- a/pkgs/development/ocaml-modules/irmin/pack.nix
+++ b/pkgs/development/ocaml-modules/irmin/pack.nix
@@ -14,7 +14,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ index irmin optint fmt logs lwt mtime cmdliner ];
 
-  nativeCheckInputs = [ astring alcotest alcotest-lwt irmin-test ];
+  checkInputs = [ astring alcotest alcotest-lwt irmin-test ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/irmin/test.nix b/pkgs/development/ocaml-modules/irmin/test.nix
index ee13bf42676..942200bf429 100644
--- a/pkgs/development/ocaml-modules/irmin/test.nix
+++ b/pkgs/development/ocaml-modules/irmin/test.nix
@@ -27,7 +27,7 @@ buildDunePackage {
     metrics
   ];
 
-  nativeCheckInputs = [ hex vector ];
+  checkInputs = [ hex vector ];
 
   meta = irmin.meta // {
     description = "Irmin test suite";
diff --git a/pkgs/development/ocaml-modules/irmin/tezos.nix b/pkgs/development/ocaml-modules/irmin/tezos.nix
index 2549a783bde..82a89daec35 100644
--- a/pkgs/development/ocaml-modules/irmin/tezos.nix
+++ b/pkgs/development/ocaml-modules/irmin/tezos.nix
@@ -9,20 +9,20 @@ buildDunePackage rec {
   inherit (irmin) version src strictDeps;
 
   propagatedBuildInputs = [
-   irmin
-   irmin-pack
-   ppx_irmin
-   digestif
-   fmt
-   tezos-base58
+    irmin
+    irmin-pack
+    ppx_irmin
+    digestif
+    fmt
+    tezos-base58
   ];
 
   buildInputs = [
-   cmdliner
-   yojson
+    cmdliner
+    yojson
   ];
 
-  nativeCheckInputs = [ alcotest hex irmin-test fpath ];
+  checkInputs = [ alcotest hex irmin-test fpath ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/iter/default.nix b/pkgs/development/ocaml-modules/iter/default.nix
index 62ea8f78b45..26adaf06d1e 100644
--- a/pkgs/development/ocaml-modules/iter/default.nix
+++ b/pkgs/development/ocaml-modules/iter/default.nix
@@ -18,7 +18,8 @@ buildDunePackage rec {
   propagatedBuildInputs = [ result seq ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ mdx.bin ounit2 qcheck-core ];
+  nativeCheckInputs = [ mdx.bin ];
+  checkInputs = [ ounit2 qcheck-core ];
 
   meta = {
     homepage = "https://github.com/c-cube/sequence";
diff --git a/pkgs/development/ocaml-modules/janestreet/0.14.nix b/pkgs/development/ocaml-modules/janestreet/0.14.nix
index d32c2027df4..075f7c1f57d 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.14.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.14.nix
@@ -155,7 +155,7 @@ with self;
     meta.description = "Full standard library replacement for OCaml";
     buildInputs = [ dune-configurator ];
     propagatedBuildInputs = [ sexplib0 ];
-    nativeCheckInputs = [ alcotest ];
+    checkInputs = [ alcotest ];
   };
 
   base_bigstring = janePackage {
@@ -205,9 +205,7 @@ with self;
     minimumOCamlVersion = "4.07";
     meta.description = "Trivial metaprogramming tool";
     propagatedBuildInputs = [ re ];
-    nativeCheckInputs = [ ppx_jane ];
-    # This currently fails with dune
-    strictDeps = false;
+    checkInputs = [ ppx_jane ];
   };
 
   core = janePackage {
@@ -782,9 +780,7 @@ with self;
     meta.description = "Yet another implementation of fork&exec and related functionality";
     buildInputs = [ jst-config ];
     propagatedBuildInputs = [ textutils ];
-    nativeCheckInputs = [ ounit ];
-    # This currently fails with dune
-    strictDeps = false;
+    checkInputs = [ ounit ];
   };
 
   shexp = janePackage {
diff --git a/pkgs/development/ocaml-modules/janestreet/0.15.nix b/pkgs/development/ocaml-modules/janestreet/0.15.nix
index af040a73947..8bf230a1825 100644
--- a/pkgs/development/ocaml-modules/janestreet/0.15.nix
+++ b/pkgs/development/ocaml-modules/janestreet/0.15.nix
@@ -177,7 +177,7 @@ with self;
     meta.description = "Full standard library replacement for OCaml";
     buildInputs = [ dune-configurator ];
     propagatedBuildInputs = [ sexplib0 ];
-    nativeCheckInputs = [ alcotest ];
+    checkInputs = [ alcotest ];
   };
 
   base_bigstring = janePackage {
diff --git a/pkgs/development/ocaml-modules/jingoo/default.nix b/pkgs/development/ocaml-modules/jingoo/default.nix
index 3029f4084cf..5ee48d3ed2d 100644
--- a/pkgs/development/ocaml-modules/jingoo/default.nix
+++ b/pkgs/development/ocaml-modules/jingoo/default.nix
@@ -1,5 +1,6 @@
 { lib, buildDunePackage, fetchFromGitHub
-, menhir, ppxlib, ppx_deriving, re, uutf, uucp, ounit2 }:
+, menhir, ppxlib, ppx_deriving, re, uutf, uucp, ounit2
+}:
 
 buildDunePackage rec {
   pname = "jingoo";
@@ -16,9 +17,9 @@ buildDunePackage rec {
     sha256 = "sha256-qIw69OE7wYyZYKnIc9QrmF8MzY5Fg5pBFyIpexmaYxA=";
   };
 
-  buildInputs = [ menhir ];
+  nativeBuildInputs = [ menhir ];
   propagatedBuildInputs = [ ppxlib ppx_deriving re uutf uucp ];
-  nativeCheckInputs = [ ounit2 ];
+  checkInputs = [ ounit2 ];
   doCheck = true;
 
 
diff --git a/pkgs/development/ocaml-modules/json-data-encoding/bson.nix b/pkgs/development/ocaml-modules/json-data-encoding/bson.nix
index a92c4839ab5..46810ab1566 100644
--- a/pkgs/development/ocaml-modules/json-data-encoding/bson.nix
+++ b/pkgs/development/ocaml-modules/json-data-encoding/bson.nix
@@ -10,7 +10,7 @@ buildDunePackage {
     ocplib-endian
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     crowbar
     alcotest
   ];
diff --git a/pkgs/development/ocaml-modules/json-data-encoding/default.nix b/pkgs/development/ocaml-modules/json-data-encoding/default.nix
index ff3667bd79f..13b81d9c527 100644
--- a/pkgs/development/ocaml-modules/json-data-encoding/default.nix
+++ b/pkgs/development/ocaml-modules/json-data-encoding/default.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
     uri
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     crowbar
     alcotest
   ];
diff --git a/pkgs/development/ocaml-modules/jwto/default.nix b/pkgs/development/ocaml-modules/jwto/default.nix
index f8ba36d9690..745f86dff52 100644
--- a/pkgs/development/ocaml-modules/jwto/default.nix
+++ b/pkgs/development/ocaml-modules/jwto/default.nix
@@ -22,7 +22,7 @@ buildDunePackage rec {
   propagatedBuildInputs =
     [ digestif fmt yojson base64 re ppx_deriving ];
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/ke/default.nix b/pkgs/development/ocaml-modules/ke/default.nix
index 519b0c1725c..24382494798 100644
--- a/pkgs/development/ocaml-modules/ke/default.nix
+++ b/pkgs/development/ocaml-modules/ke/default.nix
@@ -14,7 +14,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ fmt ];
 
-  nativeCheckInputs = [ alcotest bigstringaf ];
+  checkInputs = [ alcotest bigstringaf ];
   doCheck = true;
 
   minimalOCamlVersion = "4.08";
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index b010272b54b..55dd88d7246 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256:141kc816iv59z96738i3vn9m9iw9g2zhi45hk4cchpwd99ar5l6k";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ ocaml findlib ];
   buildInputs = [ freeglut ];
   propagatedBuildInputs = [ libGLU libGL ];
diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix b/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix
index bcf82e1c384..3d5135d7439 100644
--- a/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix
+++ b/pkgs/development/ocaml-modules/lablgtk-extras/1.4.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "09fqxwdib7r9yxynknc9gv3jw2hnhj5cak7q5jngk6m8rzvmhfcc";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ ocaml findlib camlp4 ];
   propagatedBuildInputs = [ config-file lablgtk xmlm ];
 
diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
index 75b3940a1d5..66728db6556 100644
--- a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     sha256 = "1bbdp5j18s582mmyd7qiaq1p08g2ag4gl7x65pmzahbhg719hjda";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ ocaml findlib camlp4 ];
   propagatedBuildInputs = [ config-file lablgtk xmlm ];
 
diff --git a/pkgs/development/ocaml-modules/labltk/default.nix b/pkgs/development/ocaml-modules/labltk/default.nix
index 4d5c4ae303e..465c82da121 100644
--- a/pkgs/development/ocaml-modules/labltk/default.nix
+++ b/pkgs/development/ocaml-modules/labltk/default.nix
@@ -59,6 +59,8 @@ stdenv.mkDerivation rec {
   inherit (param) version src;
   pname = "ocaml${ocaml.version}-labltk";
 
+  strictDeps = true;
+
   nativeBuildInputs = [ ocaml findlib makeWrapper ];
   buildInputs = [ tcl tk ] ++ lib.optionals stdenv.isDarwin [ Cocoa ];
 
diff --git a/pkgs/development/ocaml-modules/lambdapi/default.nix b/pkgs/development/ocaml-modules/lambdapi/default.nix
index f0509c243e1..1478687fe5e 100644
--- a/pkgs/development/ocaml-modules/lambdapi/default.nix
+++ b/pkgs/development/ocaml-modules/lambdapi/default.nix
@@ -33,8 +33,8 @@ buildDunePackage rec {
     bindlib camlp-streams cmdliner pratter sedlex stdlib-shims timed why3 yojson
   ];
 
-  nativeCheckInputs = [ alcotest dedukti ];
-  doCheck = false;  # anomaly: Sys_error("/homeless-shelter/.why3.conf: No such file or directory")
+  checkInputs = [ alcotest dedukti ];
+  doCheck = false; # anomaly: Sys_error("/homeless-shelter/.why3.conf: No such file or directory")
 
   meta = with lib; {
     homepage = "https://github.com/Deducteam/lambdapi";
diff --git a/pkgs/development/ocaml-modules/lambdasoup/default.nix b/pkgs/development/ocaml-modules/lambdasoup/default.nix
index ee3876d5da4..d7d0028b2c1 100644
--- a/pkgs/development/ocaml-modules/lambdasoup/default.nix
+++ b/pkgs/development/ocaml-modules/lambdasoup/default.nix
@@ -18,7 +18,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ markup ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.04";
-  nativeCheckInputs = [ ounit2 ];
+  checkInputs = [ ounit2 ];
 
   meta = {
     description = "Functional HTML scraping and rewriting with CSS in OCaml";
diff --git a/pkgs/development/ocaml-modules/lens/default.nix b/pkgs/development/ocaml-modules/lens/default.nix
index efebb5309e4..c9cd5572bc7 100644
--- a/pkgs/development/ocaml-modules/lens/default.nix
+++ b/pkgs/development/ocaml-modules/lens/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
   buildInputs = [ ppx_deriving ppxlib ];
 
   doCheck = true;
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
 
   meta = with lib; {
     homepage = "https://github.com/pdonadeo/ocaml-lens";
diff --git a/pkgs/development/ocaml-modules/letsencrypt/default.nix b/pkgs/development/ocaml-modules/letsencrypt/default.nix
index 6f14af03e5c..13875147a4e 100644
--- a/pkgs/development/ocaml-modules/letsencrypt/default.nix
+++ b/pkgs/development/ocaml-modules/letsencrypt/default.nix
@@ -52,7 +52,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
 
   meta = {
     description = "ACME implementation in OCaml";
diff --git a/pkgs/development/ocaml-modules/lockfree/default.nix b/pkgs/development/ocaml-modules/lockfree/default.nix
index 6a8e871bda4..c3400d4583e 100644
--- a/pkgs/development/ocaml-modules/lockfree/default.nix
+++ b/pkgs/development/ocaml-modules/lockfree/default.nix
@@ -18,7 +18,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ dscheck ];
 
   doCheck = true;
-  nativeCheckInputs = [ qcheck qcheck-alcotest ];
+  checkInputs = [ qcheck qcheck-alcotest ];
 
   meta = {
     description = "Lock-free data structures for multicore OCaml";
diff --git a/pkgs/development/ocaml-modules/lru/default.nix b/pkgs/development/ocaml-modules/lru/default.nix
index dfa765d5649..678023bb8f3 100644
--- a/pkgs/development/ocaml-modules/lru/default.nix
+++ b/pkgs/development/ocaml-modules/lru/default.nix
@@ -12,7 +12,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ psq ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ qcheck-alcotest ];
+  checkInputs = [ qcheck-alcotest ];
 
   meta = {
     homepage = "https://github.com/pqwy/lru";
diff --git a/pkgs/development/ocaml-modules/luv/default.nix b/pkgs/development/ocaml-modules/luv/default.nix
index e2df6f321fd..da7f9ba1808 100644
--- a/pkgs/development/ocaml-modules/luv/default.nix
+++ b/pkgs/development/ocaml-modules/luv/default.nix
@@ -22,7 +22,7 @@ buildDunePackage rec {
 
   nativeBuildInputs = [ file ];
   propagatedBuildInputs = [ ctypes result ];
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/lwt-dllist/default.nix b/pkgs/development/ocaml-modules/lwt-dllist/default.nix
index 12675eda9a1..b28981b1b77 100644
--- a/pkgs/development/ocaml-modules/lwt-dllist/default.nix
+++ b/pkgs/development/ocaml-modules/lwt-dllist/default.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
     sha256 = "e86ce75e40f00d51514cf8b2e71e5184c4cb5dae96136be24613406cfc0dba6e";
   };
 
-  nativeCheckInputs = [
+  checkInputs = [
     lwt
   ];
   doCheck = lib.versionAtLeast ocaml.version "4.03";
diff --git a/pkgs/development/ocaml-modules/macaddr/default.nix b/pkgs/development/ocaml-modules/macaddr/default.nix
index 18bc15673bd..7eb74ff064d 100644
--- a/pkgs/development/ocaml-modules/macaddr/default.nix
+++ b/pkgs/development/ocaml-modules/macaddr/default.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
     sha256 = "0mdp38mkvk2f5h2q7nb9fc70a8hyssblnl7kam0d8r5lckgrx5rn";
   };
 
-  nativeCheckInputs = [ ppx_sexp_conv ounit ];
+  checkInputs = [ ppx_sexp_conv ounit ];
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/macaddr/sexp.nix b/pkgs/development/ocaml-modules/macaddr/sexp.nix
index 15d5602e7e0..1f03c1326a5 100644
--- a/pkgs/development/ocaml-modules/macaddr/sexp.nix
+++ b/pkgs/development/ocaml-modules/macaddr/sexp.nix
@@ -9,7 +9,7 @@ buildDunePackage {
 
   propagatedBuildInputs = [ ppx_sexp_conv ];
 
-  nativeCheckInputs = [ macaddr-cstruct ounit ];
+  checkInputs = [ macaddr-cstruct ounit ];
   doCheck = true;
 
   meta = macaddr.meta // {
diff --git a/pkgs/development/ocaml-modules/markup/default.nix b/pkgs/development/ocaml-modules/markup/default.nix
index 17823263355..535557c0e8d 100644
--- a/pkgs/development/ocaml-modules/markup/default.nix
+++ b/pkgs/development/ocaml-modules/markup/default.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ uchar uutf ];
 
-  nativeCheckInputs = [ ounit2 ];
+  checkInputs = [ ounit2 ];
   doCheck = lib.versionAtLeast ocaml.version "4.04";
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/mdx/default.nix b/pkgs/development/ocaml-modules/mdx/default.nix
index 4affea99510..02ef0604445 100644
--- a/pkgs/development/ocaml-modules/mdx/default.nix
+++ b/pkgs/development/ocaml-modules/mdx/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildDunePackage, ocaml
+{ lib, fetchurl, buildDunePackage, ocaml, findlib
 , alcotest
 , astring, cppo, fmt, logs, ocaml-version, odoc-parser, lwt, re, csexp
 , gitUpdater
@@ -17,8 +17,8 @@ buildDunePackage rec {
   };
 
   nativeBuildInputs = [ cppo ];
-  propagatedBuildInputs = [ astring fmt logs csexp ocaml-version odoc-parser re ];
-  nativeCheckInputs = [ alcotest lwt ];
+  propagatedBuildInputs = [ astring fmt logs csexp ocaml-version odoc-parser re findlib ];
+  checkInputs = [ alcotest lwt ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/mec/default.nix b/pkgs/development/ocaml-modules/mec/default.nix
index 312169acb6c..ddb610f5570 100644
--- a/pkgs/development/ocaml-modules/mec/default.nix
+++ b/pkgs/development/ocaml-modules/mec/default.nix
@@ -1,6 +1,7 @@
 { lib, fetchzip, buildDunePackage, ocaml
 , zarith, eqaf, bigarray-compat, hex, ff-sig, ff
-, alcotest, bisect_ppx }:
+, alcotest, bisect_ppx
+}:
 
 buildDunePackage rec {
   pname = "mec";
@@ -27,7 +28,7 @@ buildDunePackage rec {
     zarith
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     bisect_ppx
   ];
diff --git a/pkgs/development/ocaml-modules/metrics/default.nix b/pkgs/development/ocaml-modules/metrics/default.nix
index 837bf6c2dc9..5fcf7cf5110 100644
--- a/pkgs/development/ocaml-modules/metrics/default.nix
+++ b/pkgs/development/ocaml-modules/metrics/default.nix
@@ -13,7 +13,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ fmt ];
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/metrics/unix.nix b/pkgs/development/ocaml-modules/metrics/unix.nix
index ef32ed3159f..5df5e14982c 100644
--- a/pkgs/development/ocaml-modules/metrics/unix.nix
+++ b/pkgs/development/ocaml-modules/metrics/unix.nix
@@ -13,7 +13,8 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ gnuplot lwt metrics mtime uuidm ];
 
-  nativeCheckInputs = [ metrics-lwt ];
+  nativeCheckInputs = [ gnuplot ];
+  checkInputs = [ metrics-lwt ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/mimic/default.nix b/pkgs/development/ocaml-modules/mimic/default.nix
index 1522b2def38..097ecb31353 100644
--- a/pkgs/development/ocaml-modules/mimic/default.nix
+++ b/pkgs/development/ocaml-modules/mimic/default.nix
@@ -23,7 +23,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     alcotest-lwt
     bigstringaf
diff --git a/pkgs/development/ocaml-modules/mirage-block-unix/default.nix b/pkgs/development/ocaml-modules/mirage-block-unix/default.nix
index 940e9a77910..0d0851536b3 100644
--- a/pkgs/development/ocaml-modules/mirage-block-unix/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-block-unix/default.nix
@@ -1,5 +1,6 @@
 { lib, fetchurl, buildDunePackage, cstruct-lwt, diet, logs
-, mirage-block, ounit2, rresult, uri }:
+, mirage-block, ounit2, rresult, uri
+}:
 
 buildDunePackage rec {
   pname = "mirage-block-unix";
@@ -16,7 +17,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ cstruct-lwt logs mirage-block rresult uri ];
 
   doCheck = true;
-  nativeCheckInputs = [ diet ounit2 ];
+  checkInputs = [ diet ounit2 ];
 
   meta = with lib; {
     description = "MirageOS disk block driver for Unix";
diff --git a/pkgs/development/ocaml-modules/mirage-channel/default.nix b/pkgs/development/ocaml-modules/mirage-channel/default.nix
index 7461ef91dae..bdafeb43054 100644
--- a/pkgs/development/ocaml-modules/mirage-channel/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-channel/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ cstruct logs lwt mirage-flow ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest mirage-flow-combinators ];
+  checkInputs = [ alcotest mirage-flow-combinators ];
 
   meta = {
     description = "Buffered channels for MirageOS FLOW types";
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/default.nix b/pkgs/development/ocaml-modules/mirage-crypto/default.nix
index 5bbf5d0fcb3..ea2780a7ab6 100644
--- a/pkgs/development/ocaml-modules/mirage-crypto/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-crypto/default.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
   };
 
   doCheck = true;
-  nativeCheckInputs = [ ounit2 ];
+  checkInputs = [ ounit2 ];
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ dune-configurator  ];
@@ -25,7 +25,7 @@ buildDunePackage rec {
     ocaml-freestanding
   ];
 
-  strictDeps = !doCheck;
+  strictDeps = true;
 
   meta = with lib; {
     homepage = "https://github.com/mirage/mirage-crypto";
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/ec.nix b/pkgs/development/ocaml-modules/mirage-crypto/ec.nix
index 5a9de788a5d..3afe582413f 100644
--- a/pkgs/development/ocaml-modules/mirage-crypto/ec.nix
+++ b/pkgs/development/ocaml-modules/mirage-crypto/ec.nix
@@ -26,7 +26,6 @@ buildDunePackage rec {
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [
-    ocaml
     dune-configurator
   ];
   propagatedBuildInputs = [
@@ -37,10 +36,10 @@ buildDunePackage rec {
     ocaml-freestanding
   ];
 
-  strictDeps = !doCheck;
+  strictDeps = true;
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     hex
     alcotest
     asn1-combinators
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/pk.nix b/pkgs/development/ocaml-modules/mirage-crypto/pk.nix
index d10e51ea0e7..412eec1011b 100644
--- a/pkgs/development/ocaml-modules/mirage-crypto/pk.nix
+++ b/pkgs/development/ocaml-modules/mirage-crypto/pk.nix
@@ -10,10 +10,10 @@ buildDunePackage rec {
   propagatedBuildInputs = [ cstruct mirage-crypto mirage-crypto-rng
                             zarith eqaf sexplib0 ];
 
-  strictDeps = !doCheck;
+  strictDeps = true;
 
   doCheck = true;
-  nativeCheckInputs = [ ounit2 randomconv ];
+  checkInputs = [ ounit2 randomconv ];
 
   meta = mirage-crypto.meta // {
     description = "Simple public-key cryptography for the modern age";
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix
index f9a244de36e..02eba14c318 100644
--- a/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix
+++ b/pkgs/development/ocaml-modules/mirage-crypto/rng-mirage.nix
@@ -9,12 +9,12 @@ buildDunePackage rec {
   inherit (mirage-crypto-rng) version src;
 
   doCheck = true;
-  nativeCheckInputs = [ mirage-unix mirage-clock-unix mirage-time-unix ];
+  checkInputs = [ mirage-unix mirage-clock-unix mirage-time-unix ];
 
   propagatedBuildInputs = [ duration cstruct mirage-crypto-rng mirage-runtime
                             mirage-time mirage-clock logs lwt ];
 
-  strictDeps = !doCheck;
+  strictDeps = true;
 
   meta = mirage-crypto-rng.meta // {
     description = "Entropy collection for a cryptographically secure PRNG";
diff --git a/pkgs/development/ocaml-modules/mirage-crypto/rng.nix b/pkgs/development/ocaml-modules/mirage-crypto/rng.nix
index eb7e0cf0e48..044b8ed27b8 100644
--- a/pkgs/development/ocaml-modules/mirage-crypto/rng.nix
+++ b/pkgs/development/ocaml-modules/mirage-crypto/rng.nix
@@ -7,12 +7,12 @@ buildDunePackage rec {
   inherit (mirage-crypto) version src;
 
   doCheck = true;
-  nativeCheckInputs = [ ounit2 randomconv ];
+  checkInputs = [ ounit2 randomconv ];
 
   buildInputs = [ dune-configurator ];
   propagatedBuildInputs = [ cstruct mirage-crypto duration logs mtime ocaml_lwt ];
 
-  strictDeps = !doCheck;
+  strictDeps = true;
 
   meta = mirage-crypto.meta // {
     description = "A cryptographically secure PRNG";
diff --git a/pkgs/development/ocaml-modules/mirage-flow/unix.nix b/pkgs/development/ocaml-modules/mirage-flow/unix.nix
index 6a317ca34c9..023896447db 100644
--- a/pkgs/development/ocaml-modules/mirage-flow/unix.nix
+++ b/pkgs/development/ocaml-modules/mirage-flow/unix.nix
@@ -1,5 +1,6 @@
 { buildDunePackage, fmt, logs, mirage-flow, ocaml_lwt, cstruct
-, alcotest, mirage-flow-combinators }:
+, alcotest, mirage-flow-combinators
+}:
 
 buildDunePackage {
   pname = "mirage-flow-unix";
@@ -14,7 +15,7 @@ buildDunePackage {
   propagatedBuildInputs = [ fmt logs mirage-flow ocaml_lwt cstruct ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest mirage-flow-combinators ];
+  checkInputs = [ alcotest mirage-flow-combinators ];
 
   meta = mirage-flow.meta // {
     description = "Flow implementations and combinators for MirageOS on Unix";
diff --git a/pkgs/development/ocaml-modules/mirage-kv/default.nix b/pkgs/development/ocaml-modules/mirage-kv/default.nix
index 771efcef2b7..20d83e16641 100644
--- a/pkgs/development/ocaml-modules/mirage-kv/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-kv/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ fmt mirage-device ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = {
     description = "MirageOS signatures for key/value devices";
diff --git a/pkgs/development/ocaml-modules/mirage-logs/default.nix b/pkgs/development/ocaml-modules/mirage-logs/default.nix
index 133d49ddf9d..7aabd51b819 100644
--- a/pkgs/development/ocaml-modules/mirage-logs/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-logs/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ logs lwt mirage-clock mirage-profile ptime stdlib-shims ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = {
     description = "A reporter for the Logs library that writes log messages to stderr, using a Mirage `CLOCK` to add timestamps";
diff --git a/pkgs/development/ocaml-modules/mirage-nat/default.nix b/pkgs/development/ocaml-modules/mirage-nat/default.nix
index 0fdc6d4fa95..fea1e712abd 100644
--- a/pkgs/development/ocaml-modules/mirage-nat/default.nix
+++ b/pkgs/development/ocaml-modules/mirage-nat/default.nix
@@ -27,7 +27,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     mirage-clock-unix
   ];
diff --git a/pkgs/development/ocaml-modules/mirage/default.nix b/pkgs/development/ocaml-modules/mirage/default.nix
index 76f11cfd905..410475b6b5c 100644
--- a/pkgs/development/ocaml-modules/mirage/default.nix
+++ b/pkgs/development/ocaml-modules/mirage/default.nix
@@ -23,7 +23,7 @@ buildDunePackage rec {
 
   # Tests need opam-monorepo
   doCheck = false;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
   ];
 
diff --git a/pkgs/development/ocaml-modules/mirage/runtime.nix b/pkgs/development/ocaml-modules/mirage/runtime.nix
index 25062bcb0df..8182b7b5ef5 100644
--- a/pkgs/development/ocaml-modules/mirage/runtime.nix
+++ b/pkgs/development/ocaml-modules/mirage/runtime.nix
@@ -10,7 +10,7 @@ buildDunePackage rec {
   minimalOCamlVersion = "4.08";
 
   propagatedBuildInputs = [ ipaddr functoria-runtime fmt logs lwt ];
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/mrmime/default.nix b/pkgs/development/ocaml-modules/mrmime/default.nix
index 54f137aecd8..a2d11876561 100644
--- a/pkgs/development/ocaml-modules/mrmime/default.nix
+++ b/pkgs/development/ocaml-modules/mrmime/default.nix
@@ -62,7 +62,7 @@ buildDunePackage rec {
     mirage-crypto-rng
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     jsonm
   ];
diff --git a/pkgs/development/ocaml-modules/multipart-form-data/default.nix b/pkgs/development/ocaml-modules/multipart-form-data/default.nix
index 8c9149c4af5..4d44f3b9776 100644
--- a/pkgs/development/ocaml-modules/multipart-form-data/default.nix
+++ b/pkgs/development/ocaml-modules/multipart-form-data/default.nix
@@ -13,13 +13,13 @@ buildDunePackage rec {
     hash = "sha256-3MYJDvVbPIv/JDiB9nKcLRFC5Qa0afyEfz7hk8MWRII=";
   };
 
-  nativeBuildInputs = [ lwt_ppx ];
+  buildInputs = [ lwt_ppx ];
   propagatedBuildInputs = [ lwt stringext ];
 
   duneVersion = "3";
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = {
     description = "Parser for multipart/form-data (RFC2388)";
diff --git a/pkgs/development/ocaml-modules/mustache/default.nix b/pkgs/development/ocaml-modules/mustache/default.nix
index 6fcf7757f2f..5d4b39b21aa 100644
--- a/pkgs/development/ocaml-modules/mustache/default.nix
+++ b/pkgs/development/ocaml-modules/mustache/default.nix
@@ -11,11 +11,12 @@ buildDunePackage rec {
     sha256 = "19v8rk8d8lkfm2rmhdawfgadji6wa267ir5dprh4w9l1sfj8a1py";
   };
 
-  buildInputs = [ ezjsonm menhir ];
+  nativeBuildInputs = [ menhir ];
+  buildInputs = [ ezjsonm ];
   propagatedBuildInputs = [ menhirLib ];
 
   doCheck = true;
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
 
   meta = {
     description = "Mustache logic-less templates in OCaml";
diff --git a/pkgs/development/ocaml-modules/netchannel/default.nix b/pkgs/development/ocaml-modules/netchannel/default.nix
index 61e5c70edd4..ce859d366b0 100644
--- a/pkgs/development/ocaml-modules/netchannel/default.nix
+++ b/pkgs/development/ocaml-modules/netchannel/default.nix
@@ -28,7 +28,7 @@ buildDunePackage rec {
     sha256 = "sha256-kYsAf6ntwWKUp26dMcp5BScdUOaGpM46050jVZe6gfs=";
   };
 
-  nativeBuildInputs = [
+  buildInputs = [
     ppx_cstruct
   ];
 
diff --git a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
index f0e70699ad8..2c2ffecf3db 100644
--- a/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-cairo/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./META.patch ];
 
+  strictDeps = true;
+
   nativeBuildInputs = [ pkg-config unzip ocaml automake gnum4 autoconf findlib ];
   buildInputs = [ freetype lablgtk cairo gdk-pixbuf gtk2 pango ];
 
diff --git a/pkgs/development/ocaml-modules/ocaml-freestanding/default.nix b/pkgs/development/ocaml-modules/ocaml-freestanding/default.nix
index 942d69e5919..3588495884f 100644
--- a/pkgs/development/ocaml-modules/ocaml-freestanding/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-freestanding/default.nix
@@ -42,6 +42,8 @@ stdenv.mkDerivation rec {
     ./configurable-binding.patch
   ];
 
+  strictDeps = true;
+
   nativeBuildInputs = [
     ocaml
     pkg-config
diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix b/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix
index f99a84cf610..e6a77819465 100644
--- a/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix
+++ b/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix
@@ -7,9 +7,9 @@ buildDunePackage {
   propagatedBuildInputs = [ camomile ocaml_gettext ];
 
   doCheck = true;
-  nativeCheckInputs = [ ounit fileutils ];
+  checkInputs = [ ounit fileutils ];
 
-  meta = (builtins.removeAttrs ocaml_gettext.meta  [ "mainProgram" ]) // {
+  meta = (builtins.removeAttrs ocaml_gettext.meta [ "mainProgram" ]) // {
     description = "Internationalization library using camomile (i18n)";
   };
 
diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
index bd887b4b9f5..c65f5064697 100644
--- a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
@@ -11,14 +11,14 @@ buildDunePackage rec {
     sha256 = "19ynsldb21r539fiwz1f43apsdnx7hj2a2d9qr9wg2hva9y2qrwb";
   };
 
-  buildInputs = [ cppo ];
+  nativeBuildInputs = [ cppo ];
 
   propagatedBuildInputs = [ gettext fileutils ];
 
   # Tests for version 0.4.2 are not compatible with OUnit 2.2.6
   doCheck = false;
 
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
 
   dontStrip = true;
 
diff --git a/pkgs/development/ocaml-modules/ocaml-vdom/default.nix b/pkgs/development/ocaml-modules/ocaml-vdom/default.nix
index 6ae36252aa0..72c1cb148c2 100644
--- a/pkgs/development/ocaml-modules/ocaml-vdom/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-vdom/default.nix
@@ -11,6 +11,10 @@ buildDunePackage rec {
     sha256 = "sha256-FVR0WubW9VJBGVtVaXdJ+O/ghq0w5+BuItFWXkuVYL8=";
   };
 
+  nativeBuildInputs = [
+    gen_js_api
+  ];
+
   buildInputs = [
     gen_js_api
   ];
diff --git a/pkgs/development/ocaml-modules/ocaml-version/default.nix b/pkgs/development/ocaml-modules/ocaml-version/default.nix
index aeb9c9dc699..28f12046eaa 100644
--- a/pkgs/development/ocaml-modules/ocaml-version/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-version/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildDunePackage }:
+{ lib, fetchurl, buildDunePackage, alcotest }:
 
 buildDunePackage rec {
   pname = "ocaml-version";
@@ -9,6 +9,10 @@ buildDunePackage rec {
     sha256 = "sha256-2MG+tejY67dxC19DTOZqPsi3UrHk1rqHxP4nRSvbiiU=";
   };
 
+  checkInputs = [ alcotest ];
+
+  doCheck = true;
+
   minimumOCamlVersion = "4.07";
   useDune2 = true;
 
diff --git a/pkgs/development/ocaml-modules/ocamlnat/default.nix b/pkgs/development/ocaml-modules/ocamlnat/default.nix
index 0be4e780663..850c29c4dc0 100644
--- a/pkgs/development/ocaml-modules/ocamlnat/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnat/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ocaml findlib ];
-  buildInputs = [ ounit];
+  checkInputs = [ ounit ];
 
   strictDeps = true;
 
diff --git a/pkgs/development/ocaml-modules/ocamlsdl/default.nix b/pkgs/development/ocaml-modules/ocamlsdl/default.nix
index 3482aa37e75..2a33d8b17cc 100644
--- a/pkgs/development/ocaml-modules/ocamlsdl/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlsdl/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     sha256 = "abfb295b263dc11e97fffdd88ea1a28b46df8cc2b196777093e4fe7f509e4f8f";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ pkg-config ocaml findlib ];
   buildInputs = [ SDL SDL_image SDL_mixer SDL_ttf SDL_gfx lablgl ];
 
diff --git a/pkgs/development/ocaml-modules/ocsigen-server/default.nix b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
index 3ee300a5a96..f4225c917db 100644
--- a/pkgs/development/ocaml-modules/ocsigen-server/default.nix
+++ b/pkgs/development/ocaml-modules/ocsigen-server/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, fetchFromGitHub, which, ocaml, lwt_react, ssl, lwt_ssl
+{ lib, buildDunePackage, fetchFromGitHub, which, ocaml, lwt_react, ssl, lwt_ssl, findlib
 , bigstringaf, lwt, cstruct, mirage-crypto, zarith, mirage-crypto-ec, ptime, mirage-crypto-rng, mtime, ca-certs
 , cohttp, cohttp-lwt-unix, hmap
 , lwt_log, ocaml_pcre, cryptokit, xml-light, ipaddr
@@ -31,7 +31,7 @@ buildDunePackage rec {
   };
 
   nativeBuildInputs = [ makeWrapper which ];
-  buildInputs = [ lwt_react camlzip ];
+  buildInputs = [ lwt_react camlzip findlib ];
 
   propagatedBuildInputs = [ cohttp cohttp-lwt-unix cryptokit hmap ipaddr lwt_log lwt_ssl
     ocaml_pcre xml-light
diff --git a/pkgs/development/ocaml-modules/odoc/default.nix b/pkgs/development/ocaml-modules/odoc/default.nix
index 34f3e84304b..924f643cc88 100644
--- a/pkgs/development/ocaml-modules/odoc/default.nix
+++ b/pkgs/development/ocaml-modules/odoc/default.nix
@@ -16,9 +16,11 @@ buildDunePackage rec {
   # dune 3 is required for tests to pass
   duneVersion = if doCheck then "3" else "2";
 
-  buildInputs = [ astring cmdliner cppo fpath result tyxml odoc-parser fmt ];
+  nativeBuildInputs = [ cppo ];
+  buildInputs = [ astring cmdliner fpath result tyxml odoc-parser fmt ];
 
-  nativeCheckInputs = [ markup yojson sexplib0 jq ppx_expect bash ];
+  nativeCheckInputs = [ bash jq ];
+  checkInputs = [ markup yojson sexplib0 jq ppx_expect ];
   doCheck = lib.versionAtLeast ocaml.version "4.08"
     && lib.versionOlder yojson.version "2.0";
 
diff --git a/pkgs/development/ocaml-modules/opium/default.nix b/pkgs/development/ocaml-modules/opium/default.nix
index 26632f37d20..b98d892696e 100644
--- a/pkgs/development/ocaml-modules/opium/default.nix
+++ b/pkgs/development/ocaml-modules/opium/default.nix
@@ -49,7 +49,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest-lwt
   ];
 
diff --git a/pkgs/development/ocaml-modules/oseq/default.nix b/pkgs/development/ocaml-modules/oseq/default.nix
index f680c3794ca..cbe02de2ef1 100644
--- a/pkgs/development/ocaml-modules/oseq/default.nix
+++ b/pkgs/development/ocaml-modules/oseq/default.nix
@@ -19,7 +19,7 @@ buildDunePackage rec {
   duneVersion = "3";
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     containers
     qcheck
   ];
diff --git a/pkgs/development/ocaml-modules/owl/default.nix b/pkgs/development/ocaml-modules/owl/default.nix
index b5f707446a5..6e77b6312fa 100644
--- a/pkgs/development/ocaml-modules/owl/default.nix
+++ b/pkgs/development/ocaml-modules/owl/default.nix
@@ -16,11 +16,14 @@ buildDunePackage rec {
 
   inherit (owl-base) version src meta useDune2;
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   buildInputs = [ dune-configurator stdio ];
   propagatedBuildInputs = [
-    eigen openblasCompat owl-base npy
+    eigen
+    openblasCompat
+    owl-base
+    npy
   ];
 
-  doCheck = !stdenv.isDarwin;  # https://github.com/owlbarn/owl/issues/462
+  doCheck = !stdenv.isDarwin; # https://github.com/owlbarn/owl/issues/462
 }
diff --git a/pkgs/development/ocaml-modules/paf/cohttp.nix b/pkgs/development/ocaml-modules/paf/cohttp.nix
index 97396769fd0..2f289149306 100644
--- a/pkgs/development/ocaml-modules/paf/cohttp.nix
+++ b/pkgs/development/ocaml-modules/paf/cohttp.nix
@@ -22,7 +22,7 @@ buildDunePackage {
   inherit (paf)
     version
     src
-  ;
+    ;
 
   duneVersion = "3";
 
@@ -35,7 +35,7 @@ buildDunePackage {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest-lwt
     fmt
     logs
diff --git a/pkgs/development/ocaml-modules/paf/default.nix b/pkgs/development/ocaml-modules/paf/default.nix
index d172e73e13b..e75efeb2ade 100644
--- a/pkgs/development/ocaml-modules/paf/default.nix
+++ b/pkgs/development/ocaml-modules/paf/default.nix
@@ -50,7 +50,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     lwt
     logs
     fmt
diff --git a/pkgs/development/ocaml-modules/parse-argv/default.nix b/pkgs/development/ocaml-modules/parse-argv/default.nix
index 79a6a541a55..4bc409245ee 100644
--- a/pkgs/development/ocaml-modules/parse-argv/default.nix
+++ b/pkgs/development/ocaml-modules/parse-argv/default.nix
@@ -19,7 +19,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ astring ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.04";
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
 
   meta = {
     description = "Process strings into sets of command-line arguments";
diff --git a/pkgs/development/ocaml-modules/pbkdf/default.nix b/pkgs/development/ocaml-modules/pbkdf/default.nix
index 5dedd200a82..d6b9bdb7e75 100644
--- a/pkgs/development/ocaml-modules/pbkdf/default.nix
+++ b/pkgs/development/ocaml-modules/pbkdf/default.nix
@@ -19,7 +19,7 @@ buildDunePackage rec {
 
   minimalOCamlVersion = "4.08";
   propagatedBuildInputs = [ cstruct mirage-crypto ];
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/pcap-format/default.nix b/pkgs/development/ocaml-modules/pcap-format/default.nix
index aa65deff741..ffd18378779 100644
--- a/pkgs/development/ocaml-modules/pcap-format/default.nix
+++ b/pkgs/development/ocaml-modules/pcap-format/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
     sha256 = "14c5rpgglyz41jic0fg0xa22d2w1syb86kva22y9fi7aqj9vm31f";
   };
 
-  nativeBuildInputs = [
+  buildInputs = [
     ppx_tools
     ppx_cstruct
   ];
@@ -28,7 +28,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     ounit
     mmap
   ];
diff --git a/pkgs/development/ocaml-modules/pecu/default.nix b/pkgs/development/ocaml-modules/pecu/default.nix
index cc2827ad533..22c1913635f 100644
--- a/pkgs/development/ocaml-modules/pecu/default.nix
+++ b/pkgs/development/ocaml-modules/pecu/default.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
 
   # crowbar availability
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ fmt alcotest crowbar astring ];
+  checkInputs = [ fmt alcotest crowbar astring ];
 
   meta = with lib; {
     description = "Encoder/Decoder of Quoted-Printable (RFC2045 & RFC2047)";
diff --git a/pkgs/development/ocaml-modules/phylogenetics/default.nix b/pkgs/development/ocaml-modules/phylogenetics/default.nix
index c8fbeb103aa..e67429a6a45 100644
--- a/pkgs/development/ocaml-modules/phylogenetics/default.nix
+++ b/pkgs/development/ocaml-modules/phylogenetics/default.nix
@@ -27,8 +27,9 @@ buildDunePackage rec {
 
   minimalOCamlVersion = "4.08";
 
-  nativeCheckInputs = [ alcotest bppsuite ];
-  buildInputs = [ menhir ];
+  nativeCheckInputs = [ bppsuite ];
+  checkInputs = [ alcotest ];
+  nativeBuildInputs = [ menhir ];
   propagatedBuildInputs = [
     angstrom-unix
     biocaml
diff --git a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
index 653f86c03ac..39ae5a86c59 100644
--- a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
+++ b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ ocaml findlib ];
   buildInputs = [ piqi stdlib-shims ];
 
-  nativeCheckInputs  = [ num ];
+  checkInputs = [ num ];
 
   strictDeps = true;
 
diff --git a/pkgs/development/ocaml-modules/postgresql/default.nix b/pkgs/development/ocaml-modules/postgresql/default.nix
index a63876ec5bb..d87f6b39efb 100644
--- a/pkgs/development/ocaml-modules/postgresql/default.nix
+++ b/pkgs/development/ocaml-modules/postgresql/default.nix
@@ -15,7 +15,8 @@ buildDunePackage rec {
     sha256 = "1i4pnh2v00i0s7s9pcwz1x6s4xcd77d08gjjkvy0fmda6mqq6ghn";
   };
 
-  buildInputs = [ dune-configurator postgresql ];
+  nativeBuildInputs = [ postgresql ];
+  buildInputs = [ dune-configurator ];
 
   meta = {
     description = "Bindings to the PostgreSQL library";
diff --git a/pkgs/development/ocaml-modules/pp/default.nix b/pkgs/development/ocaml-modules/pp/default.nix
index c53b5946556..7602d702452 100644
--- a/pkgs/development/ocaml-modules/pp/default.nix
+++ b/pkgs/development/ocaml-modules/pp/default.nix
@@ -16,7 +16,7 @@ buildDunePackage rec {
   useDune2 = true;
   minimalOCamlVersion = "4.08";
 
-  nativeCheckInputs = [ ppx_expect ];
+  checkInputs = [ ppx_expect ];
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/ppx_blob/default.nix b/pkgs/development/ocaml-modules/ppx_blob/default.nix
index 9bf509801bb..6248e4e6a94 100644
--- a/pkgs/development/ocaml-modules/ppx_blob/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_blob/default.nix
@@ -11,7 +11,7 @@ buildDunePackage rec {
     sha256 = "00haz1cmplk3j9ysh6j656zrldy60585fmlndmfhpd5332mxrfdw";
   };
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   propagatedBuildInputs = [ ppxlib ];
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/ppx_deriving/default.nix b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
index dba8ffc743d..e1c31c3ec28 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving/default.nix
@@ -39,8 +39,7 @@ buildDunePackage rec {
     inherit (params) sha256;
   };
 
-  # This currently fails with dune
-  strictDeps = false;
+  strictDeps = true;
 
   nativeBuildInputs = [ cppo ];
   buildInputs = [ ppxlib ];
@@ -53,7 +52,7 @@ buildDunePackage rec {
   ];
 
   doCheck = lib.versionOlder ocaml.version "5.0";
-  nativeCheckInputs = [
+  checkInputs = [
     (if lib.versionAtLeast version "5.2" then ounit2 else ounit)
   ];
 
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_cmdliner/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_cmdliner/default.nix
index 1b48c90e1d2..5bf70a05650 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving_cmdliner/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving_cmdliner/default.nix
@@ -38,7 +38,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
   ];
 
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
index ff7fc30e986..b7d1986c30d 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving_rpc/default.nix
@@ -9,7 +9,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ ppxlib rpclib ppx_deriving ];
 
-  nativeCheckInputs = [ alcotest yojson ];
+  checkInputs = [ alcotest yojson ];
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix
index 98872feb14f..c6a0f6d0af6 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving_yaml/default.nix
@@ -16,7 +16,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ ppxlib ppx_deriving yaml ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   meta = {
     description = "A YAML codec generator for OCaml";
diff --git a/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix b/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix
index 87784177ed4..4fef3c0619f 100644
--- a/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix
+++ b/pkgs/development/ocaml-modules/ppx_deriving_yojson/default.nix
@@ -28,7 +28,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ ppxlib ppx_deriving yojson ];
 
   doCheck = true;
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
 
   meta = {
     description = "A Yojson codec generator for OCaml >= 4.04";
diff --git a/pkgs/development/ocaml-modules/pratter/default.nix b/pkgs/development/ocaml-modules/pratter/default.nix
index 339eac87bea..a44e815092c 100644
--- a/pkgs/development/ocaml-modules/pratter/default.nix
+++ b/pkgs/development/ocaml-modules/pratter/default.nix
@@ -22,7 +22,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ camlp-streams ];
 
-  nativeCheckInputs = [ alcotest qcheck qcheck-alcotest ];
+  checkInputs = [ alcotest qcheck qcheck-alcotest ];
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/prettym/default.nix b/pkgs/development/ocaml-modules/prettym/default.nix
index 7cdbc7b05bb..d19233cf13c 100644
--- a/pkgs/development/ocaml-modules/prettym/default.nix
+++ b/pkgs/development/ocaml-modules/prettym/default.nix
@@ -31,7 +31,7 @@ buildDunePackage rec {
     ke
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     ptime
     alcotest
     jsonm
diff --git a/pkgs/development/ocaml-modules/progress/default.nix b/pkgs/development/ocaml-modules/progress/default.nix
index 35c7ee9eb43..4c00ff98465 100644
--- a/pkgs/development/ocaml-modules/progress/default.nix
+++ b/pkgs/development/ocaml-modules/progress/default.nix
@@ -14,7 +14,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ fmt logs mtime optint terminal vector ];
 
   doCheck = true;
-  nativeCheckInputs = [ alcotest astring ];
+  checkInputs = [ alcotest astring ];
 
   meta = with lib; {
     description = "Progress bar library for OCaml";
diff --git a/pkgs/development/ocaml-modules/psq/default.nix b/pkgs/development/ocaml-modules/psq/default.nix
index 75b23447284..ea9a0615b41 100644
--- a/pkgs/development/ocaml-modules/psq/default.nix
+++ b/pkgs/development/ocaml-modules/psq/default.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ seq ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ qcheck-alcotest ];
+  checkInputs = [ qcheck-alcotest ];
 
   meta = {
     description = "Functional Priority Search Queues for OCaml";
diff --git a/pkgs/development/ocaml-modules/reason-native/refmterr.nix b/pkgs/development/ocaml-modules/reason-native/refmterr.nix
index b4d6708467f..3e517591b9e 100644
--- a/pkgs/development/ocaml-modules/reason-native/refmterr.nix
+++ b/pkgs/development/ocaml-modules/reason-native/refmterr.nix
@@ -4,6 +4,7 @@
   pname = "refmterr";
 
   nativeBuildInputs = [
+    atdgen
     reason
   ];
 
diff --git a/pkgs/development/ocaml-modules/repr/ppx.nix b/pkgs/development/ocaml-modules/repr/ppx.nix
index eb96298f16a..1eb76256362 100644
--- a/pkgs/development/ocaml-modules/repr/ppx.nix
+++ b/pkgs/development/ocaml-modules/repr/ppx.nix
@@ -12,7 +12,7 @@ buildDunePackage {
   ];
 
   doCheck = false; # tests fail with ppxlib >= 0.23.0
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     hex
   ];
diff --git a/pkgs/development/ocaml-modules/rfc7748/default.nix b/pkgs/development/ocaml-modules/rfc7748/default.nix
index 432636bcbb5..40356ec9aa5 100644
--- a/pkgs/development/ocaml-modules/rfc7748/default.nix
+++ b/pkgs/development/ocaml-modules/rfc7748/default.nix
@@ -26,7 +26,7 @@ buildDunePackage rec {
 
   # the tests fail for 4.05
   doCheck = lib.versionAtLeast ocaml.version "4.06";
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
 
   meta = {
     homepage = "https://github.com/burgerdev/ocaml-rfc7748";
diff --git a/pkgs/development/ocaml-modules/rpclib/default.nix b/pkgs/development/ocaml-modules/rpclib/default.nix
index 34f62852a81..73d899eafa9 100644
--- a/pkgs/development/ocaml-modules/rpclib/default.nix
+++ b/pkgs/development/ocaml-modules/rpclib/default.nix
@@ -16,7 +16,7 @@ buildDunePackage rec {
 
   buildInputs = [ cmdliner yojson ];
   propagatedBuildInputs = [ base64 rresult xmlm ];
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
diff --git a/pkgs/development/ocaml-modules/rpclib/lwt.nix b/pkgs/development/ocaml-modules/rpclib/lwt.nix
index 69b2bf74990..1f97d7ff52d 100644
--- a/pkgs/development/ocaml-modules/rpclib/lwt.nix
+++ b/pkgs/development/ocaml-modules/rpclib/lwt.nix
@@ -1,6 +1,10 @@
-{ lib, buildDunePackage, rpclib
+{ lib
+, buildDunePackage
+, rpclib
 , lwt
-, alcotest-lwt, ppx_deriving_rpc, yojson
+, alcotest-lwt
+, ppx_deriving_rpc
+, yojson
 }:
 
 buildDunePackage {
@@ -9,7 +13,7 @@ buildDunePackage {
 
   propagatedBuildInputs = [ lwt rpclib ];
 
-  nativeCheckInputs = [ alcotest-lwt ppx_deriving_rpc yojson ];
+  checkInputs = [ alcotest-lwt ppx_deriving_rpc yojson ];
   doCheck = true;
 
   meta = rpclib.meta // {
diff --git a/pkgs/development/ocaml-modules/secp256k1-internal/default.nix b/pkgs/development/ocaml-modules/secp256k1-internal/default.nix
index f08f77c5282..4a9a761ab30 100644
--- a/pkgs/development/ocaml-modules/secp256k1-internal/default.nix
+++ b/pkgs/development/ocaml-modules/secp256k1-internal/default.nix
@@ -31,7 +31,7 @@ buildDunePackage rec {
     dune-configurator
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     hex
   ];
diff --git a/pkgs/development/ocaml-modules/sha/default.nix b/pkgs/development/ocaml-modules/sha/default.nix
index d809678838a..4d400d32844 100644
--- a/pkgs/development/ocaml-modules/sha/default.nix
+++ b/pkgs/development/ocaml-modules/sha/default.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     ounit2
   ];
 
diff --git a/pkgs/development/ocaml-modules/shared-memory-ring/default.nix b/pkgs/development/ocaml-modules/shared-memory-ring/default.nix
index 2e4b656e638..0b4974f910c 100644
--- a/pkgs/development/ocaml-modules/shared-memory-ring/default.nix
+++ b/pkgs/development/ocaml-modules/shared-memory-ring/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
     sha256 = "sha256-KW8grij/OAnFkdUdRRZF21X39DvqayzkTWeRKwF8uoU=";
   };
 
-  nativeBuildInputs = [
+  buildInputs = [
     ppx_cstruct
   ];
 
@@ -28,7 +28,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     ounit
   ];
 
diff --git a/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix b/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix
index 75d62dd15a7..e3ae1ef2e3d 100644
--- a/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix
+++ b/pkgs/development/ocaml-modules/shared-memory-ring/lwt.nix
@@ -27,7 +27,7 @@ buildDunePackage {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     ounit
   ];
 
diff --git a/pkgs/development/ocaml-modules/ssl/default.nix b/pkgs/development/ocaml-modules/ssl/default.nix
index 7730a5a62ba..7eca606f93f 100644
--- a/pkgs/development/ocaml-modules/ssl/default.nix
+++ b/pkgs/development/ocaml-modules/ssl/default.nix
@@ -24,7 +24,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ openssl ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   preCheck = ''
     mkdir -p _build/default/tests/
     cp tests/digicert_certificate.pem _build/default/tests/
diff --git a/pkgs/development/ocaml-modules/stdint/default.nix b/pkgs/development/ocaml-modules/stdint/default.nix
index 5abcdc3dcfa..cec0ec81830 100644
--- a/pkgs/development/ocaml-modules/stdint/default.nix
+++ b/pkgs/development/ocaml-modules/stdint/default.nix
@@ -26,7 +26,7 @@ buildDunePackage rec {
   '';
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ qcheck ];
+  checkInputs = [ qcheck ];
 
   meta = {
     description = "Various signed and unsigned integers for OCaml";
diff --git a/pkgs/development/ocaml-modules/stringext/default.nix b/pkgs/development/ocaml-modules/stringext/default.nix
index 95b01e5d8fe..3d440cf4895 100644
--- a/pkgs/development/ocaml-modules/stringext/default.nix
+++ b/pkgs/development/ocaml-modules/stringext/default.nix
@@ -14,7 +14,7 @@ buildDunePackage {
     sha256 = "1sh6nafi3i9773j5mlwwz3kxfzdjzsfqj2qibxhigawy5vazahfv";
   };
 
-  nativeCheckInputs = [ ounit qtest ];
+  checkInputs = [ ounit qtest ];
   inherit doCheck;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/syslog-message/default.nix b/pkgs/development/ocaml-modules/syslog-message/default.nix
index 4e5ab303f5c..2c12415cdbb 100644
--- a/pkgs/development/ocaml-modules/syslog-message/default.nix
+++ b/pkgs/development/ocaml-modules/syslog-message/default.nix
@@ -23,7 +23,7 @@ buildDunePackage rec {
   ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [
+  checkInputs = [
     qcheck
   ];
 
diff --git a/pkgs/development/ocaml-modules/tcpip/default.nix b/pkgs/development/ocaml-modules/tcpip/default.nix
index a388bea4e86..0cd57ba9c8f 100644
--- a/pkgs/development/ocaml-modules/tcpip/default.nix
+++ b/pkgs/development/ocaml-modules/tcpip/default.nix
@@ -23,12 +23,12 @@ buildDunePackage rec {
   };
 
   nativeBuildInputs = [
-    bisect_ppx
-    ppx_cstruct
     pkg-config
   ];
 
   propagatedBuildInputs = [
+    bisect_ppx
+    ppx_cstruct
     rresult
     cstruct
     cstruct-lwt
@@ -58,7 +58,7 @@ buildDunePackage rec {
   ];
 
   doCheck = false;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     mirage-flow
     mirage-vnetif
diff --git a/pkgs/development/ocaml-modules/terminal/default.nix b/pkgs/development/ocaml-modules/terminal/default.nix
index fa18ce22715..e97fb223e41 100644
--- a/pkgs/development/ocaml-modules/terminal/default.nix
+++ b/pkgs/development/ocaml-modules/terminal/default.nix
@@ -18,7 +18,7 @@ buildDunePackage rec {
   propagatedBuildInputs = [ stdlib-shims uutf uucp ];
 
   doCheck = lib.versionAtLeast ocaml.version "4.08";
-  nativeCheckInputs = [ alcotest fmt ];
+  checkInputs = [ alcotest fmt ];
 
   meta = with lib; {
     description = "Basic utilities for interacting with terminals";
diff --git a/pkgs/development/ocaml-modules/terminal_size/default.nix b/pkgs/development/ocaml-modules/terminal_size/default.nix
index 564b69505d7..fa6bd003eae 100644
--- a/pkgs/development/ocaml-modules/terminal_size/default.nix
+++ b/pkgs/development/ocaml-modules/terminal_size/default.nix
@@ -11,7 +11,7 @@ buildDunePackage rec {
     sha256 = "fdca1fee7d872c4a8e5ab003d9915b6782b272e2a3661ca877f2d78dd25371a7";
   };
 
-  nativeCheckInputs = [ alcotest ];
+  checkInputs = [ alcotest ];
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 
   meta = with lib; {
diff --git a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/default.nix b/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/default.nix
index 03c2ecca405..47f9253e447 100644
--- a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/default.nix
+++ b/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/default.nix
@@ -1,14 +1,14 @@
-{
-  lib,
-  fetchFromGitLab,
-  buildDunePackage,
-  bls12-381,
-  data-encoding,
-  bigstringaf,
-  alcotest,
-  alcotest-lwt,
-  bisect_ppx,
-  qcheck-alcotest,
+{ lib
+, fetchFromGitLab
+, buildDunePackage
+, bls12-381
+, data-encoding
+, bigstringaf
+, alcotest
+, alcotest-lwt
+, bisect_ppx
+, qcheck-alcotest
+,
 }:
 
 buildDunePackage rec {
@@ -22,9 +22,9 @@ buildDunePackage rec {
     sha256 = "sha256-H1Wog3GItTIVsawr9JkyyKq+uGqbTQPTR1dacpmxLbs=";
   };
 
-  propagatedBuildInputs = [bls12-381 data-encoding bigstringaf];
+  propagatedBuildInputs = [ bls12-381 data-encoding bigstringaf ];
 
-  nativeCheckInputs = [alcotest alcotest-lwt bisect_ppx qcheck-alcotest];
+  checkInputs = [ alcotest alcotest-lwt bisect_ppx qcheck-alcotest ];
 
   doCheck = false; # circular dependencies
 
@@ -32,6 +32,6 @@ buildDunePackage rec {
     description = "Polynomials over BLS12-381 finite field";
     license = lib.licenses.mit;
     homepage = "https://gitlab.com/nomadic-labs/privacy-team";
-    maintainers = [lib.maintainers.ulrikstrid];
+    maintainers = [ lib.maintainers.ulrikstrid ];
   };
 }
diff --git a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix b/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix
index 3eed3652e5f..0f618f0d1e6 100644
--- a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix
+++ b/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plompiler.nix
@@ -30,7 +30,7 @@ buildDunePackage rec {
     mec
   ];
 
-  nativeCheckInputs = [ alcotest qcheck-alcotest bisect_ppx ];
+  checkInputs = [ alcotest qcheck-alcotest bisect_ppx ];
 
   doCheck = false; # circular deps
 
diff --git a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix b/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix
index c602e8a3b0e..f9b78e11d33 100644
--- a/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix
+++ b/pkgs/development/ocaml-modules/tezos-bls12-381-polynomial/plonk.nix
@@ -1,14 +1,14 @@
-{
-  lib,
-  buildDunePackage,
-  hacl-star,
-  bls12-381,
-  tezos-bls12-381-polynomial,
-  data-encoding,
-  tezos-plompiler,
-  alcotest,
-  qcheck-alcotest,
-  bisect_ppx,
+{ lib
+, buildDunePackage
+, hacl-star
+, bls12-381
+, tezos-bls12-381-polynomial
+, data-encoding
+, tezos-plompiler
+, alcotest
+, qcheck-alcotest
+, bisect_ppx
+,
 }:
 
 buildDunePackage rec {
@@ -25,7 +25,7 @@ buildDunePackage rec {
     tezos-plompiler
   ];
 
-  nativeCheckInputs = [ alcotest qcheck-alcotest bisect_ppx ];
+  checkInputs = [ alcotest qcheck-alcotest bisect_ppx ];
 
   doCheck = false; # broken
 
diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix
index a0c22b5026b..b68edba2728 100644
--- a/pkgs/development/ocaml-modules/tls/default.nix
+++ b/pkgs/development/ocaml-modules/tls/default.nix
@@ -38,7 +38,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     cstruct-unix
     ounit2
diff --git a/pkgs/development/ocaml-modules/tsdl/default.nix b/pkgs/development/ocaml-modules/tsdl/default.nix
index a7d1f573c69..354a8ca2098 100644
--- a/pkgs/development/ocaml-modules/tsdl/default.nix
+++ b/pkgs/development/ocaml-modules/tsdl/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation {
     sha256 = "sha256-GqFz+bYG2ESkAEJyP8DKud4JFfU5MGLulzJa5Z4sptQ=";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ pkg-config ocaml findlib ocamlbuild topkg ];
   buildInputs = [ topkg ];
   propagatedBuildInputs = [ SDL2 ctypes ]
diff --git a/pkgs/development/ocaml-modules/uecc/default.nix b/pkgs/development/ocaml-modules/uecc/default.nix
index 11ee8eb6b5e..efb86d86247 100644
--- a/pkgs/development/ocaml-modules/uecc/default.nix
+++ b/pkgs/development/ocaml-modules/uecc/default.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
     bigstring
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     cstruct
     hex
diff --git a/pkgs/development/ocaml-modules/unstrctrd/default.nix b/pkgs/development/ocaml-modules/unstrctrd/default.nix
index b3cb4933b91..104cabfd0fa 100644
--- a/pkgs/development/ocaml-modules/unstrctrd/default.nix
+++ b/pkgs/development/ocaml-modules/unstrctrd/default.nix
@@ -28,7 +28,7 @@ buildDunePackage rec {
     uutf
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest
     bigstringaf
     crowbar
diff --git a/pkgs/development/ocaml-modules/uri/default.nix b/pkgs/development/ocaml-modules/uri/default.nix
index fa659699cb7..f669a98c4de 100644
--- a/pkgs/development/ocaml-modules/uri/default.nix
+++ b/pkgs/development/ocaml-modules/uri/default.nix
@@ -14,7 +14,7 @@ buildDunePackage rec {
     sha256 = "0szifda6yism5vn5jdizkha3ad0xk6zw4xgfl8g77dnv83ci7h65";
   };
 
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
   propagatedBuildInputs = [ angstrom stringext ];
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/uri/sexp.nix b/pkgs/development/ocaml-modules/uri/sexp.nix
index 9cb66139fb8..ba970b1d6c5 100644
--- a/pkgs/development/ocaml-modules/uri/sexp.nix
+++ b/pkgs/development/ocaml-modules/uri/sexp.nix
@@ -8,7 +8,7 @@ buildDunePackage {
   pname = "uri-sexp";
   inherit (uri) version useDune2 src meta;
 
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
   propagatedBuildInputs = [ ppx_sexp_conv sexplib0 uri ];
   doCheck = lib.versionAtLeast ocaml.version "4.08";
 }
diff --git a/pkgs/development/ocaml-modules/uucp/default.nix b/pkgs/development/ocaml-modules/uucp/default.nix
index cfadc9e5fb3..476a4529f3f 100644
--- a/pkgs/development/ocaml-modules/uucp/default.nix
+++ b/pkgs/development/ocaml-modules/uucp/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation {
     ${topkg.run} test
     runHook postCheck
   '';
-  nativeCheckInputs = [ uucd ];
+  checkInputs = [ uucd ];
 
   meta = with lib; {
     description = "An OCaml library providing efficient access to a selection of character properties of the Unicode character database";
diff --git a/pkgs/development/ocaml-modules/uuidm/default.nix b/pkgs/development/ocaml-modules/uuidm/default.nix
index 0ead92d9c54..bece082f641 100644
--- a/pkgs/development/ocaml-modules/uuidm/default.nix
+++ b/pkgs/development/ocaml-modules/uuidm/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-/GZbkJVDQu1UY8SliK282kUWAVMfOnpQadUlRT/tJrM=";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ ocaml findlib ocamlbuild topkg ];
   configurePlatforms = [];
   buildInputs = [ topkg cmdliner ];
diff --git a/pkgs/development/ocaml-modules/uuuu/default.nix b/pkgs/development/ocaml-modules/uuuu/default.nix
index 8f4b4eadaed..e84addcac8b 100644
--- a/pkgs/development/ocaml-modules/uuuu/default.nix
+++ b/pkgs/development/ocaml-modules/uuuu/default.nix
@@ -25,7 +25,7 @@ buildDunePackage rec {
 
   buildInputs = [ angstrom ];
 
-  strictDeps = !doCheck;
+  strictDeps = true;
 
   nativeCheckInputs = [ re ];
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/vchan/default.nix b/pkgs/development/ocaml-modules/vchan/default.nix
index 70374325086..872d11606ff 100644
--- a/pkgs/development/ocaml-modules/vchan/default.nix
+++ b/pkgs/development/ocaml-modules/vchan/default.nix
@@ -15,11 +15,8 @@ buildDunePackage rec {
     sha256 = "sha256-5E7dITMVirYoxUkp8ZamRAolyhA6avXGJNAioxeBuV0=";
   };
 
-  nativeBuildInputs = [
-    ppx_cstruct
-  ];
-
   propagatedBuildInputs = [
+    ppx_cstruct
     ppx_sexp_conv
     lwt
     cstruct
@@ -31,7 +28,7 @@ buildDunePackage rec {
   ];
 
   doCheck = true;
-  nativeCheckInputs = [
+  checkInputs = [
     cmdliner
     ounit
   ];
diff --git a/pkgs/development/ocaml-modules/wayland/default.nix b/pkgs/development/ocaml-modules/wayland/default.nix
index 95c0c4a9dc4..f7ade2ec807 100644
--- a/pkgs/development/ocaml-modules/wayland/default.nix
+++ b/pkgs/development/ocaml-modules/wayland/default.nix
@@ -33,7 +33,7 @@ buildDunePackage rec {
     xmlm
   ];
 
-  nativeCheckInputs = [
+  checkInputs = [
     alcotest-lwt
   ];
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/webmachine/default.nix b/pkgs/development/ocaml-modules/webmachine/default.nix
index c6335ba8a93..9f8749cac9f 100644
--- a/pkgs/development/ocaml-modules/webmachine/default.nix
+++ b/pkgs/development/ocaml-modules/webmachine/default.nix
@@ -19,7 +19,7 @@ buildDunePackage rec {
 
   propagatedBuildInputs = [ cohttp dispatch ptime ];
 
-  nativeCheckInputs = [ ounit ];
+  checkInputs = [ ounit ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/x509/default.nix b/pkgs/development/ocaml-modules/x509/default.nix
index 9bfe9489444..bd7a7a0fa47 100644
--- a/pkgs/development/ocaml-modules/x509/default.nix
+++ b/pkgs/development/ocaml-modules/x509/default.nix
@@ -17,7 +17,7 @@ buildDunePackage rec {
     hash = "sha256-Zf/ZZjUAkeWe04XLmqMKgbxN/qe/Z1mpKM82veXVf2I=";
   };
 
-  nativeCheckInputs = [ alcotest cstruct-unix ];
+  checkInputs = [ alcotest cstruct-unix ];
   propagatedBuildInputs = [ asn1-combinators domain-name fmt gmap mirage-crypto mirage-crypto-pk mirage-crypto-ec pbkdf logs base64 ipaddr ];
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/xenstore/default.nix b/pkgs/development/ocaml-modules/xenstore/default.nix
index a60341f569c..a3f4e0abcde 100644
--- a/pkgs/development/ocaml-modules/xenstore/default.nix
+++ b/pkgs/development/ocaml-modules/xenstore/default.nix
@@ -13,11 +13,11 @@ buildDunePackage rec {
     hash = "sha256-1Mnqtt5zHeRdYJHvhdQNjN8d4yxUEKD2cpwtoc7DGC0=";
   };
 
-  nativeBuildInputs = [ ppx_cstruct ];
+  buildInputs = [ ppx_cstruct ];
   propagatedBuildInputs = [ cstruct lwt ];
 
   doCheck = true;
-  nativeCheckInputs = [ ounit2 ];
+  checkInputs = [ ounit2 ];
 
   meta = with lib; {
     description = "Xenstore protocol in pure OCaml";
diff --git a/pkgs/development/ocaml-modules/yaml/default.nix b/pkgs/development/ocaml-modules/yaml/default.nix
index 401b7ce1dcf..61a5a326395 100644
--- a/pkgs/development/ocaml-modules/yaml/default.nix
+++ b/pkgs/development/ocaml-modules/yaml/default.nix
@@ -19,7 +19,8 @@ buildDunePackage rec {
   propagatedBuildInputs = [ bos ctypes ];
 
   doCheck = true;
-  nativeCheckInputs = [ fmt logs mdx.bin alcotest crowbar junit_alcotest ezjsonm ];
+  nativeCheckInputs = [ mdx.bin ];
+  checkInputs = [ fmt logs alcotest crowbar junit_alcotest ezjsonm ];
 
   meta = {
     description = "Parse and generate YAML 1.1 files";
diff --git a/pkgs/development/ocaml-modules/yojson/default.nix b/pkgs/development/ocaml-modules/yojson/default.nix
index 38960dceb5e..d191892e67a 100644
--- a/pkgs/development/ocaml-modules/yojson/default.nix
+++ b/pkgs/development/ocaml-modules/yojson/default.nix
@@ -9,6 +9,8 @@ buildDunePackage rec {
     sha256 = "sha256-h2u284r3OoSilDij2jXkhXxgoUVWpgZSWxSMb9vlRhs=";
   };
 
+  strictDeps = true;
+
   nativeBuildInputs = [ cppo ];
   propagatedBuildInputs = [ seq ];
 
diff --git a/pkgs/development/ocaml-modules/yuscii/default.nix b/pkgs/development/ocaml-modules/yuscii/default.nix
index 44f64361540..c0582fa2a22 100644
--- a/pkgs/development/ocaml-modules/yuscii/default.nix
+++ b/pkgs/development/ocaml-modules/yuscii/default.nix
@@ -19,10 +19,10 @@ buildDunePackage rec {
     sha256 = "0idywlkw0fbakrxv65swnr5bj7f2vns9kpay7q03gzlv82p670hy";
   };
 
-  useDune2 = true;
-
   nativeCheckInputs = [
     gcc
+  ];
+  checkInputs = [
     alcotest
     fmt
     uutf
diff --git a/pkgs/development/ocaml-modules/yuujinchou/default.nix b/pkgs/development/ocaml-modules/yuujinchou/default.nix
index e156e8cbb33..5a78809d909 100644
--- a/pkgs/development/ocaml-modules/yuujinchou/default.nix
+++ b/pkgs/development/ocaml-modules/yuujinchou/default.nix
@@ -14,7 +14,7 @@ buildDunePackage rec {
   };
 
   doCheck = true;
-  nativeCheckInputs = [ qcheck-alcotest ];
+  checkInputs = [ qcheck-alcotest ];
 
   meta = {
     description = "Name pattern combinators";
diff --git a/pkgs/development/tools/comby/default.nix b/pkgs/development/tools/comby/default.nix
index 60221444da0..ac2d36c9239 100644
--- a/pkgs/development/tools/comby/default.nix
+++ b/pkgs/development/tools/comby/default.nix
@@ -28,12 +28,7 @@ let
 
       patches = [ ./comby.patch ];
 
-      nativeBuildInputs = [
-        ocamlPackages.ppx_deriving
-        ocamlPackages.ppx_deriving_yojson
-        ocamlPackages.ppx_sexp_conv
-        ocamlPackages.ppx_sexp_message
-      ] ++ extraNativeInputs;
+      nativeBuildInputs = extraNativeInputs;
 
       buildInputs = [
         ocamlPackages.core
@@ -42,6 +37,10 @@ let
         ocamlPackages.mparser
         ocamlPackages.mparser-pcre
         ocamlPackages.angstrom
+        ocamlPackages.ppx_deriving
+        ocamlPackages.ppx_deriving_yojson
+        ocamlPackages.ppx_sexp_conv
+        ocamlPackages.ppx_sexp_message
       ] ++ extraBuildInputs;
 
       nativeCheckInputs = [ cacert ];
@@ -87,6 +86,9 @@ mkCombyPackage {
     ocamlPackages.lwt_react
     ocamlPackages.tar-unix
     ocamlPackages.tls
+    ocamlPackages.ppx_jane
+    ocamlPackages.ppx_expect
+    ocamlPackages.dune-configurator
     combyKernel
     combySemantic
   ] ++ (if !stdenv.isAarch32 && !stdenv.isAarch64 then
@@ -97,9 +99,6 @@ mkCombyPackage {
   extraNativeInputs = [
     autoconf
     pkg-config
-    ocamlPackages.ppx_jane
-    ocamlPackages.ppx_expect
-    ocamlPackages.dune-configurator
   ];
 
 }
diff --git a/pkgs/development/tools/ocaml/camlp4/default.nix b/pkgs/development/tools/ocaml/camlp4/default.nix
index 471932ff83f..dd25dd864ce 100644
--- a/pkgs/development/tools/ocaml/camlp4/default.nix
+++ b/pkgs/development/tools/ocaml/camlp4/default.nix
@@ -56,7 +56,9 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  buildInputs = [ which ocaml ocamlbuild ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ which ocaml ocamlbuild ];
 
   # build fails otherwise
   enableParallelBuilding = false;
diff --git a/pkgs/development/tools/ocaml/camlp5/default.nix b/pkgs/development/tools/ocaml/camlp5/default.nix
index 65debca11c2..9d81c46e20c 100644
--- a/pkgs/development/tools/ocaml/camlp5/default.nix
+++ b/pkgs/development/tools/ocaml/camlp5/default.nix
@@ -17,7 +17,9 @@ stdenv.mkDerivation rec {
     sha256 = "1dd68bisbpqn5lq2pslm582hxglcxnbkgfkwhdz67z4w9d5nvr7w";
   };
 
-  buildInputs = [ ocaml perl ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ ocaml perl ];
 
   prefixKey = "-prefix ";
 
diff --git a/pkgs/development/tools/ocaml/cppo/default.nix b/pkgs/development/tools/ocaml/cppo/default.nix
index 753ef0a836b..87db3baf0b0 100644
--- a/pkgs/development/tools/ocaml/cppo/default.nix
+++ b/pkgs/development/tools/ocaml/cppo/default.nix
@@ -52,7 +52,9 @@ stdenv.mkDerivation {
     sha256 = "1xqldjz9risndnabvadw41fdbi5sa2hl4fnqls7j9xfbby1izbg8";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
 
   inherit meta;
 
diff --git a/pkgs/development/tools/ocaml/dune-release/default.nix b/pkgs/development/tools/ocaml/dune-release/default.nix
index 7e48203c091..7bc1f80c699 100644
--- a/pkgs/development/tools/ocaml/dune-release/default.nix
+++ b/pkgs/development/tools/ocaml/dune-release/default.nix
@@ -20,10 +20,11 @@ in buildDunePackage rec {
     sha256 = "sha256-oJ5SL7qNM5izoEpr+nTjbT+YmmNIoy7QgSNse3wNIA4=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ] ++ runtimeInputs;
   buildInputs = [ curly fmt cmdliner re opam-format opam-state opam-core
                   rresult logs odoc bos yojson astring fpath ];
-  nativeCheckInputs = [ alcotest ] ++ runtimeInputs;
+  nativeCheckInputs = [ odoc ];
+  checkInputs = [ alcotest ] ++ runtimeInputs;
   doCheck = true;
 
   postPatch = ''
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index cec91a02f20..5faccab938e 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, buildDunePackage
-, cmdliner, yojson, ppxlib
+, cmdliner, yojson, ppxlib, findlib
 , menhir, menhirLib
 }:
 
@@ -17,7 +17,7 @@ buildDunePackage rec {
   buildInputs = [ cmdliner ppxlib ];
 
   configurePlatforms = [];
-  propagatedBuildInputs = [ menhirLib yojson ];
+  propagatedBuildInputs = [ menhirLib yojson findlib ];
 
   meta = {
     description = "Compiler from OCaml bytecode to Javascript";
diff --git a/pkgs/development/tools/ocaml/obuild/default.nix b/pkgs/development/tools/ocaml/obuild/default.nix
index 8a4dce34223..4a0a87577cb 100644
--- a/pkgs/development/tools/ocaml/obuild/default.nix
+++ b/pkgs/development/tools/ocaml/obuild/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-dqWP9rwWmr7i3O29v/kipJL01B3qQozaToOFCdfTWZU=";
   };
 
-  buildInputs = [ ocaml ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ ocaml ];
 
   buildPhase = ''
     patchShebangs ./bootstrap
diff --git a/pkgs/development/tools/ocaml/ocaml-top/default.nix b/pkgs/development/tools/ocaml/ocaml-top/default.nix
index f5853057d8e..095af776914 100644
--- a/pkgs/development/tools/ocaml/ocaml-top/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-top/default.nix
@@ -11,7 +11,8 @@ with ocamlPackages; buildDunePackage rec {
     sha256 = "sha256-ZXnPnPvJmHshkTwYWeBojrgJYAF/R6vUo0XkvVMFSeQ=";
   };
 
-  buildInputs = [ ncurses ocp-build lablgtk3-sourceview3 ocp-index ];
+  nativeBuildInputs = [ ocp-build ];
+  buildInputs = [ ncurses lablgtk3-sourceview3 ocp-index ];
 
   configurePhase = ''
     export TERM=xterm
diff --git a/pkgs/development/tools/ocaml/ocamlify/default.nix b/pkgs/development/tools/ocaml/ocamlify/default.nix
index b40c8b42546..0ac69f86c90 100644
--- a/pkgs/development/tools/ocaml/ocamlify/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlify/default.nix
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
     sha256 = "1f0fghvlbfryf5h3j4as7vcqrgfjb4c8abl5y0y5h069vs4kp5ii";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
 
   configurePhase = ''
     substituteInPlace src/ocamlify.ml --replace 'OCamlifyConfig.version' '"0.0.2"'
diff --git a/pkgs/development/tools/ocaml/ocamlmod/default.nix b/pkgs/development/tools/ocaml/ocamlmod/default.nix
index 551a36adaed..5b4f7e8e440 100644
--- a/pkgs/development/tools/ocaml/ocamlmod/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlmod/default.nix
@@ -14,7 +14,9 @@ stdenv.mkDerivation {
     sha256 = "0cgp9qqrq7ayyhddrmqmq1affvfqcn722qiakjq4dkywvp67h4aa";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  strictDeps = !doCheck;
+
+  nativeBuildInputs = [ ocaml findlib ocamlbuild ];
 
   configurePhase = "ocaml setup.ml -configure --prefix $out"
     + lib.optionalString doCheck " --enable-tests";
diff --git a/pkgs/development/tools/ocaml/ocamlscript/default.nix b/pkgs/development/tools/ocaml/ocamlscript/default.nix
index 48b7d840a4f..8277f4adb06 100644
--- a/pkgs/development/tools/ocaml/ocamlscript/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlscript/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256:10xz8jknlmcgnf233nahd04q98ijnxpijhpvb8hl7sv94dgkvpql";
   };
 
-  propagatedBuildInputs = [ ocaml findlib ];
+  nativeBuildInputs = [ ocaml findlib ];
 
   patches = [ ./Makefile.patch ];
 
diff --git a/pkgs/development/tools/ocaml/ocp-build/default.nix b/pkgs/development/tools/ocaml/ocp-build/default.nix
index feb787d24d5..de26536eb1c 100644
--- a/pkgs/development/tools/ocaml/ocp-build/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-build/default.nix
@@ -19,7 +19,10 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [ ocaml findlib cmdliner_1_0 re ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ ocaml findlib ];
+  buildInputs =  [ cmdliner_1_0 re ];
   propagatedBuildInputs = [ ncurses ];
   preInstall = "mkdir -p $out/bin";
 
diff --git a/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix b/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix
index 54e1ee55a7b..fcb43938112 100644
--- a/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix
+++ b/pkgs/development/tools/ocaml/ocsigen-i18n/default.nix
@@ -4,7 +4,10 @@ stdenv.mkDerivation rec {
   pname = "ocsigen-i18n";
   version = "3.7.0";
 
-  buildInputs = with ocamlPackages; [ ocaml findlib ppx_tools ];
+  strictDeps = true;
+
+  nativeBuildInputs = with ocamlPackages; [ ocaml findlib ];
+  buildInputs = with ocamlPackages; [ ppx_tools ];
 
   dontStrip = true;
 
diff --git a/pkgs/development/tools/ocaml/omake/default.nix b/pkgs/development/tools/ocaml/omake/default.nix
index f6c7955c686..b7d670ce4a7 100644
--- a/pkgs/development/tools/ocaml/omake/default.nix
+++ b/pkgs/development/tools/ocaml/omake/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-VOFq2KLBbmZCRgHzfpD7p0iyF8yU1tTbyvTiOcpm98Q=";
   };
 
-  buildInputs = [ ocaml ncurses ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ ocaml ];
+  buildInputs = [ ncurses ];
 
   meta = {
     description = "A build system designed for scalability and portability";
diff --git a/pkgs/development/tools/ocaml/opam/1.2.2.nix b/pkgs/development/tools/ocaml/opam/1.2.2.nix
index 60804684ccb..23a73002e6f 100644
--- a/pkgs/development/tools/ocaml/opam/1.2.2.nix
+++ b/pkgs/development/tools/ocaml/opam/1.2.2.nix
@@ -47,8 +47,10 @@ in stdenv.mkDerivation {
   pname = "opam";
   version = "1.2.2";
 
-  nativeBuildInputs = [ makeWrapper unzip ];
-  buildInputs = [ curl ncurses ocaml ];
+  strictDeps = true;
+
+  nativeBuildInputs = [ makeWrapper unzip curl ocaml ];
+  buildInputs = [ ncurses ];
 
   src = srcs.opam;
 
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index de831fde99f..1db7ea151fa 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -79,8 +79,10 @@ in stdenv.mkDerivation {
   pname = "opam";
   version = "2.1.4";
 
-  nativeBuildInputs = [ makeWrapper unzip ];
-  buildInputs = [ curl ncurses ocaml getconf ]
+  strictDeps = true;
+
+  nativeBuildInputs = [ makeWrapper unzip ocaml curl ];
+  buildInputs = [ ncurses getconf ]
     ++ lib.optionals stdenv.isLinux [ bubblewrap ]
     ++ lib.optionals stdenv.isDarwin [ Foundation ];
 
diff --git a/pkgs/development/tools/ocaml/opam/opam.nix.pl b/pkgs/development/tools/ocaml/opam/opam.nix.pl
index 8929afdef0a..8b573039d7d 100755
--- a/pkgs/development/tools/ocaml/opam/opam.nix.pl
+++ b/pkgs/development/tools/ocaml/opam/opam.nix.pl
@@ -68,8 +68,10 @@ in stdenv.mkDerivation {
   pname = "opam";
   version = "$OPAM_RELEASE";
 
-  nativeBuildInputs = [ makeWrapper unzip ];
-  buildInputs = [ curl ncurses ocaml getconf ]
+  strictDeps = true;
+
+  nativeBuildInputs = [ makeWrapper unzip ocaml curl ];
+  buildInputs = [ ncurses getconf ]
     ++ lib.optionals stdenv.isLinux [ bubblewrap ]
     ++ lib.optionals stdenv.isDarwin [ Foundation ];
 
diff --git a/pkgs/development/tools/ocaml/utop/default.nix b/pkgs/development/tools/ocaml/utop/default.nix
index 5d500339ff6..0afaff26494 100644
--- a/pkgs/development/tools/ocaml/utop/default.nix
+++ b/pkgs/development/tools/ocaml/utop/default.nix
@@ -11,7 +11,7 @@ let
         version = "2.10.0";
         sha256 = "sha256-R10WovnqYcYCrDJnPuIQx2zHaPchSYfXDAaVMsJ4LQA=";
         duneVersion = "3";
-        propagatedBuildInputs = [ lambda-term zed logs ];
+        propagatedBuildInputs = [ findlib lambda-term zed logs ];
       }
     else
       {