Package: libcamlp-streams-ocaml
Version: 5.0.1-3

See https://github.com/ocaml/opam-repository/issues/27712#issuecomment-3422172661

Pure OCaml packages shouldn't be split between non-dev and dev subpackages. What makes sense for C-like libraries do not make any sense for pure OCaml libraries.

As-is, libcamlp-streams-ocaml only provides dynlink access, which is a rarely-used feature of OCaml overall. The vast majority of pure OCaml packages use the default static linking, only rare software such as ocsigenserver actually use dynlinking in that way. Trying to use this package for anything else will result in a failure because of the missing .cmi at the very least.

Of course, for non-pure packages such as ones containing C stubs what i'm saying here doesn't apply, although .so for C stubs are only really used by pure OCaml bytecode programs, so the use-case is limited.

If you really want to keep the dev/non-dev distinctions i'd implore you to consider moving *.cmi, *.cmxa, *.a and optionally *.cmx to the non-dev package, keeping only what's important for development (*.cmti *.mli etc) in the dev package. This way the non-dev packages become actually useful and do not lead to a broken state for tools that read META files (virtually every OCaml build-systems) as well as the OCaml toplevel.

Thanks for your work,
Kate

Reply via email to