(address . guix-patches@gnu.org)
* guix/scripts/import.scm (importers): Generate a list of all importers by
looping over available guile modules, allowing for extensibility.
---
guix/scripts/import.scm | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
Toggle diff (29 lines)
diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm
index 40fa6759ae..44cbaf13d6 100644
--- a/guix/scripts/import.scm
+++ b/guix/scripts/import.scm
@@ -23,6 +23,7 @@
(define-module (guix scripts import)
#:use-module (guix ui)
+ #:use-module (guix discovery)
#:use-module (guix scripts)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
@@ -78,9 +79,11 @@ rather than \\n."
;;; Entry point.
;;;
-(define importers '("gnu" "pypi" "cpan" "hackage" "stackage" "egg" "elpa"
- "gem" "go" "cran" "crate" "texlive" "json" "opam"
- "minetest"))
+(define importers (map (lambda (module)
+ (symbol->string (caddr (module-name module))))
+ (all-modules (map (lambda (entry)
+ `(,entry . "guix/import"))
+ %load-path))))
(define (resolve-importer name)
(let ((module (resolve-interface
--
2.32.0