PSA: uri and ipaddr libraries will both have optional sexp opam packages

Earlier in the year, we converted cstruct to have an optional dependency on sexplib. We are now continuing this for the core Mirage libraries in order to slim down the dependency graph for very small systems.

The next two major releases of uri and ipaddr will both now have separate uri-sexp and ipaddr-sexp opam packages respectively.

  • For sexp, the actual change to make sexp optional happened in v2.0.0, but the opam package remained a monolith. Uri 3.0.0 will have the opam packages separated out too, so there is no sexp at all in the opam dependency cone for the core library. See mirage/ocaml-uri#134
  • For ipaddr, the actual change to make sexp optional happened in v3.0.0, but the opam package remained a monolith (there was a ipaddr.sexp ocamlfind subpackage). Ipaddr 4.0.0 will have the opam packages separated out in a manner similar to uri above. See mirage/ocaml-ipaddr#87

For most of you, porting this should simply be a matter of replacing ipaddr.sexp with ipaddr-sexp or uri.sexp with uri-sexp in your dune build files.

4 Likes