GNU bug report logs -
#46806
[PATCH] gnu: ocaml-4.07: Bootstrap.
Previous Next
Reported by: Julien Lepiller <julien <at> lepiller.eu>
Date: Fri, 26 Feb 2021 23:15:01 UTC
Severity: normal
Tags: patch
Done: Julien Lepiller <julien <at> lepiller.eu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hi Julien,
>>From ed2c4c1c221eb60ddc9e47b58c03d9194c6a2beb Mon Sep 17 00:00:00 2001
> From: Julien Lepiller <julien <at> lepiller.eu>
> Date: Sat, 27 Feb 2021 00:07:30 +0100
> Subject: [PATCH 2/2] gnu: ocaml-4.07: Bootstrap.
>
> * gnu/packages/ocaml.scm (ocaml-4.07): Implement bootstrap via camlboot.
> ---
[...]
> -(define-public ocaml-4.07
> +;; This package is a bootstrap package for ocaml-4.07. It builds from camlboot,
> +;; using the upstream sources for ocaml 4.07. It installs a bytecode ocamllex
> +;; and ocamlc, the bytecode interpreter ocamlrun, and generated .depend files
> +;; that we otherwise remove for bootstrap purposes.
> +(define ocaml-4.07-boot
> (package
> (inherit ocaml-4.09)
> (version "4.07.1")
> @@ -267,11 +271,149 @@ functional, imperative and object-oriented styles of programming.")
> "/ocaml-" version ".tar.xz"))
[...]
> + (for-each
> + (lambda (file)
With my config (with could be wrong), it spots out an indentation issue here.
> + (copy-file file (string-append "boot/" (basename file))))
> + (cons* "stdlib/stdlib.cma" "stdlib/std_exit.cmo" "stdlib/camlheader"
> + (find-files "stdlib" ".*.cmi$")))
> + (symlink "../byterun/libcamlrun.a" "boot/libcamlrun.a")
> + (make "parsing/parser.mli"); required for ocamldoc/stdlib_non_prefixed
It seems better to have extra space between the closing parenthesis and
the semi colon.
> + ;; required for dependencies
> + (make "-C" "tools"
> + "CAMLC=../boot/ocamlc -nostdlib -I ../boot -use-prims ../byterun/primitives -I .."
> + "make_opcodes" "cvt_emit")
> + ;; generate all remaining .depend files
> + (make "alldepend"
> + (string-append "ocamllex=" (getcwd) "/boot/ocamlrun "
> + (getcwd) "/boot/ocamllex")
> + (string-append "CAMLDEP=" (getcwd) "/boot/ocamlc -depend")
> + (string-append "OCAMLDEP=" (getcwd) "/boot/ocamlc -depend")
> + (string-append "ocamldep=" (getcwd) "/boot/ocamlc -depend"))
Indentation issue?
> + ;; Build ocamllex
> + (make "CAMLC=boot/ocamlc -nostdlib -I boot -use-prims byterun/primitives"
> + "ocamlc")
Here too?
> + ;; Build ocamlc
> + (make "-C" "lex"
> + "CAMLC=../boot/ocamlc -strict-sequence -nostdlib -I ../boot -use-prims ../byterun/primitives"
> + "all")))
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (bin (string-append out "/bin"))
> + (depends (string-append out "/share/depends")))
> + (mkdir-p bin)
> + (mkdir-p depends)
> + (install-file "ocamlc" bin)
> + (install-file "lex/ocamllex" bin)
> + (for-each
> + (lambda (file)
> + (let ((dir (string-append depends "/" (dirname file))))
> + (mkdir-p dir)
> + (install-file file dir)))
> + (find-files "." "^\\.depend$"))))))))
Maybe here too?
Cheers,
simon
This bug report was last modified 4 years and 75 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.