Subject: [bug#52729] [PATCH] gnu: ocaml: Update to 4.13.

From: Julien Lepiller <[email-masked]>
Date: Wed, 22 Dec 2021 08:43:00 -0500

Le 22 décembre 2021 08:33:55 GMT-05:00, zimoun <[email-masked]> a écrit :
>Hi Julien,
>
>On mer., 22 déc. 2021 at 04:16, Julien Lepiller <[email-masked]> wrote:
>
>> This patch updates ocaml to the latest version, without the need to
>> keep the previous version around like previous updates :)
>
>Cool!
>
>I have not looked into all the details, from the surface, LGTM.
>
>However, I note that:
>
>--8<---------------cut here---------------start------------->8---
>$ ./pre-inst-env guix build ocaml-ppx-tools-versioned
>[...]
>starting phase `build'
>       ocaml src/ast-version,src/compiler-functions-file (exit 1)
>(cd _build/default/src && /gnu/store/xp09a2invgrnah62sf9carz9bkld1w6f-ocaml-4.13.1/bin/ocaml config/gen.ml 4.13.1)
>Unkown OCaml version 4.13.1
>error: in phase 'build': uncaught exception:
>%exception #<&invoke-error program: "dune" arguments: ("build" "@install" "--release") exit-status: 1 term-signal: #f stop-signal: #f>
>phase `build' failed after 0.9 seconds
>command "dune" "build" "@install" "--release" failed with status 1
>builder for `/gnu/store/vbmvzq7if77zsl29945pyw7s2jbsmg7s-ocaml-migrate-parsetree-1-1.8.0.drv' failed with exit code 1
>build of /gnu/store/vbmvzq7if77zsl29945pyw7s2jbsmg7s-ocaml-migrate-parsetree-1-1.8.0.drv failed
>View build log at '/var/log/guix/drvs/vb/mvzq7if77zsl29945pyw7s2jbsmg7s-ocaml-migrate-parsetree-1-1.8.0.drv.bz2'.
>cannot build derivation `/gnu/store/l3575b4ici05g7b8d9dc55wbbddmblwp-ocaml-ppx-tools-versioned-5.4.0.drv': 1 dependencies couldn't be built
>guix build: error: build of `/gnu/store/l3575b4ici05g7b8d9dc55wbbddmblwp-ocaml-ppx-tools-versioned-5.4.0.drv' failed
>--8<---------------cut here---------------end--------------->8---
>

Thanks! I forgot that one. ppx-tools-versionned is not compatible, and it's only used by migrate-parstree-1, which has no dependents. I only need it for ocaml 4.07, so I'll remove them both, and keep only the ocaml4.07 variant.

>
>On a side note, have you tried to replace boot/ocamlc (and friends) with
>the bootstrapped ones (camlboot -> ocaml-4.07 -> *).  Other said, what
>is the most affordable path to exploit camlboot and have a good
>bootstrapping story for OCaml.

Currently we can only use camlboot to bootstrap ocaml 4.07, which is what we do. We plan to improve it so it can build newer versions though.

>Cheers,
>simon