diff --git a/guix/scripts/graph.scm b/guix/scripts/graph.scm index 9d9eb2236c..dcc4701779 100644 --- a/guix/scripts/graph.scm +++ b/guix/scripts/graph.scm @@ -113,7 +113,7 @@ Dependencies may include packages, origin, and file names." (((labels things . outputs) ...) things))) ((origin? thing) - (cons (origin-patch-guile thing) + (cons (or (origin-patch-guile thing) (default-guile)) (if (or (pair? (origin-patches thing)) (origin-snippet thing)) (match (origin-patch-inputs thing) diff --git a/tests/graph.scm b/tests/graph.scm index daf64dc56d..4f85432d2f 100644 --- a/tests/graph.scm +++ b/tests/graph.scm @@ -150,7 +150,8 @@ edges." (let-values (((nodes edges) (nodes+edges))) (run-with-store %store (mlet %store-monad ((o* (lower-object o)) - (p* (lower-object p))) + (p* (lower-object p)) + (g (lower-object (default-guile)))) (return (and (find (match-lambda ((file "the-uri") #t) @@ -160,6 +161,13 @@ edges." ((source target) (and (string=? source (derivation-file-name p*)) (string=? target o*)))) + edges) + + ;; There must also be an edge from O to G. + (find (match-lambda + ((source target) + (and (string=? source o*) + (string=? target (derivation-file-name g))))) edges))))))))) (test-assert "derivation DAG"