janneke pushed a commit to branch wip-bootstrap in repository guix. commit 3caa3e6d21df3c1b060a548a0f14421a2f0c5605 Author: Jan Nieuwenhuizen <jann...@gnu.org> Date: Sun Apr 8 18:10:34 2018 +0200
gnu: tinycc-boot: Update for mes-0.12. * gnu/packages/mes.scm (tinycc-boot): Update for mes-0.12. Build using Mes+MesCC only, do not use Guile. --- gnu/packages/mes.scm | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index d00c5f9..16524ab 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -353,11 +353,12 @@ extensive examples, including parsers for the Javascript and C99 languages.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "1q6la34dch8bihw470zpdxdp5j08k2mijfiz77qm28aig79y0l1h")))) + "0s4fzr3ax61a196152knkajq2jj50fpx9pg8li14121j6zjrmmwh")))) (build-system trivial-build-system) (supported-systems '("i686-linux" "x86_64-linux")) (native-inputs `(("static-bash" ,@(assoc-ref %bootstrap-inputs "bash")) + ("libc" ,@(assoc-ref %bootstrap-inputs "libc")) ("guile" ,%bootstrap-guile) ;; guile-2.0.9 does not have srfi-43; cherry-pick ("srfi-43" ,%srfi-43) @@ -385,6 +386,9 @@ extensive examples, including parsers for the Javascript and C99 languages.") (mes-seed (assoc-ref %build-inputs "mes-seed")) (tinycc-seed (assoc-ref %build-inputs "tinycc-seed")) (out (assoc-ref %outputs "out")) + ;;(libc ,(with-store store (package-output store %bootstrap-glibc))) + (libc (assoc-ref %build-inputs "libc")) + (interpreter (string-append libc ,(glibc-dynamic-linker))) (dir (getcwd))) (setenv "PATH" (string-append bash "/bin:" mes "/bin:" @@ -406,20 +410,31 @@ extensive examples, including parsers for the Javascript and C99 languages.") (chdir "source") (setenv "PREFIX" out) (setenv "MESCC" (string-append mes "/bin/mescc.scm")) + (setenv "MES_PREFIX" (string-append mes "/share/mes")) (setenv "OBJDUMP" "true") - (setenv "GUILE_AUTO_COMPILE" "1") - (setenv "GUILE_LOAD_COMPILED_PATH" - (string-append guile "/lib/guile/2.0/ccache")) + (setenv "interpreter" interpreter) + + ;; for mescc.scm -- Guile+Nyacc+MesCC, ~30 times faster + ;; (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")) + + ;; for mescc.mes -- Mes+Nyacc+MesCC + (setenv "MES_ARENA" "80000000") + (setenv "MESCC" (string-append mes "/bin/mescc.mes")) (setenv "GUILE_LOAD_PATH" - (string-append dir - ":" guile "/share/guile/2.0/" - ":" dir "/nyacc-source/module" - ":" mes "/share/mes/guile")) + (string-append "../nyacc-source/module")) + (and ;; configure (zero? (system* "sh" "configure" "--prefix=$PREFIX" - "--elfinterp=interpreter" + (string-append "--elfinterp=" interpreter) "--crtprefix=." "--tccdir=."))