janneke pushed a commit to branch wip-bootstrap in repository guix. commit 5fa99d268dad191bff0733b952ad0443ead96f98 Author: Jan Nieuwenhuizen <jann...@gnu.org> Date: Thu May 3 12:00:38 2018 +0200
gnu: tcc-boot: Update for mes 0.14. * gnu/packages/mes.scm (tcc-boot): Update for mes 0.14. --- gnu/packages/mes.scm | 49 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 393e2e2..375b561 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -359,7 +359,7 @@ extensive examples, including parsers for the Javascript and C99 languages.") (define-public tcc-boot (let ((version "0.9.26") (revision "0") - (commit "ddea739c89e145004526b5f66f3b47b20ae30cf2")) + (commit "ff1caa80178b8c7d91c14c52b030ff067faef46f")) (package-with-bootstrap-guile (package (name "tcc-boot") @@ -372,16 +372,16 @@ extensive examples, including parsers for the Javascript and C99 languages.") "/tinycc-" commit ".tar.gz")) (sha256 (base32 - "0w17a2qjh6rcfmd8phw6zxdgwh6yfwdxy6i9awzi8fckfjcwkywh")))) + "066z8z1wlzs0k8a1xv6ds0g25vvxwd24fzdca59bahwdaaq0j0ic")))) (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")) ;; For testing with Guile ;; ("guile" ,%bootstrap-guile) + ;; ("libc" ,@(assoc-ref %bootstrap-inputs "libc")) ;; guile-2.0.9 does not have srfi-43; cherry-pick - ("srfi-43" ,%srfi-43) + ;; ("srfi-43" ,%srfi-43) ("tar" ,(search-bootstrap-binary "tar" (%current-system))) ("xz" ,(search-bootstrap-binary "xz" (%current-system))) ("mes" ,mes-boot) @@ -407,7 +407,9 @@ extensive examples, including parsers for the Javascript and C99 languages.") (tinycc-seed (assoc-ref %build-inputs "tinycc-seed")) (out (assoc-ref %outputs "out")) (libc (assoc-ref %build-inputs "libc")) - (interpreter (string-append libc ,(glibc-dynamic-linker))) + (interpreter (if libc + (string-append libc ,(glibc-dynamic-linker)) + (string-append mes "/lib/mes-loader"))) (dir (getcwd))) (setenv "PATH" (string-append bash "/bin:" @@ -426,9 +428,12 @@ extensive examples, including parsers for the Javascript and C99 languages.") (system* "tar" "--strip=1" "-C" "mes-seed" "-xvf" mes-seed) (mkdir-p "tinycc-seed") (system* "tar" "--strip=1" "-C" "tinycc-seed" "-xvf" tinycc-seed) - (mkdir-p "srfi") - (system* "cp" srfi-43 "srfi/srfi-43.scm") + (when srfi-43 + (mkdir-p "srfi") + (system* "cp" srfi-43 "srfi/srfi-43.scm")) (chdir "source") + + ;; configure (setenv "PREFIX" out) (setenv "MESCC" (string-append mes "/bin/mescc")) (symlink (string-append mes "/share/mes") "mes") @@ -457,7 +462,6 @@ extensive examples, including parsers for the Javascript and C99 languages.") (symlink (string-append "../nyacc-source/module") "nyacc"))) (and - ;; configure (zero? (system* "sh" "configure" "--prefix=$PREFIX" (string-append "--elfinterp=" interpreter) @@ -467,9 +471,32 @@ extensive examples, including parsers for the Javascript and C99 languages.") ;; build (zero? (system* "sh" "build.sh")) - (zero? (system* "sh" "-ex" "test.sh" "01-return-0")) - ;; check: 1/68 tests fail - (or (zero? (system* "sh" "check.sh")) #t) + ;; check + (setenv "MES" "mes") + (setenv "DIFF" "diff.scm") + (zero? (system* "sh" "-ex" "test.sh" "mes/scaffold/tests/30-strlen")) + (zero? (system* "sh" "-ex" "test.sh" "mes/scaffold/tinycc/00_assignment")) + (zero? (system* "sh" "-x" "check.sh")) + + (setenv "TCC" "./mes-tcc") + (zero? (system* "sh" "boot.sh")) + (zero? (system* "sh" "check.sh")) + + (setenv "TCC" "./boot0-tcc") + (zero? (system* "sh" "boot.sh")) + (zero? (system* "sh" "check.sh")) + + (setenv "TCC" "./boot1-tcc") + (zero? (system* "sh" "boot.sh")) + (zero? (system* "sh" "check.sh")) + + (setenv "TCC" "./boot2-tcc") + (zero? (system* "sh" "boot.sh")) + (zero? (system* "sh" "check.sh")) + + (setenv "TCC" "./boot3-tcc") + (zero? (system* "sh" "boot.sh")) + (zero? (system* "sh" "check.sh")) ;; install (zero? (system* "sh" "install.sh")))))))