guix package: Allow separate install of several outputs of the same package.
* guix/scripts/package.scm (guix-package)[process-actions](same-package?): New procedure. Use it instead of `alist-delete' when filtering out duplicate packages from the profile.master
parent
56fbf2629f
commit
079d127391
|
@ -693,6 +693,12 @@ more information.~%"))
|
|||
|
||||
(delete-duplicates deps same?))
|
||||
|
||||
(define (same-package? tuple name out)
|
||||
(match tuple
|
||||
((tuple-name _ tuple-output _ ...)
|
||||
(and (equal? name tuple-name)
|
||||
(equal? out tuple-output)))))
|
||||
|
||||
(define (package->tuple p)
|
||||
;; Convert package P to a tuple.
|
||||
;; When given a package via `-e', install the first of its
|
||||
|
@ -816,8 +822,11 @@ more information.~%"))
|
|||
(packages (append install*
|
||||
(fold (lambda (package result)
|
||||
(match package
|
||||
((name _ ...)
|
||||
(alist-delete name result))))
|
||||
((name _ out _ ...)
|
||||
(filter (negate
|
||||
(cut same-package? <>
|
||||
name out))
|
||||
result))))
|
||||
(fold alist-delete installed remove)
|
||||
install*))))
|
||||
|
||||
|
|
Reference in New Issue