[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#50755] [PATCH] import: Generate list of importers based on availabl
From: |
Sarah Morgensen |
Subject: |
[bug#50755] [PATCH] import: Generate list of importers based on available modules |
Date: |
Thu, 23 Sep 2021 11:07:40 -0700 |
Hello,
This looks like a good improvement! Thanks for submitting the patch.
Just reading ths, I have a couple comments.
pinoaffe <pinoaffe@airmail.cc> writes:
> * 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(-)
>
> 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))))
Prefer ice-9 'match'/'match-lambda' over 'car'/'cadr'/'caddr'/etc, or if
necessary, SRFI-1 'first', 'second', ..., 'last'.
> + (all-modules (map (lambda (entry)
> + `(,entry . "guix/import"))
should this be guix/scripts/import? ^
> + %load-path))))
>
> (define (resolve-importer name)
> (let ((module (resolve-interface
--
Sarah