[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/160: gnu: Add mescc-tools-boot.
From: |
Jan Nieuwenhuizen |
Subject: |
02/160: gnu: Add mescc-tools-boot. |
Date: |
Tue, 28 Aug 2018 15:56:03 -0400 (EDT) |
janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit e98e6a275c671750590e5e75456fd791f37dc52f
Author: Jan Nieuwenhuizen <address@hidden>
Date: Sun Nov 19 11:35:59 2017 +0100
gnu: Add mescc-tools-boot.
* gnu/packages/mes.scm (mescc-tools-boot): New variable.
---
gnu/packages/mes.scm | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 101 insertions(+)
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 6036666..1bc5cd3 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -111,6 +111,107 @@ with a Knight VM that runs Forth and Lisp.")
(home-page "https://savannah.nongnu.org/projects/stage0/")
(license gpl3+))))
+(define-public mescc-tools-boot
+ (let ((version "0.2")
+ (revision "0")
+ (commit "3882f30b62b73c7005408fc2dccc82280e79b659"))
+ (package
+ (name "mescc-tools-boot")
+ (version (string-append version "-" revision "." (string-take commit 7)))
+ (synopsis "Tools for the full source bootstrapping process")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://gitlab.com/janneke/mescc-tools"
+ "/repository/archive.tar.gz?ref="
+ commit))
+ (file-name (string-append name "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "0hrc18dshwp9bbimckj9inx04zxnw4a2m5hq3vkyw8hab8jyd2gw"))))
+ (native-inputs
+ `(("static-bash" ,@(assoc-ref %bootstrap-inputs "bash"))
+ ("bash" ,(search-bootstrap-binary "bash" (%current-system)))
+ ("tar" ,(search-bootstrap-binary "tar" (%current-system)))
+ ("xz" ,(search-bootstrap-binary "xz" (%current-system)))
+ ("stage0" ,stage0-boot)
+ ("mescc-tools-seed"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://gitlab.com/janneke/mescc-tools-seed"
+ "/repository/archive.tar.gz?ref="
+ "b0f8fd0e31c41cb91aefd17047da1f5743370e4b"))
+ (file-name (string-append name "-seed" "-" version ".tar.xz"))
+ (sha256
+ (base32
+ "065nmxpp73hnynqil0f1d3cgldkfpx64zach1i31iz05f9xy3yzn"))))
+ ("mes-source" ,(package-source mes-boot))
+ ("mes-seed"
+ ,(origin
+ (method url-fetch)
+ (uri (string-append "https://gitlab.com/janneke/mes-seed"
+ "/repository/archive.tar.gz?ref="
+ "7ed68e26db72884dc287852e021858c28ce1c557"))
+ (file-name (string-append "mes-seed-0.11" ".tar.xz"))
+ (sha256
+ (base32
+ "1pknfxdynn8gv1xnwfwqbpgqmi0j80yvj2n20y2lq3rhmmyhz81b"))))))
+ (supported-systems '("i686-linux" "x86_64-linux"))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((bash (assoc-ref %build-inputs "static-bash"))
+ (tar (assoc-ref %build-inputs "tar"))
+ (xz (assoc-ref %build-inputs "xz"))
+ (source (assoc-ref %build-inputs "source"))
+ (mescc-tools-seed (assoc-ref %build-inputs "mescc-tools-seed"))
+ (mes-seed (assoc-ref %build-inputs "mes-seed"))
+ (mes-source (assoc-ref %build-inputs "mes-source"))
+ (out (assoc-ref %outputs "out"))
+ (out/bin (string-append out "/bin")))
+ (setenv "PATH" (string-append bash "/bin:"
+ "../mescc-tools-seed:"
+ tar "/bin:"
+ xz "/bin"))
+ (format (current-error-port) "PATH=~s\n" (getenv "PATH"))
+ (mkdir-p "source")
+ (system* "tar" "--strip=1" "-C" "source" "-xvf" source)
+ (mkdir-p "mescc-tools-seed")
+ (system* "tar" "--strip=1" "-C" "mescc-tools-seed" "-xvf"
mescc-tools-seed)
+ (mkdir-p "mes-source")
+ (system* "tar" "--strip=1" "-C" "mes-source" "-xvf" mes-source)
+ (mkdir-p "mes-seed")
+ (system* "tar" "--strip=1" "-C" "mes-seed" "-xvf" mes-seed)
+ (chdir "source")
+ (zero? (system (string-append
+"set -ex;"
+
+"export PREFIX=" out ";"
+
+;; build
+"export MES_PREFIX=../mes-source;"
+"export MESCC_TOOLS_SEED=../mescc-tools-seed;"
+"export MES_SEED=../mes-seed;"
+"sh build.sh;"
+
+;; TODO: check
+;;"sh check.sh;"
+;; install
+"sh install.sh;"
+
+;; FIXME: MORTAL SIN HERE
+;; M1 cannot be bootstrapped yet
+"cp ../mescc-tools-seed/M1 " out/bin "/M1;")))))))
+ (description
+ "Mescc-tools is a collection of tools for use in a full source
+bootstrapping process. Currently consists of the M1 macro assembler and the
+hex2 linker.")
+ (home-page "https://github.com/oriansj/mescc-tools")
+ (license gpl3+))))
+
+
(define-public nyacc
(package
(name "nyacc")
- 05/160: gnu: Add tcc-boot., (continued)
- 05/160: gnu: Add tcc-boot., Jan Nieuwenhuizen, 2018/08/28
- 30/160: gnu: Update tcc-boot: mescc has no long long., Jan Nieuwenhuizen, 2018/08/28
- 13/160: bump mes-seed: mlibc: GNU Gcc support: setjmp, longjmp., Jan Nieuwenhuizen, 2018/08/28
- 08/160: gnu: Add gcc-boot. WIP, Jan Nieuwenhuizen, 2018/08/28
- 12/160: bump mes-boot: mlibc: GNU Gcc support: setjmp, longjmp., Jan Nieuwenhuizen, 2018/08/28
- 20/160: gnu: mes-boot: Update mes-boot, mes-seed: Mescc-tools support., Jan Nieuwenhuizen, 2018/08/28
- 11/160: tcc-boot: bump tinycc-seed: GNU Gcc support: Add ferror., Jan Nieuwenhuizen, 2018/08/28
- 06/160: use %bootstrap-guile -- still guile-2.2 in bag-with-origins :-(, Jan Nieuwenhuizen, 2018/08/28
- 07/160: Revert "use %bootstrap-guile -- still guile-2.2 in bag-with-origins :-(", Jan Nieuwenhuizen, 2018/08/28
- 03/160: gnu: Add mes-boot., Jan Nieuwenhuizen, 2018/08/28
- 02/160: gnu: Add mescc-tools-boot.,
Jan Nieuwenhuizen <=
- 04/160: gnu: Add nyacc-boot., Jan Nieuwenhuizen, 2018/08/28
- 01/160: gnu: Add stage0-boot., Jan Nieuwenhuizen, 2018/08/28
- 79/160: gnu: glibc-boot: Update to 2.2.5., Jan Nieuwenhuizen, 2018/08/29