summaryrefslogtreecommitdiff
path: root/guix/profiles.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-03-15 21:51:34 +0100
committerLudovic Courtès <ludo@gnu.org>2015-03-17 22:25:54 +0100
commitb4a4bec01a8b990dc4108060a645512f9b428aac (patch)
tree79cff6cd41f2dbfd4fbf6f634181785c28a545c8 /guix/profiles.scm
parent0dbea56bbf28cd2671289791a10e419478de714c (diff)
downloadgnu-guix-b4a4bec01a8b990dc4108060a645512f9b428aac.tar
gnu-guix-b4a4bec01a8b990dc4108060a645512f9b428aac.tar.gz
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.
Diffstat (limited to 'guix/profiles.scm')
-rw-r--r--guix/profiles.scm33
1 files changed, 9 insertions, 24 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm
index d62674923f..465aaf9477 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)))