[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
13/13: gnu: tcc-boot: Build with mes-boot.
From: |
Jan Nieuwenhuizen |
Subject: |
13/13: gnu: tcc-boot: Build with mes-boot. |
Date: |
Mon, 30 Apr 2018 12:32:21 -0400 (EDT) |
janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit 8d7c74026c74e9b67fe5433dce32d42dd763ada7
Author: Jan Nieuwenhuizen <address@hidden>
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 e4ac2e3..ba513d3 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -344,7 +344,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")
@@ -353,18 +353,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)))
@@ -391,16 +391,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)
@@ -414,26 +415,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
@@ -446,8 +452,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
- 02/13: gnu: %mes-seed: Update for mes-0.12., (continued)
- 02/13: gnu: %mes-seed: Update for mes-0.12., Jan Nieuwenhuizen, 2018/04/30
- 06/13: gnu: %mescc-tools-seed: Update to new gitlab url scheme., Jan Nieuwenhuizen, 2018/04/30
- 01/13: gnu: nyacc-boot: Update to 0.80.42., Jan Nieuwenhuizen, 2018/04/30
- 03/13: gnu: mes-boot: Update to 0.12., Jan Nieuwenhuizen, 2018/04/30
- 05/13: gnu: tinycc-boot: Update for mes-0.12., Jan Nieuwenhuizen, 2018/04/30
- 10/13: gnu: %mes-seed: Update for mes 0.13., Jan Nieuwenhuizen, 2018/04/30
- 04/13: gnu: %tinycc-seed: Update for mes-0.12., Jan Nieuwenhuizen, 2018/04/30
- 08/13: gnu: stage0-boot: Update to new gitlab url scheme., Jan Nieuwenhuizen, 2018/04/30
- 11/13: gnu: mes-boot: Update to 0.13., Jan Nieuwenhuizen, 2018/04/30
- 12/13: gnu: %tinycc-seed: Update for mes 0.13., Jan Nieuwenhuizen, 2018/04/30
- 13/13: gnu: tcc-boot: Build with mes-boot.,
Jan Nieuwenhuizen <=
- 09/13: gnu: nyacc-boot: Update to new gitlab url scheme., Jan Nieuwenhuizen, 2018/04/30
- 07/13: gnu: mescc-tools-boot: Remove stage0 dependency., Jan Nieuwenhuizen, 2018/04/30