[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
04/05: size: Pass 'requisites' a list of items.
From: |
Ludovic Courtès |
Subject: |
04/05: size: Pass 'requisites' a list of items. |
Date: |
Tue, 24 May 2016 21:53:34 +0000 (UTC) |
civodul pushed a commit to branch master
in repository guix.
commit 92ed837a1eaa0e921e17497e262a6da510323726
Author: Ludovic Courtès <address@hidden>
Date: Tue May 24 23:41:30 2016 +0200
size: Pass 'requisites' a list of items.
* guix/scripts/size.scm (substitutable-requisites): Change 'item' to
'items' and adjust.
(requisites*): Likewise.
(mappend-map): Remove.
(store-profile): Adjust accordingly.
---
guix/scripts/size.scm | 23 ++++++++---------------
1 file changed, 8 insertions(+), 15 deletions(-)
diff --git a/guix/scripts/size.scm b/guix/scripts/size.scm
index c9725ae..f28832c 100644
--- a/guix/scripts/size.scm
+++ b/guix/scripts/size.scm
@@ -97,10 +97,10 @@ if ITEM is not in the store."
(define display-profile*
(lift display-profile %store-monad))
-(define (substitutable-requisites store item)
- "Return the list of requisites of ITEM based on information available in
+(define (substitutable-requisites store items)
+ "Return the list of requisites of ITEMS based on information available in
substitutes."
- (let loop ((items (list item))
+ (let loop ((items items)
(result '()))
(match items
(()
@@ -114,27 +114,20 @@ substitutes."
(append (append-map substitutable-references info)
result)))))))
-(define (requisites* item)
+(define (requisites* items)
"Return as a monadic value the requisites of ITEMS, based either on the
information available in the local store or using information about
substitutes."
(lambda (store)
(guard (c ((nix-protocol-error? c)
- (values (substitutable-requisites store item)
+ (values (substitutable-requisites store items)
store)))
- (values (requisites store (list item)) store))))
-
-(define (mappend-map mproc lst)
- "Apply MPROC to each item of LST and concatenate the resulting list."
- (with-monad %store-monad
- (>>= (mapm %store-monad mproc lst)
- (lambda (lstlst)
- (return (concatenate lstlst))))))
+ (values (requisites store items) store))))
(define (store-profile items)
"Return as a monadic value a list of <profile> objects representing the
profile of ITEMS and their requisites."
- (mlet* %store-monad ((refs (>>= (mappend-map requisites* items)
+ (mlet* %store-monad ((refs (>>= (requisites* items)
(lambda (refs)
(return (delete-duplicates
(append items refs))))))
@@ -145,7 +138,7 @@ profile of ITEMS and their requisites."
(return (cons item size)))))
refs)))
(define (dependency-size item)
- (mlet %store-monad ((deps (requisites* item)))
+ (mlet %store-monad ((deps (requisites* (list item))))
(foldm %store-monad
(lambda (item total)
(return (+ (assoc-ref sizes item) total)))