summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-05-11 22:42:59 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-05-11 22:42:59 -0400
commitb7cbca221f74e9e9ef43c228dca9fa9930babec5 (patch)
tree33d0c1b2ae9a09a6e50652f61cdb16c7ba5d9003 /guix
parentc80627731bc100baa4b6c5d265df5465cee9498e (diff)
parentfb5d04d36334784a5ac76c4a90de1e1376120885 (diff)
downloadguix-patches-b7cbca221f74e9e9ef43c228dca9fa9930babec5.tar
guix-patches-b7cbca221f74e9e9ef43c228dca9fa9930babec5.tar.gz
Merge branch 'version-1.3.0'
Diffstat (limited to 'guix')
-rw-r--r--guix/describe.scm17
-rw-r--r--guix/scripts/describe.scm9
2 files changed, 21 insertions, 5 deletions
diff --git a/guix/describe.scm b/guix/describe.scm
index 0683ad8a27..711b7b4290 100644
--- a/guix/describe.scm
+++ b/guix/describe.scm
@@ -122,15 +122,24 @@ lives in, or the empty list if this is not applicable."
(mlambda ()
"Return the list of channels currently available, including the 'guix'
channel. Return the empty list if this information is missing."
+ (define (build-time-metadata)
+ (match (channel-metadata)
+ (#f '())
+ (sexp (or (and=> (sexp->channel sexp 'guix) list) '()))))
+
(match (current-profile-entries)
(()
;; As a fallback, if we're not running from a profile, use 'guix'
;; channel metadata from (guix config).
- (match (channel-metadata)
- (#f '())
- (sexp (or (and=> (sexp->channel sexp 'guix) list) '()))))
+ (build-time-metadata))
(entries
- (filter-map manifest-entry-channel entries)))))
+ (match (filter-map manifest-entry-channel entries)
+ (()
+ ;; This profile lacks provenance metadata, so fall back to
+ ;; build-time metadata as returned by 'channel-metadata'.
+ (build-time-metadata))
+ (lst
+ lst))))))
(define (package-path-entries)
"Return two values: the list of package path entries to be added to the
diff --git a/guix/scripts/describe.scm b/guix/scripts/describe.scm
index b5f6249176..a3e3338f7e 100644
--- a/guix/scripts/describe.scm
+++ b/guix/scripts/describe.scm
@@ -301,4 +301,11 @@ text. The hyperlink links to a web view of COMMIT, when available."
(channels
(display-profile-info #f format channels))))
(profile
- (display-profile-info (canonicalize-profile profile) format))))))
+ ;; For the current profile, resort to 'current-channels', which has a
+ ;; fallback to metadata from (guix config) in case PROFILE lacks it.
+ (let ((channels (if (and (current-profile)
+ (string=? profile (current-profile)))
+ (current-channels)
+ (profile-channels profile))))
+ (display-profile-info (canonicalize-profile profile)
+ format channels)))))))