Bug#1143016: libcamlp-streams-ocaml shouldn't have a -dev subpackage

Stéphane Glondu <[email protected]> Thu, 30 Jul 2026 10:23:26 +0200
Newsgroups gmane.linux.debian.devel.ocaml
Message-ID <7c4e93c9-03f8-4641-9449-f19db5a36aea__29275.1841641561$1785399927$gmane$org@debian.org>
Dear Kate,

Le 29/07/2026 à 18:25, Kate a écrit :
> 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.

If anything, pure OCaml libraries should have only a -dev package.

> 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.

.cmi are not needed for dynlinking.

And ocsigenserver can load modules that depend on "pure OCaml libraries" 
such as libcamlp-streams-ocaml, so the current packaging makes sense (IMHO).

> 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 would defeat the purpose of non-dev packages, which is to reduce 
the installation footprint when one doesn't care about a working 
developing environment.

> 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.

As said in https://github.com/ocaml/opam-repository/issues/27712, people 
are not supposed to install non-dev packages directly, especially if 
they want a working development environment, in which case they should 
install the -dev package. The non-dev packages should be pulled 
automatically when needed.


Cheers,