guix-commits
[Top][All Lists]
Advanced

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

01/08: gnu: Add 'bash-static'.


From: Ludovic Courtès
Subject: 01/08: gnu: Add 'bash-static'.
Date: Sat, 29 Aug 2015 14:16:28 +0000

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

commit 6c7f44efc24ce089c2c8e3c41b014ac05e20e119
Author: Ludovic Courtès <address@hidden>
Date:   Wed Aug 19 14:40:59 2015 +0200

    gnu: Add 'bash-static'.
    
    * gnu/packages/bash.scm (static-bash): New variable.
---
 gnu/packages/bash.scm |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm
index 6b2d0b8..fcfa337 100644
--- a/gnu/packages/bash.scm
+++ b/gnu/packages/bash.scm
@@ -239,6 +239,28 @@ without modification.")
                        '("bash_cv_job_control_missing=no")
                        '()))))))))
 
+(define-public static-bash
+  ;; Statically-linked Bash that contains nothing but the 'bash' binary and
+  ;; 'sh' symlink, without any reference.
+  (let ((bash (static-package bash-light)))
+    (package
+      (inherit bash)
+      (name "bash-static")
+      (arguments
+       (substitute-keyword-arguments
+           `(#:allowed-references ("out") ,@(package-arguments bash))
+         ((#:phases phases)
+          `(alist-cons-after
+            'strip 'remove-everything-but-the-binary
+            (lambda* (#:key outputs #:allow-other-keys)
+              (let* ((out (assoc-ref outputs "out"))
+                     (bin (string-append out "/bin")))
+                (remove-store-references (string-append bin "/bash"))
+                (delete-file (string-append bin "/bashbug"))
+                (delete-file-recursively (string-append out "/share"))
+                #t))
+            ,phases)))))))
+
 (define-public bash-completion
   (package
     (name "bash-completion")



reply via email to

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