guix-commits
[Top][All Lists]
Advanced

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

03/54: bootstrap: Add gash-boot.


From: guix-commits
Subject: 03/54: bootstrap: Add gash-boot.
Date: Fri, 22 Nov 2019 18:17:39 -0500 (EST)

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

commit ca9aa3db2bbff65b51fad4c37f14ae58a6901619
Author: Jan Nieuwenhuizen <address@hidden>
Date:   Sun Oct 28 00:55:54 2018 +0200

    bootstrap: Add gash-boot.
    
    * gnu/packages/shells.scm (gash-boot): New variable.
---
 gnu/packages/shells.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 98bfc67..ed922a5 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -48,6 +48,7 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages scheme)
+  #:use-module (gnu packages texinfo)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
   #:use-module (guix build-system trivial)
@@ -836,6 +837,51 @@ library for parsing shell scripts.  Gash is designed to 
bootstrap Bash
 as part of the Guix bootstrap process.")
     (license gpl3+)))
 
+(define-public gash-boot
+  (let ((version "0.1")
+        (commit "32188ac40f239d4792a373cc149e795fccff841f")
+        (revision "9"))
+    (package
+      (inherit gash)
+      (name "gash-boot")
+      (version (string-append version "-" revision "." (string-take commit 7)))
+      (source (origin
+                (method url-fetch)
+                (uri (string-append "https://gitlab.com/janneke/gash";
+                                    "/-/archive/" commit
+                                    "/gash-" commit ".tar.gz"))
+                (modules '((guix build utils)
+                           (srfi srfi-26)))
+                (snippet
+                 '(begin
+                    ;; Force compat mode.  This is pretty ugly, we compile
+                    ;; with guile-2.0.15 (guile-2.0) and run with guile-2.0.9
+                    ;; (%bootstrap-guile).
+                    (for-each (cut substitute* <> (("2 0 10") "2 0 15"))
+                              '("gash/compat.scm"
+                                "gash/compat/hash-table.scm"
+                                "gash/compat/srfi-43.scm"))
+                    ;; Suppress warning 2.0.9 <-> 2.0.15 incompatibility
+                    ;; WARNING: (gash shell): imported module (gash compat) 
overrides core binding `EXIT_SUCCESS'
+                    (substitute* "gash/compat.scm"
+                      (("[(]define-module" all) "(current-warning-port 
(open-output-file \"/dev/null\"))
+(define-module"))
+                    (substitute* "tests/eval.org"
+                      ;; Guile 2.0.9 incompatibility
+                      (("(test: /root/sccs/admin: )(Permission denied)" all 
prefix msg)
+                       (string-append prefix "No such file or directory"))
+                      (("status: 126") "status: 127"))
+                    #t))
+                (sha256
+                 (base32
+                  "0xwnb8g4fa3b37bivsrgzl3fbyc5ml8jmq7cvz96wxysqq4dvway"))))
+      (native-inputs
+       `(("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("pkg-config" ,pkg-config)
+         ("texinfo" ,texinfo)))
+      (inputs `(("guile" ,guile-2.0))))))
+
 (define-public gash-core-utils
   (let ((version "0.0")
         (commit "b546f6968e63246b3a99322507e9c89c7d30f631")



reply via email to

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