summaryrefslogtreecommitdiff
path: root/gnu/packages/make-bootstrap.scm
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2018-11-18 13:41:18 +0100
committerJan Nieuwenhuizen <janneke@gnu.org>2018-11-18 16:38:11 +0100
commita647da364ac494b409114a52e48dc0dab03cbf4f (patch)
tree696d1181a445d5b3d184ca6fe2d364f32e6e805b /gnu/packages/make-bootstrap.scm
parent02d83c247931045cf899433223e1b1a51f605a9f (diff)
downloadguix-patches-a647da364ac494b409114a52e48dc0dab03cbf4f.tar
guix-patches-a647da364ac494b409114a52e48dc0dab03cbf4f.tar.gz
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.
Diffstat (limited to 'gnu/packages/make-bootstrap.scm')
-rw-r--r--gnu/packages/make-bootstrap.scm35
1 files changed, 30 insertions, 5 deletions
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 36a5f6904c..1897a6d12b 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