[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
10/17: build-system: Use 'input-tuples->gexp' and 'outputs->gexp'.
From: |
guix-commits |
Subject: |
10/17: build-system: Use 'input-tuples->gexp' and 'outputs->gexp'. |
Date: |
Mon, 22 Mar 2021 18:02:38 -0400 (EDT) |
civodul pushed a commit to branch wip-build-systems-gexp
in repository guix.
commit 25a9b277553bce4c58d2415a497c151a0a86e9c5
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/cmake.scm (cmake-cross-build): Likewise.
---
guix/build-system/cargo.scm | 9 ++-------
guix/build-system/cmake.scm | 14 ++++----------
guix/build-system/gnu.scm | 14 ++++----------
guix/build-system/ocaml.scm | 9 ++-------
guix/gexp.scm | 3 +++
5 files changed, 15 insertions(+), 34 deletions(-)
diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
index 82fcdac..b77936d 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/cmake.scm b/guix/build-system/cmake.scm
index 8005921..2f9689b 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 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 2f60f0d..e7d6d96 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 526a21f..edd1224 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
- 04/17: packages: Turn 'bag->derivation' into a monadic procedure., (continued)
- 04/17: packages: Turn 'bag->derivation' into a monadic procedure., guix-commits, 2021/03/22
- 05/17: packages: Simplify patch instantiation., guix-commits, 2021/03/22
- 02/17: gexp: Optimize 'with-build-variables'., guix-commits, 2021/03/22
- 07/17: packages: Default origin 'patch-flags' is a gexp., guix-commits, 2021/03/22
- 12/17: packages: 'expand-input' accepts any file-like object., guix-commits, 2021/03/22
- 13/17: packages: Call 'bag-grafts' only on the tip of the package graph., guix-commits, 2021/03/22
- 06/17: packages: Core procedures are written in monadic style., guix-commits, 2021/03/22
- 08/17: gexp: Add 'sexp->gexp'., guix-commits, 2021/03/22
- 16/17: gexp: Do not add derivations to the object cache., guix-commits, 2021/03/22
- 17/17: gnu: docbook-xsl: Move 'use-modules' form to the top level., guix-commits, 2021/03/22
- 10/17: build-system: Use 'input-tuples->gexp' and 'outputs->gexp'.,
guix-commits <=
- 09/17: build-system: Use 'sexp->gexp' for plain sexps., guix-commits, 2021/03/22
- 11/17: packages: '%standard-patch-inputs' is not influenced by '%current-target-system'., guix-commits, 2021/03/22
- 15/17: gexp: Allowed/disallowed references and graphs never refer to grafted inputs., guix-commits, 2021/03/22
- 14/17: grafts: Add 'without-grafting'., guix-commits, 2021/03/22