mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 13:10:33 +02: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:
@@ -384,14 +384,17 @@ file name."
|
|||||||
(properties (default-package-properties package)))
|
(properties (default-package-properties package)))
|
||||||
"Return a manifest entry for the OUTPUT of package PACKAGE."
|
"Return a manifest entry for the OUTPUT of package PACKAGE."
|
||||||
;; For each dependency, keep a promise pointing to its "parent" entry.
|
;; For each dependency, keep a promise pointing to its "parent" entry.
|
||||||
(letrec* ((deps (map (match-lambda
|
(letrec* ((deps (filter-map
|
||||||
((label package)
|
(match-lambda
|
||||||
(package->manifest-entry package
|
((label (? package? package))
|
||||||
#:parent (delay entry)))
|
(package->manifest-entry package
|
||||||
((label package output)
|
#:parent (delay entry)))
|
||||||
(package->manifest-entry package output
|
((label (? package? package) output)
|
||||||
#:parent (delay entry))))
|
(package->manifest-entry package output
|
||||||
(package-propagated-inputs package)))
|
#:parent (delay entry)))
|
||||||
|
(_
|
||||||
|
#f))
|
||||||
|
(package-propagated-inputs package)))
|
||||||
(entry (manifest-entry
|
(entry (manifest-entry
|
||||||
(name (package-name package))
|
(name (package-name package))
|
||||||
(version (package-version package))
|
(version (package-version package))
|
||||||
|
|||||||
@@ -521,6 +521,17 @@
|
|||||||
(manifest-entry-search-paths
|
(manifest-entry-search-paths
|
||||||
(package->manifest-entry mpl)))))
|
(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"
|
(test-assert "packages->manifest, no duplicates"
|
||||||
(let ((expected
|
(let ((expected
|
||||||
(manifest
|
(manifest
|
||||||
|
|||||||
Reference in New Issue
Block a user