guix-commits
[Top][All Lists]
Advanced

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

01/05: bootstrap: Add %mes-minimal.


From: Jan Nieuwenhuizen
Subject: 01/05: bootstrap: Add %mes-minimal.
Date: Sun, 18 Nov 2018 10:46:20 -0500 (EST)

janneke pushed a commit to branch core-updates-next
in repository guix.

commit a647da364ac494b409114a52e48dc0dab03cbf4f
Author: Jan Nieuwenhuizen <address@hidden>
Date:   Sun Nov 18 13:41:18 2018 +0100

    bootstrap: Add %mes-minimal.
    
    %mes-minimal introduces a Mes for bootstrap that does not depend on 
graphviz,
    perl, and texinfo and thus does not build any documentation.  This removes
    ~100 dependencies from bootstrap-tarballs.
    
    * gnu/packages/make-bootstrap.scm (%mes-minimal): New variable.
    (%mes-minmal-stripped): Rename from %mes-stripped.
    (%mes-bootstrap-tarball): Update.
---
 gnu/packages/make-bootstrap.scm | 35 ++++++++++++++++++++++++++++++-----
 1 file changed, 30 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 36a5f69..1897a6d 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -546,11 +546,36 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
        ((#:make-flags flags)
         `(cons "CC=gcc -static" ,flags))))))
 
-(define %mes-stripped
+(define %mes-minimal
+  ;; A minimal Mes without documentation dependencies, for bootstrap.
+  (let ((triplet "i686-unknown-linux-gnu"))
+    (package
+      (inherit mes)
+      (name "mes-minimal")
+      (native-inputs
+       `(("guile" ,guile-2.2)
+         ,@(if (not (string-prefix? "i686-linux" (or (%current-target-system)
+                                                     (%current-system))))
+               ;; Use cross-compiler rather than #:system "i686-linux" to get
+               ;; MesCC 64 bit .go files installed ready for use with Guile.
+               `(("i686-linux-binutils" ,(cross-binutils triplet))
+                 ("i686-linux-gcc" ,(cross-gcc triplet)))
+               '())))
+      (arguments
+       `(#:strip-binaries? #f
+         #:phases
+         (modify-phases %standard-phases
+           (add-before 'configure 'optional-dot
+             (lambda _
+               (substitute* "configure"
+                 (("#:version-option \"-V\"" all)
+                  (string-append all "#:optional? #t")))))))))))
+
+(define-public %mes-minimal-stripped
   ;; The subset of Mes files needed for bootstrap.
   (package
-    (inherit mes)
-    (name "mes-stripped")
+    (inherit %mes-minimal)
+    (name "mes-minimal-stripped")
     (build-system trivial-build-system)
     (source #f)
     (arguments
@@ -573,7 +598,7 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
                                                 (string-suffix? ".c" file)))
                              (find-files out ".*")))
            #t))))
-    (inputs `(("mes" ,mes)))))
+    (inputs `(("mes" ,%mes-minimal)))))
 
 (define %guile-static
   ;; A statically-linked Guile that is relocatable--i.e., it can search
@@ -748,7 +773,7 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
 
 (define %mes-bootstrap-tarball
   ;; A tarball with Mes ASCII Seed and binary Mes C Library.
-  (tarball-package %mes-stripped))
+  (tarball-package %mes-minimal-stripped))
 
 (define %bootstrap-tarballs
   ;; A single derivation containing all the bootstrap tarballs, for



reply via email to

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