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

Reply via email to