diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-07-26 22:54:40 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-07-26 22:57:00 +0200 |
commit | 462f5ccade9fd1372e2a7d1e854cd6324ebb4105 (patch) | |
tree | 6f804a79074238627c20e307d8569b5f450e0d9b /guix/profiles.scm | |
parent | 4ca0b4101d2d15fc41c0a875f09553ded27091bd (diff) | |
download | gnu-guix-462f5ccade9fd1372e2a7d1e854cd6324ebb4105.tar gnu-guix-462f5ccade9fd1372e2a7d1e854cd6324ebb4105.tar.gz |
profiles: Add 'package->manifest-entry'.
Suggested by Alex Kost <alezost@gmail.com>.
* guix/scripts/package.scm (options->installable)[package->manifest-entry]:
Move to (guix profiles).
[package->manifest-entry*]: New procedure.
Use it.
* guix/profiles.scm (package->manifest-entry): New procedure.
* tests/profiles.scm (guile-for-build): New variable.
Call '%guile-for-build'.
("profile-derivation"): New test.
Diffstat (limited to 'guix/profiles.scm')
-rw-r--r-- | guix/profiles.scm | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm index 96c8ca0514..5e69e012f9 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -51,6 +51,7 @@ manifest-matching-entries profile-manifest + package->manifest-entry profile-derivation generation-number generation-numbers @@ -105,6 +106,22 @@ (call-with-input-file file read-manifest) (manifest '())))) +(define* (package->manifest-entry package #:optional output) + "Return a manifest entry for the OUTPUT of package PACKAGE. When OUTPUT is +omitted or #f, use the first output of PACKAGE." + (let ((deps (map (match-lambda + ((label package) + `(,package "out")) + ((label package output) + `(,package ,output))) + (package-transitive-propagated-inputs package)))) + (manifest-entry + (name (package-name package)) + (version (package-version package)) + (output (or output (car (package-outputs package)))) + (item package) + (dependencies (delete-duplicates deps))))) + (define (manifest->gexp manifest) "Return a representation of MANIFEST as a gexp." (define (entry->gexp entry) |