profiles: Move 'manifest-entry-dependencies' user after definition.
Reported by Efraim Flashner. * guix/profiles.scm (manifest-transitive-entries): Move after <manifest-entry> definition.master
parent
1804d21017
commit
2e2b5ad7bb
|
@ -159,23 +159,6 @@
|
||||||
;; Convenient alias, to avoid name clashes.
|
;; Convenient alias, to avoid name clashes.
|
||||||
(define make-manifest manifest)
|
(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
|
(define-record-type* <manifest-entry> manifest-entry
|
||||||
make-manifest-entry
|
make-manifest-entry
|
||||||
manifest-entry?
|
manifest-entry?
|
||||||
|
@ -200,6 +183,23 @@ recursively."
|
||||||
(output manifest-pattern-output ; string | #f
|
(output manifest-pattern-output ; string | #f
|
||||||
(default "out")))
|
(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)
|
(define (profile-manifest profile)
|
||||||
"Return the PROFILE's manifest."
|
"Return the PROFILE's manifest."
|
||||||
(let ((file (string-append profile "/manifest")))
|
(let ((file (string-append profile "/manifest")))
|
||||||
|
|
Reference in New Issue