mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
guix build: Add '--with-input'.
* guix/scripts/build.scm (transform-package-inputs): New procedure. (%transformations): Add it. (%transformation-options, show-transformation-options-help): Add --with-input. * tests/scripts-build.scm ("options->transformation, with-input"): ("options->transformation, with-input, no matches"): New tests. * tests/guix-build.sh: Add tests. * doc/guix.texi (Package Transformation Options): Document it.
This commit is contained in:
parent
f0907d97d4
commit
47c0f92c37
4 changed files with 108 additions and 3 deletions
|
@ -22,6 +22,9 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix scripts build)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages busybox)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-64))
|
||||
|
||||
|
||||
|
@ -59,6 +62,26 @@
|
|||
(string-contains (get-output-string port)
|
||||
"had no effect"))))))
|
||||
|
||||
(test-assert "options->transformation, with-input"
|
||||
(let* ((p (dummy-package "guix.scm"
|
||||
(inputs `(("foo" ,coreutils)
|
||||
("bar" ,grep)
|
||||
("baz" ,(dummy-package "chbouib"
|
||||
(native-inputs `(("x" ,grep)))))))))
|
||||
(t (options->transformation '((with-input . "coreutils=busybox")
|
||||
(with-input . "grep=findutils")))))
|
||||
(with-store store
|
||||
(let ((new (t store p)))
|
||||
(and (not (eq? new p))
|
||||
(match (package-inputs new)
|
||||
((("foo" dep1) ("bar" dep2) ("baz" dep3))
|
||||
(and (eq? dep1 busybox)
|
||||
(eq? dep2 findutils)
|
||||
(string=? (package-name dep3) "chbouib")
|
||||
(match (package-native-inputs dep3)
|
||||
((("x" dep))
|
||||
(eq? dep findutils)))))))))))
|
||||
|
||||
(test-end)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue