Subject: Re: [bug#45498] [PATCH 00/12] Add ocaml-merlin.

From: Julien Lepiller <[email-masked]>
Date: Mon, 28 Dec 2020 15:06:55 +0100

Le Mon, 28 Dec 2020 13:40:17 +0100,
pukkamustard <[email-masked]> a écrit :

> Hi Guix,
> 
> This adds ocaml-merlin, a development tool for OCaml (and
> dependencies).

Thanks for the patches!

> 
> Some notes and questions:
> 
> - ocaml4.07-merlin is already available (version 3.2.2). This version
> has not been updated (but changed to inherit from ocaml-merlin).
> 
> - There are many ocaml4.07-* packages in Guix. The reason for this is
> that some packages need to be built with OCaml 4.07 but some newer
> versions of libraries do no longer support OCaml 4.07 (or the old
> version of dune), requiring older versions of the same packages. See
> also commit message 9ada1555.

Have you tried updating dune to the latest version that builds with
ocaml 4.07?

> 
>   This is quite cumbersome as two trees of OCaml packages need to be
>   maintained.

Actually 3, there are ocaml 4.07, 4.09 and 4.11 currently. I'm working
on a bootstrap for ocaml 4.07 (ocaml builds from a binary version of
itself), so I don't think it'll disappear soon, but at least we can try
and make ocaml4.07-* packages disappear :)

> 
>   A nice solution would be to upgrade packages requiring OCaml 4.07
> to also build with the default OCaml (4.11). Packages that are not
> dependencies of other packages that require OCaml 4.07 seem to be:
> `bap`, `ocaml-earley` and `pplacer`. Maybe this should be opened as
> an issue?

pretty sure they build with at least ocaml-4.09 now, I'll see what I
can do :)

> 
> - Some OCaml libraries have dependencies in `inputs` that seem to be
> required from packages using the libraries.  E.g. `ocaml-yojson`
> depends on `ocaml-biniou`. Packages depending on `ocaml-yojson` need
> to manually add `ocaml-biniou` to their inputs. Would it work/make
> sense to add `ocaml-biniou` to `propagated-inputs` of `ocaml-yojson`?

Yeah, could you provide an additional patch for that?

> 
> - Test for ocaml-merlin (version 3.4.2) work. This resolves issue
> #34412 (alltough ocaml4.07-merlin still can not run tests).
> 
> Thanks!
> -pukkamustard

Thank you! I've sent some remarks to your patches, but generally LGTM :)

> 
> pukkamustard (12):
>   gnu: Remove ocaml-js-build-tools.
>   gnu: Add ocaml-sexplib.
>   gnu: Add ocaml-base.
>   gnu: Add ocaml-parsexp.
>   gnu: Add ocaml-sexplib.
>   gnu: Add ocaml-ounit2.
>   gnu: ocaml-tyxml: Update to 4.4.0.
>   gnu: ocaml-markup: Update to 1.0.0.
>   gnu: Add ocaml-odoc.
>   gnu: Add ocaml-version.
>   gnu: Add ocaml-mdx.
>   gnu: Add ocaml-merlin.
> 
>  gnu/packages/ocaml.scm | 527
> ++++++++++++++++++++++++++++------------- 1 file changed, 359
> insertions(+), 168 deletions(-)
>