~ruther/guix-local

2e2b5ad7bbf6cf693519e51500ad1cc7dce93ef5 — Ludovic Courtès 8 years ago 1804d21
profiles: Move 'manifest-entry-dependencies' user after definition.

Reported by Efraim Flashner.

* guix/profiles.scm (manifest-transitive-entries): Move after
<manifest-entry> definition.
1 files changed, 17 insertions(+), 17 deletions(-)

M guix/profiles.scm
M guix/profiles.scm => guix/profiles.scm +17 -17
@@ 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")))