aboutsummaryrefslogtreecommitdiff
path: root/guix/channels.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2018-11-29 15:56:49 +0100
committerMarius Bakke <mbakke@fastmail.com>2018-11-29 15:56:49 +0100
commit25ca46985ccb26880f98b479d2a3ac862b20006e (patch)
treeb52670028a36c5815f16311438c4c5f1f0f3e759 /guix/channels.scm
parente2b9ed7fcc019df290f0f5bbe221803efb031123 (diff)
parent7af6e5daa4ffb1bbda48a4e990815066f21bdadc (diff)
downloadgnu-guix-25ca46985ccb26880f98b479d2a3ac862b20006e.tar
gnu-guix-25ca46985ccb26880f98b479d2a3ac862b20006e.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'guix/channels.scm')
-rw-r--r--guix/channels.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/guix/channels.scm b/guix/channels.scm
index 82389eb583..e57da68149 100644
--- a/guix/channels.scm
+++ b/guix/channels.scm
@@ -47,6 +47,7 @@
channel-instance-checkout
latest-channel-instances
+ checkout->channel-instance
latest-channel-derivation
channel-instances->manifest
channel-instances->derivation))
@@ -114,6 +115,17 @@ CHANNELS."
(channel-instance channel commit checkout)))
channels))
+(define* (checkout->channel-instance checkout
+ #:key commit
+ (url checkout) (name 'guix))
+ "Return a channel instance for CHECKOUT, which is assumed to be a checkout
+of COMMIT at URL. Use NAME as the channel name."
+ (let* ((commit (or commit (make-string 40 #\0)))
+ (channel (channel (name name)
+ (commit commit)
+ (url url))))
+ (channel-instance channel commit checkout)))
+
(define %self-build-file
;; The file containing code to build Guix. This serves the same purpose as
;; a makefile, and, similarly, is intended to always keep this name.