summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-01-10 21:37:48 +0100
committerLudovic Courtès <ludo@gnu.org>2021-02-01 17:32:35 +0100
commit1b88b7bad297a97bbbe5334eacb501aadc8ddf8a (patch)
treed1d51bc39b10ee2cb91bad7d7c37d43463d2e737
parenta47f16a874356ca6a1459176561ec7e66c00ba19 (diff)
downloadguix-1b88b7bad297a97bbbe5334eacb501aadc8ddf8a.tar.gz
guix describe: Use 'manifest-entry-channel'.
* guix/channels.scm (manifest-entry-channel): Export.
* guix/scripts/describe.scm (display-profile-content): Use it.
-rw-r--r--guix/channels.scm1
-rw-r--r--guix/scripts/describe.scm30
2 files changed, 13 insertions, 18 deletions
diff --git a/guix/channels.scm b/guix/channels.scm
index 6449221c3f..743b4a25b7 100644
--- a/guix/channels.scm
+++ b/guix/channels.scm
@@ -91,6 +91,7 @@
             ensure-forward-channel-update
 
             profile-channels
+            manifest-entry-channel
 
             channel-news-entry?
             channel-news-entry-commit
diff --git a/guix/scripts/describe.scm b/guix/scripts/describe.scm
index c3667516eb..b7ec029ba8 100644
--- a/guix/scripts/describe.scm
+++ b/guix/scripts/describe.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
 ;;;
@@ -237,23 +237,17 @@ way and displaying details about the channel's source code."
               (format #t "  ~a ~a~%"
                       (manifest-entry-name entry)
                       (manifest-entry-version entry))
-              (match (assq 'source (manifest-entry-properties entry))
-                (('source ('repository ('version 0)
-                                       ('url url)
-                                       ('branch branch)
-                                       ('commit commit)
-                                       _ ...))
-                 (let ((channel (channel (name 'nameless)
-                                         (url url)
-                                         (branch branch)
-                                         (commit commit))))
-                   (format #t (G_ "    repository URL: ~a~%") url)
-                   (when branch
-                     (format #t (G_ "    branch: ~a~%") branch))
-                   (format #t (G_ "    commit: ~a~%")
-                           (if (supports-hyperlinks?)
-                               (channel-commit-hyperlink channel commit)
-                               commit))))
+              (match (manifest-entry-channel entry)
+                ((? channel? channel)
+                 (format #t (G_ "    repository URL: ~a~%")
+                         (channel-url channel))
+                 (when (channel-branch channel)
+                   (format #t (G_ "    branch: ~a~%")
+                           (channel-branch channel)))
+                 (format #t (G_ "    commit: ~a~%")
+                         (if (supports-hyperlinks?)
+                             (channel-commit-hyperlink channel)
+                             (channel-commit channel))))
                 (_ #f)))
 
             ;; Show most recently installed packages last.