diff options
author | Leo Famulari <leo@famulari.name> | 2017-01-13 10:21:17 -0500 |
---|---|---|
committer | Leo Famulari <leo@famulari.name> | 2017-01-13 10:21:17 -0500 |
commit | cc0725914e74c4c4dec369f3e7cdb6f201b3fecd (patch) | |
tree | e68b452ed625a2db8ed10914fb0968fdc36c655d /guix/scripts/import.scm | |
parent | a25b6880f1398ad36aea1d0e4e4105936a8b7e70 (diff) | |
parent | ce195ba12277ec4286ad0d8ddf7294655987ea9d (diff) |
Merge branch 'master' into python-tests
Diffstat (limited to 'guix/scripts/import.scm')
-rw-r--r-- | guix/scripts/import.scm | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index e54744feca..4d07e0fd69 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -73,7 +73,7 @@ rather than \\n." ;;; Entry point. ;;; -(define importers '("gnu" "nix" "pypi" "cpan" "hackage" "elpa" "gem" "cran")) +(define importers '("gnu" "nix" "pypi" "cpan" "hackage" "elpa" "gem" "cran" "crate")) (define (resolve-importer name) (let ((module (resolve-interface @@ -107,10 +107,17 @@ Run IMPORTER with ARGS.\n")) (show-version-and-exit "guix import")) ((importer args ...) (if (member importer importers) - (match (apply (resolve-importer importer) args) - ((and expr ('package _ ...)) - (pretty-print expr (newline-rewriting-port - (current-output-port)))) - (x - (leave (_ "'~a' import failed~%") importer))) + (let ((print (lambda (expr) + (pretty-print expr (newline-rewriting-port + (current-output-port)))))) + (match (apply (resolve-importer importer) args) + ((and expr ('package _ ...)) + (print expr)) + ((? list? expressions) + (for-each (lambda (expr) + (print expr) + (newline)) + expressions)) + (x + (leave (_ "'~a' import failed~%") importer)))) (leave (_ "~a: invalid importer~%") importer))))) |