profiles: Get rid of the 'inputs' field of 'manifest-entry'.
* guix/profiles.scm (<manifest-entry>)[inputs]: Remove. (profile-derivation): Rely on 'item' and 'deps' instead of 'inputs'. Adjust 'builder' accordingly. * guix/scripts/package.scm (options->installable)[package->manifest-entry]: Remove 'inputs' field. Change 'dependencies' field to contain packages.
This commit is contained in:
parent
a54c94a40d
commit
4ca0b4101d
|
@ -86,10 +86,8 @@
|
|||
(output manifest-entry-output ; string
|
||||
(default "out"))
|
||||
(item manifest-entry-item) ; package | store path
|
||||
(dependencies manifest-entry-dependencies ; list of store paths
|
||||
(default '()))
|
||||
(inputs manifest-entry-inputs ; list of inputs to build
|
||||
(default '()))) ; this entry
|
||||
(dependencies manifest-entry-dependencies ; (store path | package)*
|
||||
(default '())))
|
||||
|
||||
(define-record-type* <manifest-pattern> manifest-pattern
|
||||
make-manifest-pattern
|
||||
|
@ -210,11 +208,11 @@ the given MANIFEST."
|
|||
(define inputs
|
||||
(append-map (match-lambda
|
||||
(($ <manifest-entry> name version
|
||||
output path deps (inputs ..1))
|
||||
inputs)
|
||||
output (? package? package) deps)
|
||||
`((,package ,output) ,@deps))
|
||||
(($ <manifest-entry> name version output path deps)
|
||||
;; Assume PATH and DEPS are already valid.
|
||||
`((,name ,path) ,@deps)))
|
||||
`(,path ,@deps)))
|
||||
(manifest-entries manifest)))
|
||||
|
||||
(define builder
|
||||
|
@ -225,17 +223,11 @@ the given MANIFEST."
|
|||
(setvbuf (current-output-port) _IOLBF)
|
||||
(setvbuf (current-error-port) _IOLBF)
|
||||
|
||||
(let ((inputs '#$(map (match-lambda
|
||||
((label thing)
|
||||
thing)
|
||||
((label thing output)
|
||||
`(,thing ,output)))
|
||||
inputs)))
|
||||
(union-build #$output inputs
|
||||
#:log-port (%make-void-port "w"))
|
||||
(call-with-output-file (string-append #$output "/manifest")
|
||||
(lambda (p)
|
||||
(pretty-print '#$(manifest->gexp manifest) p))))))
|
||||
(union-build #$output '#$inputs
|
||||
#:log-port (%make-void-port "w"))
|
||||
(call-with-output-file (string-append #$output "/manifest")
|
||||
(lambda (p)
|
||||
(pretty-print '#$(manifest->gexp manifest) p)))))
|
||||
|
||||
(gexp->derivation "profile" builder
|
||||
#:modules '((guix build union))
|
||||
|
|
|
@ -647,15 +647,18 @@ return the new list of manifest entries."
|
|||
;; When given a package via `-e', install the first of its
|
||||
;; outputs (XXX).
|
||||
(let* ((output (or output (car (package-outputs p))))
|
||||
(deps (deduplicate (package-transitive-propagated-inputs p))))
|
||||
(deps (map (match-lambda
|
||||
((label package)
|
||||
`(,package "out"))
|
||||
((label package output)
|
||||
`(,package ,output)))
|
||||
(package-transitive-propagated-inputs p))))
|
||||
(manifest-entry
|
||||
(name (package-name p))
|
||||
(version (package-version p))
|
||||
(output output)
|
||||
(item p)
|
||||
(dependencies deps)
|
||||
(inputs (cons (list (package-name p) p output)
|
||||
deps)))))
|
||||
(dependencies (delete-duplicates deps)))))
|
||||
|
||||
(define upgrade-regexps
|
||||
(filter-map (match-lambda
|
||||
|
|
Loading…
Reference in New Issue