[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/03: channels: Add 'latest-channel-instance'.
From: |
guix-commits |
Subject: |
01/03: channels: Add 'latest-channel-instance'. |
Date: |
Thu, 7 May 2020 04:09:51 -0400 (EDT) |
civodul pushed a commit to branch core-updates
in repository guix.
commit 4ba425060a9d000f54bbab99d17a2f23b277c623
Author: Ludovic Courtès <address@hidden>
AuthorDate: Wed May 6 22:18:52 2020 +0200
channels: Add 'latest-channel-instance'.
* guix/channels.scm (latest-channel-instance): New procedure.
(latest-channel-instances): Use it.
---
guix/channels.scm | 32 ++++++++++++++++++--------------
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/guix/channels.scm b/guix/channels.scm
index 041fae2..4ffc366 100644
--- a/guix/channels.scm
+++ b/guix/channels.scm
@@ -199,6 +199,14 @@ description file or its default value."
channel INSTANCE."
(channel-metadata-dependencies (channel-instance-metadata instance)))
+(define (latest-channel-instance store channel)
+ "Return the latest channel instance for CHANNEL."
+ (let-values (((checkout commit)
+ (latest-repository-commit store (channel-url channel)
+ #:ref (channel-reference
+ channel))))
+ (channel-instance channel commit checkout)))
+
(define* (latest-channel-instances store channels #:optional
(previous-channels '()))
"Return a list of channel instances corresponding to the latest checkouts of
CHANNELS and the channels on which they depend. PREVIOUS-CHANNELS is a list
@@ -224,20 +232,16 @@ of previously processed channels."
(G_ "Updating channel '~a' from Git repository at
'~a'...~%")
(channel-name channel)
(channel-url channel))
- (let-values (((checkout commit)
- (latest-repository-commit store (channel-url
channel)
- #:ref
(channel-reference
- channel))))
- (let ((instance (channel-instance channel commit
checkout)))
- (let-values (((new-instances new-channels)
- (latest-channel-instances
- store
- (channel-instance-dependencies instance)
- previous-channels)))
- (values (append (cons channel new-channels)
- previous-channels)
- (append (cons instance new-instances)
- instances))))))))
+ (let ((instance (latest-channel-instance store channel)))
+ (let-values (((new-instances new-channels)
+ (latest-channel-instances
+ store
+ (channel-instance-dependencies instance)
+ previous-channels)))
+ (values (append (cons channel new-channels)
+ previous-channels)
+ (append (cons instance new-instances)
+ instances)))))))
previous-channels
'() ;instances
channels))