profiles: Move 'manifest-entry-dependencies' user after definition.

Reported by Efraim Flashner.

* guix/profiles.scm (manifest-transitive-entries): Move after
<manifest-entry> definition.
This commit is contained in:
Ludovic Courtès 2017-06-21 11:58:39 +02:00
parent 1804d21017
commit 2e2b5ad7bb
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -159,23 +159,6 @@ (define-record-type <manifest>
;; 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 @@ (define-record-type* <manifest-pattern> manifest-pattern
(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")))