import: Wrap package expressions with define-public.
* guix/scripts/import.scm (guix-import): Wrap package expressions. Change-Id: Ic4d986a4706a692b2fecd6fded8ac72ab6311687 Signed-off-by: Ludovic Courtès <ludo@gnu.org>master
parent
bf746ae258
commit
a1d0610f83
|
@ -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)
|
||||
|
@ -89,12 +91,18 @@ Run IMPORTER with ARGS.\n"))
|
|||
(pretty-print-with-comments (current-output-port) expr)))))
|
||||
(match (apply (resolve-importer importer) args)
|
||||
((and expr (or ('package _ ...)
|
||||
('let _ ...)
|
||||
('define-public _ ...)))
|
||||
('let _ ...)))
|
||||
(print (package->definition expr)))
|
||||
((and expr ('define-public _ ...))
|
||||
(print expr))
|
||||
((? list? expressions)
|
||||
(for-each (lambda (expr)
|
||||
(print expr)
|
||||
(match expr
|
||||
((and expr (or ('package _ ...)
|
||||
('let _ ...)))
|
||||
(print (package->definition expr)))
|
||||
((and expr ('define-public _ ...))
|
||||
(print expr)))
|
||||
;; Two newlines: one after the closing paren, and
|
||||
;; one to leave a blank line.
|
||||
(newline) (newline))
|
||||
|
|
Reference in New Issue