guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/07: import: Wrap package expressions with define-public.


From: guix-commits
Subject: 02/07: import: Wrap package expressions with define-public.
Date: Fri, 23 Feb 2024 14:51:40 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit a1d0610f830e1bf3573cac42ba4c013ed76accef
Author: Herman Rimm <herman@rimm.ee>
AuthorDate: Tue Feb 20 21:45:10 2024 +0100

    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>
---
 guix/scripts/import.scm | 14 +++++++++++---
 1 file 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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]