mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
graph: Add "module" node type.
* guix/scripts/graph.scm (module-from-package)
(source-module-dependencies*): New procedures.
(%module-node-type): New variable.
(%node-types): Add it.
* guix/modules.scm (source-module-dependencies): Export.
* tests/graph.scm ("module graph"): New test.
* doc/guix.texi (Invoking guix graph): Document it.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@@ -271,6 +271,24 @@ edges."
|
||||
(list txt out))
|
||||
(equal? edges `((,txt ,out)))))))))))
|
||||
|
||||
(test-assert "module graph"
|
||||
(let-values (((backend nodes+edges) (make-recording-backend)))
|
||||
(run-with-store %store
|
||||
(export-graph '((gnu packages guile)) 'port
|
||||
#:node-type %module-node-type
|
||||
#:backend backend))
|
||||
|
||||
(let-values (((nodes edges) (nodes+edges)))
|
||||
(and (member '(gnu packages guile)
|
||||
(match nodes
|
||||
(((ids labels) ...) ids)))
|
||||
(->bool (and (member (list '(gnu packages guile)
|
||||
'(gnu packages libunistring))
|
||||
edges)
|
||||
(member (list '(gnu packages guile)
|
||||
'(gnu packages bdw-gc))
|
||||
edges)))))))
|
||||
|
||||
(test-assert "node-edges"
|
||||
(run-with-store %store
|
||||
(let ((packages (fold-packages cons '())))
|
||||
|
||||
Reference in New Issue
Block a user