diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2025-04-29 22:53:59 +0900 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2025-05-02 09:53:54 +0900 |
commit | f87204b2b2f0ccf5408f3f906cc9517ad164c232 (patch) | |
tree | fa5bf80b6261d002d504c6106c511f963802316c | |
parent | 74325f91c9d0f01c410b89d445bf31948b4f27d7 (diff) | |
download | guix-f87204b2b2f0ccf5408f3f906cc9517ad164c232.tar.gz guix-f87204b2b2f0ccf5408f3f906cc9517ad164c232.zip |
build/cmake: Add #:implicit-inputs? and #:implicit-cross-inputs? arguments.
* guix/build-system/cmake.scm (lower) <#:implicit-inputs?>
<#:implicit-cross-inputs?>: New arguments.
Change-Id: I1f077f78f5836ce325827e7ef8d58ba554a8ed4f
Reviewed-by: Greg Hogan <code@greghogan.com>
-rw-r--r-- | guix/build-system/cmake.scm | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index 9d757c0d06..8b1889e36b 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2025 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,12 +66,14 @@ (define* (lower name #:key source inputs native-inputs outputs system target + (implicit-inputs? #t) (implicit-cross-inputs? #t) (cmake (default-cmake target)) #:allow-other-keys #:rest arguments) "Return a bag for NAME." (define private-keywords `(#:cmake #:inputs #:native-inputs + #:implicit-inputs? #:implicit-cross-inputs? ,@(if target '() '(#:target)))) (bag @@ -83,13 +86,15 @@ ,@`(("cmake" ,cmake)) ,@native-inputs ,@(if target '() inputs) - ,@(if target + ,@(if (and target implicit-cross-inputs?) ;; Use the standard cross inputs of ;; 'gnu-build-system'. (standard-cross-packages target 'host) '()) ;; Keep the standard inputs of 'gnu-build-system'. - ,@(standard-packages))) + ,@(if implicit-inputs? + (standard-packages system) + '()))) (host-inputs (if target inputs '())) ;; The cross-libc is really a target package, but for bootstrapping @@ -97,7 +102,7 @@ ;; native package, so it would end up using a "native" variant of ;; 'cross-libc' (built with 'gnu-build'), whereas all the other packages ;; would use a target variant (built with 'gnu-cross-build'.) - (target-inputs (if target + (target-inputs (if (and target implicit-cross-inputs?) (standard-cross-packages target 'target) '())) (outputs outputs) |