[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
05/54: bootstrap: Add %gash-bootstrap-guile, %gash-bootstrap-tarball.
From: |
guix-commits |
Subject: |
05/54: bootstrap: Add %gash-bootstrap-guile, %gash-bootstrap-tarball. |
Date: |
Fri, 22 Nov 2019 18:17:39 -0500 (EST) |
janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit 64d2ceed27ca0c9067a6c8334e5076eb4ca5ed32
Author: Jan Nieuwenhuizen <address@hidden>
Date: Sun Oct 28 01:14:00 2018 +0200
bootstrap: Add %gash-bootstrap-guile, %gash-bootstrap-tarball.
* gnu/packages/make-bootstrap.scm (%gash-bootstrap-guile): New variable.
(%gash-bootstrap-tarball): New variable.
---
gnu/packages/make-bootstrap.scm | 50 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index b8d1b2a..4d61b40 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -42,6 +42,7 @@
#:use-module (gnu packages hurd)
#:use-module (gnu packages mes)
#:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages shells)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:export (%bootstrap-binaries-tarball
@@ -50,6 +51,7 @@
%glibc-bootstrap-tarball
%gcc-bootstrap-tarball
%guile-bootstrap-tarball
+ %gash-bootstrap-tarball
%mescc-tools-bootstrap-tarball
%mes-bootstrap-tarball
%bootstrap-tarballs
@@ -695,6 +697,50 @@ for `sh' in $PATH, and without nscd, and with static NSS
modules."
#t))))
(inputs `(("mes" ,%mes-minimal)))))
+(define %gash-bootstrap-guile
+ ;; Gash with bash and sh symlinks and Gash Core Utils, for bootstrap.
+ (package
+ (inherit gash-boot)
+ (name "gash-bootstrap-guile")
+ (build-system trivial-build-system)
+ (source #f)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (srfi srfi-1)
+ (guix build utils))
+
+ (setvbuf (current-output-port) _IOLBF)
+ (let* ((out (assoc-ref %outputs "out"))
+ (bin (string-append out "/bin"))
+ (libexec (string-append out "/libexec/gash"))
+ (gash (assoc-ref %build-inputs "gash"))
+ (gash-core-utils (assoc-ref %build-inputs "gash-core-utils"))
+ (guile (assoc-ref %build-inputs "guile"))
+ (bootstrap-guile (assoc-ref %build-inputs "bootstrap-guile")))
+
+ (define (rewire-script script)
+ (substitute* script
+ ((gash) out)
+ ((gash-core-utils) out)
+ ((guile) bootstrap-guile)
+ (("bin/guile") "bin/.guile-real")))
+
+ (copy-recursively gash out)
+ (copy-recursively gash-core-utils out)
+ (copy-file (string-append gash "/bin/gash")
+ (string-append out "/bin/bash"))
+ (copy-file (string-append gash "/bin/gash")
+ (string-append out "/bin/sh"))
+ (for-each rewire-script (find-files bin))
+
+ #t))))
+ (inputs `(("guile" ,guile-2.0)
+ ("bootstrap-guile" ,(@ (gnu packages bootstrap)
%bootstrap-guile))
+ ("gash" ,gash-boot)
+ ("gash-core-utils" ,gash-core-utils-boot)))))
+
(define %guile-static
;; A statically-linked Guile that is relocatable--i.e., it can search
;; .scm and .go files relative to its installation directory, rather
@@ -866,6 +912,10 @@ for `sh' in $PATH, and without nscd, and with static NSS
modules."
;; A tarball with the statically-linked, relocatable Guile.
(tarball-package %guile-static-stripped))
+(define %gash-bootstrap-tarball
+ ;; A tarball with Gash and Gash Core Utils, built with %bootstrap-guile.
+ (tarball-package %gash-bootstrap-guile))
+
(define %mescc-tools-bootstrap-tarball
;; A tarball with statically-linked MesCC binary seed.
(tarball-package %mescc-tools-static-stripped))
- branch wip-bootstrap created (now d3fc856), guix-commits, 2019/11/22
- 01/54: gnu: Add ncompress., guix-commits, 2019/11/22
- 05/54: bootstrap: Add %gash-bootstrap-guile, %gash-bootstrap-tarball.,
guix-commits <=
- 02/54: gnu: Add gash-core-utils., guix-commits, 2019/11/22
- 07/54: gnu: mes: Update to 0.21 WIP, guix-commits, 2019/11/22
- 04/54: bootstrap: Add gash-core-utils-boot., guix-commits, 2019/11/22
- 03/54: bootstrap: Add gash-boot., guix-commits, 2019/11/22
- 10/54: bootstrap: bootstrap-mescc-tools: Update for mescc-tools-0.6.1., guix-commits, 2019/11/22
- 09/54: bootstrap: mes-minimal: Update for mes-0.20., guix-commits, 2019/11/22
- 08/54: bootstrap: mescc-tools-static: Update for mescc-tools-0.6.1., guix-commits, 2019/11/22
- 06/54: bootstrap: Add %bootstrap-gash. WIP, guix-commits, 2019/11/22
- 12/54: bootstrap: nyacc-boot. WIP, guix-commits, 2019/11/22
- 13/54: bootstrap-gash-rewire? WIP, guix-commits, 2019/11/22