Subject: Re: [bug#46806] [PATCH] gnu: ocaml-4.07: Bootstrap.

From: zimoun <[email-masked]>
Date: Wed, 03 Mar 2021 01:22:20 +0100

Hi Julien,

On Sun, 28 Feb 2021 at 03:29, Julien Lepiller <[email-masked]> wrote:
> Of course I forgot to attach the patches ^^'

Awesome!

> +(define-public camlboot
> +  (let ((commit "506280c6e0813e0e794988151a8e46be55373ebc")
> +        (revision "0"))
> +    (package
> +      (name "camlboot")
> +      (version (git-version "0.0.0" revision commit))
> +      (source (origin
> +                (method git-fetch)
> +                (uri (git-reference
> +                       (url "https://github.com/Ekdohibs/camlboot")
> +                       (commit commit)
> +                       (recursive? #t)))

Is the indentation right?  Below with my config (which could be wrong).

[...]

> +      (synopsis "OCaml bootstrap")

I have no opinion but elsewhere it also appears «Bootstrap XXX».

> +      (description "OCaml is written in OCaml. Its sources contain a pre-compiled
> +bytecode version of ocamlc and ocamllex that are used to build the
> next version

Maybe @code{ocamlc} and @code{ocamlex}

> +of the compiler. Camlboot implements a bootstrap for the OCaml
> compiler and

Missing double space after compiler.  Camlboot…

> +provides a bootstrapped equivalent to these files.
> +
> +It contains a compiler for a small subset of OCaml written in Guile Scheme,
> +an interpreter for OCaml written in that subset and a manually-written lexer
> +for OCaml.  These elements eliminate the need for the binary bootstrap in
> +OCaml and can effectively bootstrap OCaml 4.07.
> +
> +This package produces a native ocamlc and a bytecode ocamllex.")

Maybe again @code.

LGTM!

Thanks again!
Cheers,
simon

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f2185aeb4e..b8b2f684df 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -115,9 +115,9 @@
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                       (url "https://github.com/Ekdohibs/camlboot")
-                       (commit commit)
-                       (recursive? #t)))
+                      (url "https://github.com/Ekdohibs/camlboot")
+                      (commit commit)
+                      (recursive? #t)))
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
@@ -132,13 +132,13 @@
                     (delete-file "ocaml-src/boot/ocamllex")
                     ;; Ensure writable
                     (for-each
-                      (lambda (file)
-                        (chmod file (logior (stat:mode (stat file)) #o200)))
-                      (find-files "." "."))))))
+                     (lambda (file)
+                       (chmod file (logior (stat:mode (stat file)) #o200)))
+                     (find-files "." "."))))))
       (build-system gnu-build-system)
       (arguments
-       `(#:make-flags (list "_boot/ocamlc"); build target
-         #:tests? #f; no tests
+       `(#:make-flags (list "_boot/ocamlc") ; build target
+         #:tests? #f                        ; no tests
          #:phases
          (modify-phases %standard-phases
            (delete 'configure)