[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/05: import: print: Improve origin method name guesswork.
From: |
guix-commits |
Subject: |
02/05: import: print: Improve origin method name guesswork. |
Date: |
Thu, 25 Mar 2021 19:06:28 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit 96aa98b6ca78ffb798e309acac3c3e5068422f30
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Thu Mar 25 22:41:05 2021 +0100
import: print: Improve origin method name guesswork.
Fixes <https://bugs.gnu.org/47375>.
Reported by Léo Le Bouter <lle-bout@zaclys.net>.
* guix/import/print.scm (package->code): For METHOD, use 'variable-name'
preferably, and call 'procedure-name' as a last resort.
---
guix/import/print.scm | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/guix/import/print.scm b/guix/import/print.scm
index a2ab810..dcc38ab 100644
--- a/guix/import/print.scm
+++ b/guix/import/print.scm
@@ -79,7 +79,16 @@ when evaluated."
(file-name (origin-file-name source))
(patches (origin-patches source)))
`(origin
- (method ,(procedure-name method))
+ ;; Since 'procedure-name' returns the procedure name within the
+ ;; module where it's defined, not its public name. Thus, try hard to
+ ;; find its public name and use 'procedure-name' as a last resort.
+ (method ,(or (any (lambda (module)
+ (variable-name method module))
+ '((guix download)
+ (guix git-download)
+ (guix hg-download)
+ (guix svn-download)))
+ (procedure-name method)))
(uri (string-append ,@(match (factorize-uri uri version)
((? string? uri) (list uri))
(factorized factorized))))