diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-03-15 21:51:34 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-03-17 22:25:54 +0100 |
commit | b4a4bec01a8b990dc4108060a645512f9b428aac (patch) | |
tree | 79cff6cd41f2dbfd4fbf6f634181785c28a545c8 | |
parent | 0dbea56bbf28cd2671289791a10e419478de714c (diff) | |
download | 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.
-rw-r--r-- | guix/profiles.scm | 33 |
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))) |