diff options
-rw-r--r-- | guix/profiles.scm | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/guix/profiles.scm b/guix/profiles.scm index 9858ec7b35..0c70975f7e 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm @@ -159,23 +159,6 @@ ;; Convenient alias, to avoid name clashes. (define make-manifest manifest) -(define (manifest-transitive-entries manifest) - "Return the entries of MANIFEST along with their propagated inputs, -recursively." - (let loop ((entries (manifest-entries manifest)) - (result '()) - (visited (set))) ;compare with 'equal?' - (match entries - (() - (reverse result)) - ((head . tail) - (if (set-contains? visited head) - (loop tail result visited) - (loop (append (manifest-entry-dependencies head) - tail) - (cons head result) - (set-insert head visited))))))) - (define-record-type* <manifest-entry> manifest-entry make-manifest-entry manifest-entry? @@ -200,6 +183,23 @@ recursively." (output manifest-pattern-output ; string | #f (default "out"))) +(define (manifest-transitive-entries manifest) + "Return the entries of MANIFEST along with their propagated inputs, +recursively." + (let loop ((entries (manifest-entries manifest)) + (result '()) + (visited (set))) ;compare with 'equal?' + (match entries + (() + (reverse result)) + ((head . tail) + (if (set-contains? visited head) + (loop tail result visited) + (loop (append (manifest-entry-dependencies head) + tail) + (cons head result) + (set-insert head visited))))))) + (define (profile-manifest profile) "Return the PROFILE's manifest." (let ((file (string-append profile "/manifest"))) |