mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 13:10:33 +02:00
transformations: Git source transformations honour RECURSIVE?.
* guix/transformations.scm (package-git-url+recursive?): New variable. (package-git-url): Remove variable. (evaluate-git-replacement-specs): Use package-git-url+recursive?. (transform-package-source-branch, transform-package-source-commit, transform-package-source-git-url): Update according to changes above. * doc/guix.texi (Package Transformation Options): Update documentation. * tests/transformations.scm: Update tests. Add tests for RECURSIVE? inheritance with WITH-COMMIT and WITH-SOURCE. Change-Id: Id6a5e6957a9955c8173b06b3e14f2986c6dfc4bc Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
committed by
Ludovic Courtès
parent
63088c295d
commit
79bc4ebb33
@@ -217,8 +217,7 @@
|
||||
|
||||
(test-equal "options->transformation, with-branch"
|
||||
(git-checkout (url "https://example.org")
|
||||
(branch "devel")
|
||||
(recursive? #t))
|
||||
(branch "devel"))
|
||||
(let* ((p (dummy-package "guix.scm"
|
||||
(inputs `(("foo" ,grep)
|
||||
("bar" ,(dummy-package "chbouib"
|
||||
@@ -238,7 +237,53 @@
|
||||
(string=? (package-name dep2) "chbouib")
|
||||
(package-source dep2))))))))
|
||||
|
||||
(test-equal "options->transformation, with-branch, recursive? inheritance"
|
||||
(git-checkout (url "https://example.org")
|
||||
(branch "devel")
|
||||
(recursive? #t))
|
||||
(let* ((p (dummy-package "guix.scm"
|
||||
(inputs `(("foo" ,grep)
|
||||
("bar" ,(dummy-package "chbouib"
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://example.org")
|
||||
(commit "cabba9e")
|
||||
(recursive? #t)))
|
||||
(sha256 #f)))))))))
|
||||
(t (options->transformation '((with-branch . "chbouib=devel")))))
|
||||
(let ((new (t p)))
|
||||
(and (not (eq? new p))
|
||||
(match (package-inputs new)
|
||||
((("foo" dep1) ("bar" dep2))
|
||||
(and (string=? (package-full-name dep1)
|
||||
(package-full-name grep))
|
||||
(string=? (package-name dep2) "chbouib")
|
||||
(package-source dep2))))))))
|
||||
|
||||
(test-equal "options->transformation, with-commit"
|
||||
(git-checkout (url "https://example.org")
|
||||
(commit "abcdef"))
|
||||
(let* ((p (dummy-package "guix.scm"
|
||||
(inputs `(("foo" ,grep)
|
||||
("bar" ,(dummy-package "chbouib"
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://example.org")
|
||||
(commit "cabba9e")))
|
||||
(sha256 #f)))))))))
|
||||
(t (options->transformation '((with-commit . "chbouib=abcdef")))))
|
||||
(let ((new (t p)))
|
||||
(and (not (eq? new p))
|
||||
(match (package-inputs new)
|
||||
((("foo" dep1) ("bar" dep2))
|
||||
(and (string=? (package-full-name dep1)
|
||||
(package-full-name grep))
|
||||
(string=? (package-name dep2) "chbouib")
|
||||
(package-source dep2))))))))
|
||||
|
||||
(test-equal "options->transformation, with-commit, recursive? inheritance"
|
||||
(git-checkout (url "https://example.org")
|
||||
(commit "abcdef")
|
||||
(recursive? #t))
|
||||
@@ -249,7 +294,8 @@
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://example.org")
|
||||
(commit "cabba9e")))
|
||||
(commit "cabba9e")
|
||||
(recursive? #t)))
|
||||
(sha256 #f)))))))))
|
||||
(t (options->transformation '((with-commit . "chbouib=abcdef")))))
|
||||
(let ((new (t p)))
|
||||
|
||||
Reference in New Issue
Block a user