[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20/20: build-system: Use 'input-tuples->gexp' and 'outputs->gexp'.
From: |
guix-commits |
Subject: |
20/20: build-system: Use 'input-tuples->gexp' and 'outputs->gexp'. |
Date: |
Mon, 1 Mar 2021 09:32:13 -0500 (EST) |
civodul pushed a commit to branch wip-build-systems-gexp
in repository guix.
commit b1da83bc02e87f0ef579dc2e85457ed56c7d77f6
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sun Feb 28 22:40:06 2021 +0100
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/cargo.scm | 9 ++-------
guix/build-system/gnu.scm | 14 ++++----------
guix/build-system/ocaml.scm | 9 ++-------
guix/gexp.scm | 3 +++
4 files changed, 11 insertions(+), 24 deletions(-)
diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
index 747bf2a..9774ac5 100644
--- a/guix/build-system/cargo.scm
+++ b/guix/build-system/cargo.scm
@@ -109,13 +109,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/gnu.scm b/guix/build-system/gnu.scm
index 3fb1a24..a1b2b65 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 9d0e9ff..be0bdfe 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 efa8e57..73eb79b 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
- 15/20: serialization: Micro-optimize string literal output in 'write-file-tree'., (continued)
- 15/20: serialization: Micro-optimize string literal output in 'write-file-tree'., guix-commits, 2021/03/01
- 16/20: gexp: Optimize 'with-build-variables'., guix-commits, 2021/03/01
- 17/20: packages: Default origin 'patch-flags' is a gexp., guix-commits, 2021/03/01
- 18/20: gexp: Add 'sexp->gexp'., guix-commits, 2021/03/01
- 08/20: gexp: Keep 'lower-inputs' private., guix-commits, 2021/03/01
- 10/20: store: Object cache profiling shows the number of entries., guix-commits, 2021/03/01
- 11/20: gexp: Reduce allocations while traversing lists., guix-commits, 2021/03/01
- 06/20: gexp: 'gexp-inputs' returns a list of <gexp-input> records., guix-commits, 2021/03/01
- 13/20: store: Micro-optimize object cache lookup., guix-commits, 2021/03/01
- 14/20: gexp: Reduce allocations in 'gexp-attribute'., guix-commits, 2021/03/01
- 20/20: build-system: Use 'input-tuples->gexp' and 'outputs->gexp'.,
guix-commits <=
- 19/20: build-system: Use 'sexp->gexp' for plain sexps., guix-commits, 2021/03/01