summaryrefslogtreecommitdiff
path: root/gnu/packages/make-bootstrap.scm
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2018-10-20 08:59:19 +0200
committerJan Nieuwenhuizen <janneke@gnu.org>2018-10-21 23:26:21 +0200
commit35dcf85157435be848bc03bc014bdf5eb18546e6 (patch)
tree76fe90ee1e728fbc23bfad5747e7bb97a1012498 /gnu/packages/make-bootstrap.scm
parentf266199dc1e547dee2d7e946e9dd9a9bb17fca89 (diff)
downloadguix-patches-35dcf85157435be848bc03bc014bdf5eb18546e6.tar
guix-patches-35dcf85157435be848bc03bc014bdf5eb18546e6.tar.gz
bootstrap: Add %mes-stripped, %mes-bootstrap-tarball.
* gnu/packages/make-bootstrap.scm (%mes-stripped): New variable. (%mes-bootstrap-tarball): New variable. * gnu/packages/mes.scm: Oops, remove stray (gnu packages commencement) module include.
Diffstat (limited to 'gnu/packages/make-bootstrap.scm')
-rw-r--r--gnu/packages/make-bootstrap.scm35
1 files changed, 35 insertions, 0 deletions
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 3553737f1e..7bfba3c14b 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -38,6 +38,7 @@
#:use-module (gnu packages libunistring)
#:use-module (gnu packages linux)
#:use-module (gnu packages hurd)
+ #:use-module (gnu packages mes)
#:use-module (gnu packages multiprecision)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
@@ -47,6 +48,7 @@
%glibc-bootstrap-tarball
%gcc-bootstrap-tarball
%guile-bootstrap-tarball
+ %mes-bootstrap-tarball
%bootstrap-tarballs
%guile-static-stripped))
@@ -533,6 +535,35 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
#t))))
(inputs `(("gcc" ,%gcc-static)))))
+(define %mes-stripped
+ ;; The subset of Mes files needed for bootstrap.
+ (package
+ (inherit mes)
+ (name "mes-stripped")
+ (build-system trivial-build-system)
+ (source #f)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (srfi srfi-1)
+ (srfi srfi-26)
+ (guix build utils))
+
+ (setvbuf (current-output-port) _IOLBF)
+ (let* ((out (assoc-ref %outputs "out"))
+ (libdir (string-append out "/lib"))
+ (mes (assoc-ref %build-inputs "mes")))
+
+ (copy-recursively (string-append mes "/lib") libdir)
+ (copy-recursively (string-append mes "/share/mes/lib") libdir)
+ (for-each remove-store-references
+ (remove (lambda (file) (or (string-suffix? ".h" file)
+ (string-suffix? ".c" file)))
+ (find-files out ".*")))
+ #t))))
+ (inputs `(("mes" ,mes)))))
+
(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
@@ -700,6 +731,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 %mes-bootstrap-tarball
+ ;; A tarball with Mes ASCII Seed and binary Mes C Library.
+ (tarball-package %mes-stripped))
+
(define %bootstrap-tarballs
;; A single derivation containing all the bootstrap tarballs, for
;; convenience.