[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
04/06: profiles: Use 'gexp-input' instead of two-element lists.
From: |
Ludovic Courtès |
Subject: |
04/06: profiles: Use 'gexp-input' instead of two-element lists. |
Date: |
Sun, 15 Mar 2015 22:32:58 +0000 |
civodul pushed a commit to branch wip-extensible-gexps
in repository guix.
commit 65fb39a7ee339cd9bab0936c1d0b71a48faf0503
Author: Ludovic Courtès <address@hidden>
Date: Sun Mar 15 21:51:34 2015 +0100
profiles: Use 'gexp-input' instead of two-element lists.
* guix/profiles.scm (package->manifest-entry): Use 'gexp-input' instead
of two-element lists to denote specific package outputs.
(manifest-inputs): Likewise.
(profile-derivation)[info-dir]: Likewise.
---
guix/profiles.scm | 33 +++++++++------------------------
1 files changed, 9 insertions(+), 24 deletions(-)
diff --git a/guix/profiles.scm b/guix/profiles.scm
index d626749..465aaf9 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -155,9 +155,9 @@
omitted or #f, use the first output of PACKAGE."
(let ((deps (map (match-lambda
((label package)
- `(,package "out"))
+ (gexp-input package))
((label package output)
- `(,package ,output)))
+ (gexp-input package output)))
(package-transitive-propagated-inputs package))))
(manifest-entry
(name (package-name package))
@@ -356,22 +356,12 @@ replace it."
;;;
(define (manifest-inputs manifest)
- "Return the list of inputs for MANIFEST. Each input has one of the
-following forms:
-
- (PACKAGE OUTPUT-NAME)
-
-or
-
- STORE-PATH
-"
+ "Return a list of <gexp-input> objects for MANIFEST."
(append-map (match-lambda
- (($ <manifest-entry> name version
- output (? package? package) deps)
- `((,package ,output) ,@deps))
- (($ <manifest-entry> name version output path deps)
- ;; Assume PATH and DEPS are already valid.
- `(,path ,@deps)))
+ (($ <manifest-entry> name version output thing deps)
+ ;; THING may be a package or a file name. In the latter case,
+ ;; assume it's already valid. Ditto for DEPS.
+ (cons (gexp-input thing output) deps)))
(manifest-entries manifest)))
(define (info-dir-file manifest)
@@ -487,16 +477,11 @@ CA-CERTIFICATE-BUNDLE? is #f."
(ca-certificate-bundle manifest)
(return #f))))
(define inputs
- ;; XXX: Here we use tuples of the form (DIR "out") just so that the list
- ;; is unambiguous for the gexp code when MANIFEST has a single input
- ;; denoted as a string (the pattern (DRV STRING) is normally
- ;; interpreted in a gexp as "the STRING output of DRV".). See
- ;; <http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>.
(append (if info-dir
- `((,info-dir "out"))
+ (list (gexp-input info-dir))
'())
(if ca-cert-bundle
- `((,ca-cert-bundle "out"))
+ (list (gexp-input ca-cert-bundle))
'())
(manifest-inputs manifest)))
- branch wip-extensible-gexps created (now 78f7c26), Ludovic Courtès, 2015/03/15
- 01/06: tests: Add an indirection for white-box testing., Ludovic Courtès, 2015/03/15
- 02/06: gexp: Add <gexp-input>., Ludovic Courtès, 2015/03/15
- 03/06: gexp: Export 'gexp-input' constructor., Ludovic Courtès, 2015/03/15
- 04/06: profiles: Use 'gexp-input' instead of two-element lists.,
Ludovic Courtès <=
- 05/06: gexp: Remove special meaning of forms (PACKAGE OUTPUT) in ungexp., Ludovic Courtès, 2015/03/15
- 06/06: gexp: Separate "expanders" for origins and packages from the core., Ludovic Courtès, 2015/03/15