--- Begin Message ---
Subject: |
[PATCH] gnu: ocaml-4.07: Bootstrap. |
Date: |
Sat, 27 Feb 2021 00:13:39 +0100 |
Hi Guix!
This small series adds camlboot, a project to reimplement a bootstrap
for OCaml, which lets us remove the pre-built boot/ocaml{c,lex} :)
The first patch builds the bootstraped ocamlc and ocamllex. This takes
around 4 hours to build. The second patch rebuilds them using the source
code for ocaml 4.07.1, instead of the modified sources used in
camlboot, and reuse them to run the main Makefile (make world.opt).
As a result, we have identical files for this bootstrap and the
unbootstrapped OCaml (up to output store paths and hash of some files
that get embedded in native files, which differ because of the
different output path).
0001-gnu-Add-camlboot.patch
Description: Text Data
0002-gnu-ocaml-4.07-Bootstrap.patch
Description: Text Data
--- End Message ---
--- Begin Message ---
Subject: |
Re: [bug#46806] [PATCH] gnu: ocaml-4.07: Bootstrap. |
Date: |
Wed, 3 Mar 2021 17:14:16 +0100 |
Le Wed, 3 Mar 2021 15:05:18 +0100,
zimoun <zimon.toutoune@gmail.com> a écrit :
> On Wed, 3 Mar 2021 at 14:46, Julien Lepiller <julien@lepiller.eu>
> wrote:
> >
> > We'd have to check we actually can build them. The plan was to
> > build menhir with this ocaml4.07, since it's required to generate
> > the parser for ocaml >= 4.08, and improve camlboot to support more
> > recent versions. We would prevent the need for a chain of
> > bootstraps that way.
>
> Thanks for the explanations.
> I have tried to replace gcc by clang for camlboot but it fails.
> And also tried other Scheme than Guile, obviously fails. :-)
>
>
> > I don't think ocaml has so many dependants that it requires
> > core-updates. Not even sure it needs staging.
>
> Oh right, I thought that more OCaml packages were in Guix. :-)
>
> Cheers,
> simon
Pushed as 0bd58ae7ff0d5c3935b0d660819aca4a0493ef8a, thanks for the
review!
Yeah, we might need some work to support other schemes. There's no C in
camlboot, but we reuse some of OCaml's sources, for the bytecode
interpreter (camlrun) and parser generator (ocamlyacc). So that's a
problem with OCaml.
--- End Message ---