guix-commits
[Top][All Lists]
Advanced

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

01/02: bootstrap: Add %mescc-tools-static-stripped.


From: guix-commits
Subject: 01/02: bootstrap: Add %mescc-tools-static-stripped.
Date: Mon, 22 Jul 2019 13:36:08 -0400 (EDT)

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

commit 1bd1d4b0c1906f8e0d04044d742b33adb1a6b3eb
Author: Jan Nieuwenhuizen <address@hidden>
Date:   Mon Jul 22 10:08:01 2019 +0200

    bootstrap: Add %mescc-tools-static-stripped.
    
    * gnu/packages/make-bootstrap.scm (%mescc-tools-static-stripped): New
    variable.
    (%mescc-tools-bootstrap-tarball): Use it.
---
 gnu/packages/make-bootstrap.scm | 34 +++++++++++++++++++++++++++++++---
 1 file changed, 31 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index ff0523b..cbc0204 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2017 Efraim Flashner <address@hidden>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <address@hidden>
 ;;; Copyright © 2018 Mark H Weaver <address@hidden>
-;;; Copyright © 2018 Jan (janneke) Nieuwenhuizen <address@hidden>
+;;; Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -537,8 +537,9 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
            #t))))
     (inputs `(("gcc" ,%gcc-static)))))
 
+;; Two packages: first build static, bare minimum content...
 (define %mescc-tools-static
-  ;; A statically linked MesCC Tools for bootstrap.
+  ;; A statically linked MesCC Tools.
   (package
     (inherit mescc-tools)
     (name "mescc-tools-static")
@@ -548,6 +549,33 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
            ((#:make-flags flags)
             `(cons "CC=gcc -static" ,flags)))))))
 
+;; ...next remove store references.
+(define %mescc-tools-static-stripped
+  ;; A statically linked Mescc Tools with store references removed, for
+  ;; bootstrap.
+  (package
+    (inherit %mescc-tools-static)
+    (name (string-append (package-name %mescc-tools-static) "-stripped"))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils))
+         (let* ((in  (assoc-ref %build-inputs "mescc-tools"))
+                (out (assoc-ref %outputs "out"))
+                (bin (string-append out "/bin")))
+           (mkdir-p bin)
+           (for-each (lambda (file)
+                       (let ((target (string-append bin "/" file)))
+                         (format #t "copying `~a'...~%" file)
+                         (copy-file (string-append in "/bin/" file)
+                                    target)
+                         (remove-store-references target)))
+                     '( "M1" "blood-elf" "hex2"))
+           #t))))
+    (inputs `(("mescc-tools" ,%mescc-tools-static)))))
+
 (define-public %mes-minimal-stripped
   ;; A minimal Mes without documentation dependencies, for bootstrap.
   (let ((triplet "i686-unknown-linux-gnu"))
@@ -743,7 +771,7 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
 
 (define %mescc-tools-bootstrap-tarball
   ;; A tarball with MesCC binary seed.
-  (tarball-package %mescc-tools-static))
+  (tarball-package %mescc-tools-static-stripped))
 
 (define %mes-bootstrap-tarball
   ;; A tarball with Mes ASCII Seed and binary Mes C Library.



reply via email to

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