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

From: pukkamustard <[email-masked]>
Date: Mon, 28 Dec 2020 13:40:17 +0100

Hi Guix,

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

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.

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

  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?

- 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`?

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

Thanks!
-pukkamustard

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(-)

-- 
2.29.2