From fe5db4eb03ff55a7b5731bea57f813cb8a9e3d8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 26 Nov 2018 17:16:18 +0100 Subject: [PATCH] channels: Add 'checkout->channel-instance'. * guix/channels.scm (checkout->channel-instance): New procedure. --- guix/channels.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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.