diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-05-13 18:48:22 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-06-09 12:02:28 +0200 |
commit | f6f2346f9b9387d449844fe5b3207ccbede069f4 (patch) | |
tree | bc2f165bb1008dc8950e8bde58d55ce053c48726 | |
parent | c423ae89185abab9ca6381a12285b85079367072 (diff) | |
download | patches-f6f2346f9b9387d449844fe5b3207ccbede069f4.tar patches-f6f2346f9b9387d449844fe5b3207ccbede069f4.tar.gz |
profiles: Add 'properties' field to manifest entries.
* guix/profiles.scm (<manifest-entry>)[properties]: New field.
(manifest->gexp)[entry->gexp]: Serialize it.
(sexp->manifest)[sexp->manifest-entry]: Deserialize it.
-rw-r--r-- | guix/profiles.scm | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm index 95a8f30335..ebd7da2a24 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -78,6 +78,7 @@ manifest-entry-dependencies manifest-entry-search-paths manifest-entry-parent + manifest-entry-properties manifest-pattern manifest-pattern? @@ -181,7 +182,9 @@ (search-paths manifest-entry-search-paths ; search-path-specification* (default '())) (parent manifest-entry-parent ; promise (#f | <manifest-entry>) - (default (delay #f)))) + (default (delay #f))) + (properties manifest-entry-properties ; list of symbol/value pairs + (default '()))) (define-record-type* <manifest-pattern> manifest-pattern make-manifest-pattern @@ -320,18 +323,20 @@ denoting a specific output of a package." (define (entry->gexp entry) (match entry (($ <manifest-entry> name version output (? string? path) - (deps ...) (search-paths ...)) + (deps ...) (search-paths ...) _ (properties ...)) #~(#$name #$version #$output #$path (propagated-inputs #$(map entry->gexp deps)) (search-paths #$(map search-path-specification->sexp - search-paths)))) + search-paths)) + (properties . #$properties))) (($ <manifest-entry> name version output package - (deps ...) (search-paths ...)) + (deps ...) (search-paths ...) _ (properties ...)) #~(#$name #$version #$output (ungexp package (or output "out")) (propagated-inputs #$(map entry->gexp deps)) (search-paths #$(map search-path-specification->sexp - search-paths)))))) + search-paths)) + (properties . #$properties))))) (match manifest (($ <manifest> (entries ...)) @@ -394,7 +399,9 @@ procedure is here for backward-compatibility and will eventually vanish." (dependencies deps*) (search-paths (map sexp->search-path-specification search-paths)) - (parent parent)))) + (parent parent) + (properties (or (assoc-ref extra-stuff 'properties) + '()))))) entry)))) (match sexp |