diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-05-02 11:01:56 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-05-10 14:53:57 +0200 |
commit | 3636b1c7fed295446652de4fd1376f0ab37705f3 (patch) | |
tree | 04b5711a14425ac5ecda920d226a37215ccee29d | |
parent | e00ade3fb81f89cd7c030f998ccd3e07ef2628f0 (diff) | |
download | guix-3636b1c7fed295446652de4fd1376f0ab37705f3.tar.gz |
profiles: Allow lowerable objects other than packages in <manifest-entry>.
* guix/profiles.scm (manifest-lookup-package)[entry-lookup-package]: Add case where 'manifest-entry-item' returns something that's neither a string nor a package.
-rw-r--r-- | guix/profiles.scm | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm index c17961c987..dca2479769 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -168,7 +168,7 @@ (version manifest-entry-version) ; string (output manifest-entry-output ; string (default "out")) - (item manifest-entry-item) ; package | store path + (item manifest-entry-item) ; package | file-like | store path (dependencies manifest-entry-dependencies ; <manifest-entry>* (default '())) (search-paths manifest-entry-search-paths ; search-path-specification* @@ -318,7 +318,7 @@ denoting a specific output of a package." (propagated-inputs #$(map entry->gexp deps)) (search-paths #$(map search-path-specification->sexp search-paths)))) - (($ <manifest-entry> name version output (? package? package) + (($ <manifest-entry> name version output package (deps ...) (search-paths ...)) #~(#$name #$version #$output (ungexp package (or output "out")) @@ -671,7 +671,13 @@ if not found." (return (find-among-inputs inputs))))) ((? string? item) (mlet %store-monad ((refs (references* item))) - (return (find-among-store-items refs))))))) + (return (find-among-store-items refs)))) + (item + ;; XXX: ITEM might be a 'computed-file' or anything like that, in + ;; which case we don't know what to do. The fix may be to check + ;; references once ITEM is compiled, as proposed at + ;; <https://bugs.gnu.org/29927>. + (return #f))))) (anym %store-monad entry-lookup-package (manifest-entries manifest))) |