summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-02-14 00:14:29 +0100
committerLudovic Courtès <ludo@gnu.org>2013-02-14 01:12:24 +0100
commit9011e97f8df093795bb746ad5d1d50fc1c3f61ca (patch)
tree992760ad82b9eee6dbad585f10d43bd53aa8b56a
parente3b2cf4c7a28807a7225a80eda47dc5f5f7efa70 (diff)
downloadguix-9011e97f8df093795bb746ad5d1d50fc1c3f61ca.tar.gz
build-system/gnu: Make the strip behavior of `static-package' configurable.
* guix/build-system/gnu.scm (static-package): Add #:strip-all? keyword
  parameter.
-rw-r--r--guix/build-system/gnu.scm14
1 files changed, 9 insertions, 5 deletions
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index 82f5bb8490..5be4782c2f 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -111,20 +111,24 @@ flags for VARIABLE, the associated value is augmented."
   "A version of P linked with `-static-gcc'."
   (package-with-extra-configure-variable p "LDFLAGS" "-static-libgcc"))
 
-(define* (static-package p #:optional (loc (current-source-location)))
-  "Return a statically-linked version of package P."
+(define* (static-package p #:optional (loc (current-source-location))
+                         #:key (strip-all? #t))
+  "Return a statically-linked version of package P.  If STRIP-ALL? is true,
+use `--strip-all' as the arguments to `strip'."
   (let ((args (package-arguments p)))
     (package (inherit p)
       (location (source-properties->location loc))
       (arguments
        (let ((a (default-keyword-arguments args
                   '(#:configure-flags '()
-                    #:strip-flags #f))))
+                    #:strip-flags '("--strip-debug")))))
          (substitute-keyword-arguments a
            ((#:configure-flags flags)
             `(cons* "--disable-shared" "LDFLAGS=-static" ,flags))
-           ((#:strip-flags _)
-            ''("--strip-all"))))))))
+           ((#:strip-flags flags)
+            (if strip-all?
+                ''("--strip-all")
+                flags))))))))
 
 
 (define %store