aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-01-01 16:55:34 +0100
committerLudovic Courtès <ludo@gnu.org>2013-01-01 16:55:34 +0100
commit4d058c67929aa9d464fcb1ff0217122424078cb8 (patch)
treeddcaa67983811b94a6323631172e4faf827a9e7f
parent450fb5a6b44f05dbaa35daf2b696dfc4d502be96 (diff)
downloadguix-4d058c67929aa9d464fcb1ff0217122424078cb8.tar
guix-4d058c67929aa9d464fcb1ff0217122424078cb8.tar.gz
build-system/gnu: Add `static-package'.
* distro/packages/make-bootstrap.scm (static-package): Move to... * guix/build-system/gnu.scm (static-package): ... here. New procedure.
-rw-r--r--distro/packages/make-bootstrap.scm25
-rw-r--r--guix/build-system/gnu.scm26
2 files changed, 26 insertions, 25 deletions
diff --git a/distro/packages/make-bootstrap.scm b/distro/packages/make-bootstrap.scm
index 28be0b8c49..c0e5d8be5d 100644
--- a/distro/packages/make-bootstrap.scm
+++ b/distro/packages/make-bootstrap.scm
@@ -20,7 +20,7 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix build-system trivial)
- #:use-module ((guix build-system gnu) #:select (package-with-explicit-inputs))
+ #:use-module (guix build-system gnu)
#:use-module ((distro) #:select (search-patch))
#:use-module (distro packages base)
#:use-module (distro packages bash)
@@ -45,29 +45,6 @@
;;;
;;; Code:
-(define* (static-package p #:optional (loc (current-source-location)))
- "Return a statically-linked version of package P."
- ;; TODO: Move to (guix build-system gnu).
- (let ((args (package-arguments p)))
- (package (inherit p)
- (location (source-properties->location loc))
- (arguments
- (let ((augment (lambda (args)
- (let ((a (default-keyword-arguments args
- '(#:configure-flags '()
- #:strip-flags #f))))
- (substitute-keyword-arguments a
- ((#:configure-flags flags)
- `(cons* "--disable-shared"
- "LDFLAGS=-static"
- ,flags))
- ((#:strip-flags _)
- ''("--strip-all")))))))
- (if (procedure? args)
- (lambda x
- (augment (apply args x)))
- (augment args)))))))
-
(define %glibc-with-relocatable-system
;; A libc whose `system' and `popen' functions looks for `sh' in $PATH.
(package (inherit glibc-final)
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index 53fc4749f0..4d7ecd54de 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -21,6 +21,7 @@
#:use-module (guix utils)
#:use-module (guix derivations)
#:use-module (guix build-system)
+ #:use-module (guix build-system gnu)
#:use-module (guix packages)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-39)
@@ -29,7 +30,8 @@
gnu-build-system
package-with-explicit-inputs
package-with-extra-configure-variable
- static-libgcc-package))
+ static-libgcc-package
+ static-package))
;; Commentary:
;;
@@ -117,6 +119,28 @@ configure 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."
+ (let ((args (package-arguments p)))
+ (package (inherit p)
+ (location (source-properties->location loc))
+ (arguments
+ (let ((augment (lambda (args)
+ (let ((a (default-keyword-arguments args
+ '(#:configure-flags '()
+ #:strip-flags #f))))
+ (substitute-keyword-arguments a
+ ((#:configure-flags flags)
+ `(cons* "--disable-shared"
+ "LDFLAGS=-static"
+ ,flags))
+ ((#:strip-flags _)
+ ''("--strip-all")))))))
+ (if (procedure? args)
+ (lambda x
+ (augment (apply args x)))
+ (augment args)))))))
+
(define %store
;; Store passed to STANDARD-INPUTS.