mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 03:55:08 -06:00
profiles: package->manifest-entry: Filter packages.
The new Rust packaging model moves sources to inputs and there'll be
possiblity to have sources in propagated-inputs as well.
* guix/profiles.scm (package->manifest-entry): Filter packages.
* tests/profiles.scm ("package->manifest-entry, origin in propagated inputs"):
New test.
Change-Id: Id5b9ceb693a35760289b04cd9b8f208b4cbf2e35
This commit is contained in:
parent
48ddcb0b68
commit
2142fce056
2 changed files with 22 additions and 8 deletions
|
|
@ -384,14 +384,17 @@ file name."
|
|||
(properties (default-package-properties package)))
|
||||
"Return a manifest entry for the OUTPUT of package PACKAGE."
|
||||
;; For each dependency, keep a promise pointing to its "parent" entry.
|
||||
(letrec* ((deps (map (match-lambda
|
||||
((label package)
|
||||
(package->manifest-entry package
|
||||
#:parent (delay entry)))
|
||||
((label package output)
|
||||
(package->manifest-entry package output
|
||||
#:parent (delay entry))))
|
||||
(package-propagated-inputs package)))
|
||||
(letrec* ((deps (filter-map
|
||||
(match-lambda
|
||||
((label (? package? package))
|
||||
(package->manifest-entry package
|
||||
#:parent (delay entry)))
|
||||
((label (? package? package) output)
|
||||
(package->manifest-entry package output
|
||||
#:parent (delay entry)))
|
||||
(_
|
||||
#f))
|
||||
(package-propagated-inputs package)))
|
||||
(entry (manifest-entry
|
||||
(name (package-name package))
|
||||
(version (package-version package))
|
||||
|
|
|
|||
|
|
@ -521,6 +521,17 @@
|
|||
(manifest-entry-search-paths
|
||||
(package->manifest-entry mpl)))))
|
||||
|
||||
(test-assert "package->manifest-entry, origin in propagated inputs"
|
||||
;; See <https://codeberg.org/guix/guix/pulls/969>
|
||||
(let ((p1 (dummy-package "pkg"))
|
||||
(p2 (dummy-package "pkg"
|
||||
(propagated-inputs
|
||||
(list (package-source %bootstrap-guile)))))
|
||||
(package->manifest-entry-dependencies
|
||||
(compose manifest-entry-dependencies package->manifest-entry)))
|
||||
(and (null? (package->manifest-entry-dependencies p1))
|
||||
(null? (package->manifest-entry-dependencies p2)))))
|
||||
|
||||
(test-assert "packages->manifest, no duplicates"
|
||||
(let ((expected
|
||||
(manifest
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue