summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-02-28 22:40:06 +0100
committerLudovic Courtès <ludo@gnu.org>2021-03-30 22:48:44 +0200
commit6cd591155c10aa3cbc33d9e219dee9d948fda54e (patch)
tree2c990c4d90480a826a8acf96b44eca4ae68a5405 /guix
parentf95fc73248e81a65e84798a344e0c781c1121f76 (diff)
downloadguix-patches-6cd591155c10aa3cbc33d9e219dee9d948fda54e.tar
guix-patches-6cd591155c10aa3cbc33d9e219dee9d948fda54e.tar.gz
build-system: Use 'input-tuples->gexp' and 'outputs->gexp'.
* guix/gexp.scm (input-tuples->gexp, outputs->gexp): Make public. * guix/build-system/cargo.scm (cargo-build): Use them. * guix/build-system/gnu.scm (gnu-cross-build): Likewise. * guix/build-system/ocaml.scm (ocaml-build): Likewise. * guix/build-system/cmake.scm (cmake-cross-build): Likewise.
Diffstat (limited to 'guix')
-rw-r--r--guix/build-system/cargo.scm9
-rw-r--r--guix/build-system/cmake.scm14
-rw-r--r--guix/build-system/gnu.scm14
-rw-r--r--guix/build-system/ocaml.scm9
-rw-r--r--guix/gexp.scm3
5 files changed, 15 insertions, 34 deletions
diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
index 0af0ce0233..60c35eed07 100644
--- a/guix/build-system/cargo.scm
+++ b/guix/build-system/cargo.scm
@@ -114,13 +114,8 @@ to NAME and VERSION."
#:phases #$(if (pair? phases)
(sexp->gexp phases)
phases)
- #:outputs (list #$@(map (lambda (name)
- #~(cons #$name
- (ungexp output name)))
- outputs))
- #:inputs (map (lambda (tuple)
- (apply cons tuple))
- '#$inputs)
+ #:outputs #$(outputs->gexp outputs)
+ #:inputs #$(input-tuples->gexp inputs)
#:search-paths '#$(sexp->gexp
(map search-path-specification->sexp
search-paths))))))
diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm
index 80059217c2..2f9689b07c 100644
--- a/guix/build-system/cmake.scm
+++ b/guix/build-system/cmake.scm
@@ -204,20 +204,14 @@ build system."
(use-modules #$@(sexp->gexp modules))
(define %build-host-inputs
- (map (lambda (tuple)
- (apply cons tuple))
- '#+(append build-inputs target-inputs)))
+ #+(input-tuples->gexp build-inputs))
(define %build-target-inputs
- (map (lambda (tuple)
- (apply cons tuple))
- '#$host-inputs))
+ (append #$(input-tuples->gexp host-inputs)
+ #+(input-tuples->gexp target-inputs)))
(define %outputs
- (list #$@(map (lambda (name)
- #~(cons #$name
- (ungexp output name)))
- outputs)))
+ #$(outputs->gexp outputs))
(cmake-build #:source #+source
#:system #$system
diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm
index 3fb1a241dd..a1b2b654aa 100644
--- a/guix/build-system/gnu.scm
+++ b/guix/build-system/gnu.scm
@@ -510,20 +510,14 @@ platform."
(use-modules #$@(sexp->gexp modules))
(define %build-host-inputs
- (map (lambda (tuple)
- (apply cons tuple))
- '#+build-inputs))
+ #+(input-tuples->gexp build-inputs))
(define %build-target-inputs
- (map (lambda (tuple)
- (apply cons tuple))
- (append '#$host-inputs '#+target-inputs)))
+ (append #$(input-tuples->gexp host-inputs)
+ #+(input-tuples->gexp target-inputs)))
(define %outputs
- (list #$@(map (lambda (name)
- #~(cons #$name
- (ungexp output name)))
- outputs)))
+ #$(outputs->gexp outputs))
(gnu-build #:source #+source
#:system #$system
diff --git a/guix/build-system/ocaml.scm b/guix/build-system/ocaml.scm
index 2f60f0d534..e7d6d96f0e 100644
--- a/guix/build-system/ocaml.scm
+++ b/guix/build-system/ocaml.scm
@@ -260,13 +260,8 @@ provides a 'setup.ml' file as its build system."
(use-modules #$@modules)
(ocaml-build #:source #$source
#:system #$system
- #:outputs (list #$@(map (lambda (name)
- #~(cons #$name
- (ungexp output name)))
- outputs))
- #:inputs (map (lambda (tuple)
- (apply cons tuple))
- '#$inputs)
+ #:outputs #$(outputs->gexp outputs)
+ #:inputs #$(input-tuples->gexp inputs)
#:search-paths '#$(map search-path-specification->sexp
search-paths)
#:phases #$phases
diff --git a/guix/gexp.scm b/guix/gexp.scm
index 526a21fdd7..edd1224aa9 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -106,6 +106,9 @@
lowered-gexp-load-compiled-path
with-build-variables
+ input-tuples->gexp
+ outputs->gexp
+
gexp->derivation
gexp->file
gexp->script