Browse Source

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.
wip-grafts
Ludovic Courtès 8 years ago
parent
commit
4ca0b4101d
  1. 28
      guix/profiles.scm
  2. 11
      guix/scripts/package.scm

28
guix/profiles.scm

@ -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))

11
guix/scripts/package.scm

@ -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…
Cancel
Save