bootstrap: Remove development hacks.

* gnu/packages/commencement.scm (%fake-bootstrap?): Remove.  Update users to
always keep true bootstrap; i.e., do not use %bootstrap-guile.
(mes-boot0): Remove.  Update users.
(nyacc-boot): Likewise.
This commit is contained in:
Jan Nieuwenhuizen 2018-12-14 14:08:14 +01:00
parent b3bf38a560
commit 9c14fd0770
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
1 changed files with 7 additions and 106 deletions

View File

@ -81,73 +81,19 @@
;;;
;;; Code:
(define %fake-bootstrap? #f) ; cheat using Guile (instead of Mes) in MesCC
; for speed-up?
(define mes-boot0
(let ((version "0.18")
(revision "0")
(commit #f))
(package
(inherit mes)
(name "mes-boot0")
(version (if commit (string-append version "-" revision "." (string-take commit 7))
version))
(source (if commit
(origin
(method url-fetch)
(uri (string-append "https://gitlab.com/janneke/mes"
"/-/archive/" commit
"/mes-" commit ".tar.gz"))
(sha256
(base32
"1whbzahv16bwhavr2azqli0dcbk29p9rsqfbjl69la135z8vgdhx")))
(package-source mes)))
(native-inputs '())
(propagated-inputs '()))))
(define nyacc-boot
(let ((version "0.86.0")
(revision "0")
(commit #f))
(package
(inherit nyacc)
(name "nyacc-boot")
(version
(if commit
(string-append version "-" revision "." (string-take commit 7))
version))
(source
(if commit
(origin
(method url-fetch)
(uri (string-append "https://gitlab.com/janneke/nyacc"
"/-/archive/" commit
"/nyacc-" commit ".tar.gz"))
(sha256
(base32
"0dlcqmchhl57nh7f0v6qb1kkbi7zbs3b185hcqv57fhb60b7rgcq")))
(package-source nyacc))))))
(define mes-boot
(package-with-bootstrap-guile
(package
(inherit mes)
(version (package-version mes-boot0))
(source (package-source mes-boot0))
(name "mes-boot")
(inputs '())
(propagated-inputs '())
(native-inputs
`(("mescc-tools" ,%bootstrap-mescc-tools)
("nyacc-source" ,(package-source nyacc-boot))
("nyacc-source" ,(package-source nyacc))
("coreutils" , %bootstrap-coreutils&co)
("bootstrap-mes" ,%bootstrap-mes)
,@(if %fake-bootstrap? ; cheat: fast non-bootstrap testing with Guile
`(("guile" ,%bootstrap-guile)
("srfi-43" ,%srfi-43)) ; guile-2.0.9 lacks srfi-43; cherry-pick
'())))
("bootstrap-mes" ,%bootstrap-mes)))
(arguments
`(#:implicit-inputs? #f
#:guile ,%bootstrap-guile
@ -181,35 +127,12 @@
(string-append "--prefix=" out))
(setenv "MES" "src/mes")
(setenv "MESCC" "scripts/mescc")
(when ,%fake-bootstrap? ; Cheat using Guile+Nyacc+MesCC; ~30 times faster
(let ((dir (with-directory-excursion ".." (getcwd)))
(guile (assoc-ref %build-inputs "guile"))
(srfi-43 (assoc-ref %build-inputs "srfi-43")))
(setenv "MES" "guile")
(setenv "GUILE_AUTO_COMPILE" "1")
(setenv "GUILE_LOAD_COMPILED_PATH"
(string-append guile "/lib/guile/2.0/ccache"))
(setenv "GUILE_LOAD_PATH"
(string-append (string-append dir "/nyacc-source/module")
":" dir
":" guile "/share/guile/2.0/"))
;; these fail with guile-2.0
(when srfi-43
(delete-file "tests/srfi-9.test")
(delete-file "tests/srfi-43.test"))
;; give auto-compile a home -- massive speed-up
(mkdir-p "/tmp/home")
(setenv "HOME" "/tmp/home")))
#t)))
(replace 'build
(lambda _
(invoke "sh" "build.sh")))
(replace 'check
(lambda _
(when ,%fake-bootstrap?
;; break with guile-2.0
(delete-file "scaffold/boot/50-primitive-load.scm")
(delete-file "scaffold/boot/51-module.scm"))
(and
(setenv "MES_ARENA" "100000000")
(setenv "DIFF" "sh scripts/diff.scm")
@ -263,14 +186,10 @@
(native-inputs
`(("mes" ,mes-boot)
("mescc-tools" ,%bootstrap-mescc-tools)
("nyacc-source" ,(package-source nyacc-boot))
("nyacc-source" ,(package-source nyacc))
("coreutils" , %bootstrap-coreutils&co)
("bootstrap-mes" ,%bootstrap-mes)
,@(if %fake-bootstrap? ; cheat: fast non-bootstrap testing with Guile
`(("guile" ,%bootstrap-guile)
("srfi-43" ,%srfi-43)) ; guile-2.0.9 lacks srfi-43; cherry-pick
'())))
("bootstrap-mes" ,%bootstrap-mes)))
(arguments
`(#:implicit-inputs? #f
#:guile ,%bootstrap-guile
@ -325,27 +244,9 @@
(setenv "PREPROCESS" "1")
(setenv "MES_ARENA" "70000000")
(setenv "MES_MAX_ARENA" "70000000")
(if ,%fake-bootstrap?
(begin ; Cheat using Guile+Nyacc+MesCC; ~30 times faster
(setenv "MES" "guile")
(setenv "GUILE_AUTO_COMPILE" "1")
(setenv "GUILE_LOAD_COMPILED_PATH"
(string-append guile "/lib/guile/2.0/ccache"))
(setenv "GUILE_LOAD_PATH"
(string-append dir
":" guile "/share/guile/2.0/"
":" dir "/nyacc-source/module"
":" mes "/share/mes/guile"))
;; give auto-compile a home -- massive speed-up
(mkdir-p "/tmp/home")
(setenv "HOME" "/tmp/home"))
(begin ; True bootstrap build with Mes+Nyacc+MesCC
(setenv "MES" "mes")
(setenv "GUILE_LOAD_PATH" "nyacc")
(symlink (string-append "../nyacc-source/module") "nyacc")))
(setenv "MES" "mes")
(setenv "GUILE_LOAD_PATH" "nyacc")
(symlink (string-append "../nyacc-source/module") "nyacc")
(invoke "sh" "configure"
"--prefix=$PREFIX"
(string-append "--elfinterp=" interpreter)