janneke pushed a commit to branch wip-bootstrap in repository guix. commit d1a44f3db3c1a9aa3838f4bd3b9c0732e639ca17 Author: Jan Nieuwenhuizen <jann...@gnu.org> Date: Fri Apr 27 20:36:54 2018 +0200
gnu: tcc-boot: Build with mes-boot. * gnu/packages/mes.scm (tcc-boot): Build with mes-boot. Update for mes 0.13. Use new gitlab url scheme. --- gnu/packages/mes.scm | 68 ++++++++++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 31 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 2015830..7ab26e9 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -349,7 +349,7 @@ extensive examples, including parsers for the Javascript and C99 languages.") (define-public tcc-boot (let ((version "0.9.26") (revision "0") - (commit "83293537ac710ecfa8b117d2363f6f9de5c04c0d")) + (commit "ddea739c89e145004526b5f66f3b47b20ae30cf2")) (package-with-bootstrap-guile (package (name "tcc-boot") @@ -358,18 +358,18 @@ extensive examples, including parsers for the Javascript and C99 languages.") (source (origin (method url-fetch) (uri (string-append "https://gitlab.com/janneke/tinycc" - "/repository/archive.tar.gz?ref=" - commit)) - (file-name (string-append name "-" version ".tar.xz")) + "/-/archive/" commit + "/tinycc-" commit ".tar.gz")) (sha256 (base32 - "0s4fzr3ax61a196152knkajq2jj50fpx9pg8li14121j6zjrmmwh")))) + "0w17a2qjh6rcfmd8phw6zxdgwh6yfwdxy6i9awzi8fckfjcwkywh")))) (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) + ;; For testing with Guile + ;; ("guile" ,%bootstrap-guile) ;; guile-2.0.9 does not have srfi-43; cherry-pick ("srfi-43" ,%srfi-43) ("tar" ,(search-bootstrap-binary "tar" (%current-system))) @@ -396,16 +396,17 @@ 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:" - guile "/bin:" - mescc-tools "/bin:" - tar "/bin:" - xz "/bin")) + (setenv "PATH" (string-append + bash "/bin:" + mes "/bin:" + (if guile (string-append guile "/bin:") + "") + mescc-tools "/bin:" + tar "/bin:" + xz "/bin")) (format (current-error-port) "PATH=~s\n" (getenv "PATH")) (mkdir-p "source") (system* "tar" "--strip=1" "-C" "source" "-xvf" source) @@ -419,26 +420,31 @@ extensive examples, including parsers for the Javascript and C99 languages.") (system* "cp" srfi-43 "srfi/srfi-43.scm") (chdir "source") (setenv "PREFIX" out) - (setenv "MESCC" (string-append mes "/bin/mescc.scm")) - (setenv "MES_PREFIX" (string-append mes "/share/mes")) + (setenv "MESCC" (string-append mes "/bin/mescc")) + (symlink (string-append mes "/share/mes") "mes") + (setenv "MES_PREFIX" "mes") (setenv "OBJDUMP" "true") - (setenv "interpreter" interpreter) + (setenv "ONE_SOURCE" "1") + (setenv "PREPROCESS" "1") + (setenv "MES_DEBUG" "1") - ;; 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")) + (if guile + ;; For testing with Guile+mescc -- Guile+Nyacc+MesCC, ~30 times faster + (begin + (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"))) - ;; for mescc.mes -- Mes+Nyacc+MesCC - (setenv "MES_ARENA" "80000000") - (setenv "MESCC" (string-append mes "/bin/mescc.mes")) - (setenv "GUILE_LOAD_PATH" - (string-append "../nyacc-source/module")) + ;; For true bootstrap: Mes+MesCC -- Mes+Nyacc+MesCC + (begin + (setenv "GUILE_LOAD_PATH" "nyacc") + (symlink (string-append "../nyacc-source/module") "nyacc"))) (and ;; configure @@ -451,8 +457,8 @@ extensive examples, including parsers for the Javascript and C99 languages.") ;; build (zero? (system* "sh" "build.sh")) - ;; check: 1/68 tests fail (zero? (system* "sh" "-ex" "test.sh" "01-return-0")) + ;; check: 1/68 tests fail (or (zero? (system* "sh" "check.sh")) #t) ;; install