···2828(** Packages that are always implicit — not in META but always needed. *)
2929let implicit_deps = String_set.of_list [ "ocaml"; "dune" ]
30303131+(** [conf-*] packages are depexts (system library wrappers), not OCaml libs. *)
3232+let is_conf_pkg name = String.starts_with ~prefix:"conf-" name
3333+3134let is_builtin lib =
3235 let top =
3336 match String.index_opt lib '.' with
···341344 (String_set.union dune_pkgs
342345 (String_set.union own_set implicit_deps))
343346 in
344344- let unused = String_set.diff runtime_deps needed in
347347+ let unused =
348348+ String_set.diff runtime_deps needed
349349+ |> String_set.filter (fun p -> not (is_conf_pkg p))
350350+ in
345351 String_set.iter
346352 (fun pkg ->
347353 issues :=