aboutsummaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-03-21 23:38:04 +0100
committerLudovic Courtès <ludo@gnu.org>2024-04-05 18:21:23 +0200
commitd6a3818761736449a27eb44938537798f6f4e85b (patch)
tree9e5d4ca5bcd21bb7ea1c34a6be9059ba84b88af8 /guix
parent69b8feabcf838ce935e914db653e275c0c4f562f (diff)
downloadguix-d6a3818761736449a27eb44938537798f6f4e85b.tar
guix-d6a3818761736449a27eb44938537798f6f4e85b.tar.gz
build-system/channel: Add support for additional channels.
Until now, ‘channel-build-system’ would assume a single channel, the ‘guix’ channel. This change lets users specify additional channels using the #:channels parameter. * guix/build-system/channel.scm (build-channels): Add #:channels and honor it. (channel-build-system): In ‘lower’, add #:channels and honor it. * doc/guix.texi (Build Systems): Document it. Change-Id: I36c1d19cbeee02a4d1144de089b78df0390774a0
Diffstat (limited to 'guix')
-rw-r--r--guix/build-system/channel.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/guix/build-system/channel.scm b/guix/build-system/channel.scm
index 6ad377f930..0607dcf4d7 100644
--- a/guix/build-system/channel.scm
+++ b/guix/build-system/channel.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019-2022 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2019-2022, 2024 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +37,7 @@
(define* (build-channels name inputs
#:key source system commit
+ (channels '())
(authenticate? #t)
#:allow-other-keys)
(mlet* %store-monad ((instances
@@ -44,7 +45,7 @@
(return (list source)))
((channel? source)
(latest-channel-instances*
- (list source)
+ (cons source channels)
#:authenticate? authenticate?))
((string? source)
;; If SOURCE is a store file name, as is the
@@ -64,12 +65,14 @@
(define channel-build-system
;; Build system used to "convert" a channel instance to a package.
(let ((lower (lambda* (name #:key system source commit (authenticate? #t)
+ (channels '())
#:allow-other-keys)
(bag
(name name)
(system system)
(build build-channels)
(arguments `(#:source ,source
+ #:channels ,channels
#:authenticate? ,authenticate?
#:commit ,commit))))))
(build-system (name 'channel)