aboutsummaryrefslogtreecommitdiff
path: root/guix/scripts
diff options
context:
space:
mode:
authorHerman Rimm <herman@rimm.ee>2024-02-20 21:45:10 +0100
committerLudovic Courtès <ludo@gnu.org>2024-02-23 19:00:58 +0100
commita1d0610f830e1bf3573cac42ba4c013ed76accef (patch)
tree1ab469d301ce32f7b36108edbe798007b47f3d6c /guix/scripts
parentbf746ae2586030ad70904c151ddd1f8ee6645926 (diff)
downloadguix-a1d0610f830e1bf3573cac42ba4c013ed76accef.tar
guix-a1d0610f830e1bf3573cac42ba4c013ed76accef.tar.gz
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>
Diffstat (limited to 'guix/scripts')
-rw-r--r--guix/scripts/import.scm14
1 files changed, 11 insertions, 3 deletions
diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm
index d2a1cee56e..77fcfe3990 100644
--- a/guix/scripts/import.scm
+++ b/guix/scripts/import.scm
@@ -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))