channels: Provide a hint when the 'guix' channel is lacking.
authorLudovic Courtès <ludo@gnu.org>
Thu, 9 Jan 2020 10:21:31 +0000 (11:21 +0100)
committerLudovic Courtès <ludo@gnu.org>
Thu, 9 Jan 2020 22:33:04 +0000 (23:33 +0100)
Fixes <https://bugs.gnu.org/39043>.
Reported by Jesse Gibbons <jgibbons2357@gmail.com>.

* guix/channels.scm (channel-instance-derivations): Raise '&fix-hint'
condition in addition to the '&message' condition.

guix/channels.scm

index 826ee72..f0261dc 100644 (file)
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;;
@@ -36,7 +36,8 @@
   #:use-module (guix i18n)
   #:use-module ((guix utils)
                 #:select (source-properties->location
-                          &error-location))
+                          &error-location
+                          &fix-hint))
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-2)
   #:use-module (srfi srfi-9)
@@ -457,6 +458,9 @@ INSTANCES."
       (raise (apply make-compound-condition
                     (condition
                      (&message (message "'guix' channel is lacking")))
+                    (condition
+                     (&fix-hint (hint (G_ "Make sure your list of channels
+contains one channel named @code{guix} providing the core of Guix."))))
                     (if loc
                         (list (condition (&error-location (location loc))))
                         '())))))