aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-04-29 22:53:59 +0900
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2025-05-02 09:53:54 +0900
commitf87204b2b2f0ccf5408f3f906cc9517ad164c232 (patch)
treefa5bf80b6261d002d504c6106c511f963802316c
parent74325f91c9d0f01c410b89d445bf31948b4f27d7 (diff)
downloadguix-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.scm11
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)