From b4a4bec01a8b990dc4108060a645512f9b428aac Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 15 Mar 2015 21:51:34 +0100 Subject: 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 file changed, 9 insertions(+), 24 deletions(-) (limited to 'guix/profiles.scm') 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 @@ (define* (package->manifest-entry package #:optional output) 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 @@ (define (manifest-perform-transaction manifest transaction) ;;; (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 objects for MANIFEST." (append-map (match-lambda - (($ name version - output (? package? package) deps) - `((,package ,output) ,@deps)) - (($ name version output path deps) - ;; Assume PATH and DEPS are already valid. - `(,path ,@deps))) + (($ 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 @@ (define* (profile-derivation manifest (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 - ;; . (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))) -- cgit v1.2.3