@@ -6,6 +6,7 @@
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
+;;; Copyright © 2024 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,6 +24,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix scripts import)
+ #:use-module (guix import utils)
#:use-module (guix ui)
#:use-module (guix scripts)
#:use-module (guix read-print)
@@ -88,17 +90,23 @@ (define-command (guix-import . args)
(leave-on-EPIPE
(pretty-print-with-comments (current-output-port) expr)))))
(match (apply (resolve-importer importer) args)
- ((and expr (or ('package _ ...)
- ('let _ ...)
+ ((and expr ('package _ ...))
+ (print (package->definition expr)))
+ ((and expr (or ('let _ ...)
('define-public _ ...)))
(print expr))
((? list? expressions)
(for-each (lambda (expr)
- (print expr)
- ;; Two newlines: one after the closing paren, and
- ;; one to leave a blank line.
- (newline) (newline))
- expressions))
+ (match expr
+ ((and expr ('package _ ...))
+ (print (package->definition expr)))
+ ((and expr (or ('let _ ...)
+ ('define-public _ ...)))
+ (print expr)))
+ ;; Two newlines: one after the closing paren, and
+ ;; one to leave a blank line.
+ (newline) (newline))
+ expressions))
(x
(leave (G_ "'~a' import failed~%") importer))))
(let ((hint (string-closest importer importers #:threshold 3)))