build-system/gnu: 'static-package' uses gexps.

* guix/build-system/gnu.scm (static-package): Use gexps.
This commit is contained in:
Ludovic Courtès 2023-02-28 17:08:26 +01:00
parent 36ea77f5d7
commit 476741c5bb
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012-2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -215,18 +215,16 @@ (define (static-libgcc-package p)
(define* (static-package p #: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'."
(package (inherit p)
(package
(inherit p)
(arguments
(let ((a (default-keyword-arguments (package-arguments p)
'(#:configure-flags '()
#:strip-flags '("--strip-unneeded")))))
(substitute-keyword-arguments a
((#:configure-flags flags)
`(cons* "--disable-shared" "LDFLAGS=-static" ,flags))
((#:strip-flags flags)
(if strip-all?
''("--strip-all")
flags)))))
(substitute-keyword-arguments (package-arguments p)
((#:configure-flags flags #~'())
#~(cons* "--disable-shared" "LDFLAGS=-static" #$flags))
((#:strip-flags flags #~'("--strip-unneeded"))
(if strip-all?
#~'("--strip-all")
flags))))
(replacement (and=> (package-replacement p) static-package))))
(define* (dist-package p source #:key (phases '%dist-phases))