guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

11/63: bootstrap: Add %gash-bootstrap-guile, %gash-bootstrap-tarball.


From: guix-commits
Subject: 11/63: bootstrap: Add %gash-bootstrap-guile, %gash-bootstrap-tarball.
Date: Sun, 24 Nov 2019 05:52:40 -0500 (EST)

janneke pushed a commit to branch wip-bootstrap
in repository guix.

commit 21d03a869772393aa810a28dd786dac0d4753464
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 | 48 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index ec6905c..ebe42c1 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
@@ -692,6 +694,48 @@ 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")))
+
+           (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 remove-store-references (find-files bin))
+
+           (remove-store-references
+            (string-append out 
"/lib/guile/2.0/site-ccache/gash/core-utils/config.go"))
+           (remove-store-references
+            (string-append out 
"/share/guile/site/2.0/gash/core-utils/config.scm"))
+
+           #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
@@ -863,6 +907,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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]