summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/graph.scm2
-rw-r--r--tests/graph.scm10
2 files changed, 10 insertions, 2 deletions
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"