summary refs log tree commit diff
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-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.