~ruther/guix-local

2ca0b957f2b971f30d89d23a3a90d4eb73cd771f — Hilton Chain 1 year, 2 months ago 6094090
scripts: import: Pass "--insert" to importers.

So that importers can adjust the file before inserting.

* guix/scripts/import.scm (%standard-import-options): Add ‘--file-to-insert’.
(guix-import): Pass it to importers when ‘--insert’ is set.

Change-Id: I8e7a18ee8e0f96d7fc5688a207a7a5390ad2fa30
1 files changed, 15 insertions(+), 2 deletions(-)

M guix/scripts/import.scm
M guix/scripts/import.scm => guix/scripts/import.scm +15 -2
@@ 25,12 25,15 @@

(define-module (guix scripts import)
  #:use-module (guix import utils)
  #:use-module (guix diagnostics)
  #:use-module (guix i18n)
  #:use-module (guix ui)
  #:use-module (guix scripts)
  #:use-module (guix read-print)
  #:use-module (guix utils)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-26)
  #:use-module (srfi srfi-37)
  #:use-module (ice-9 format)
  #:use-module (ice-9 match)
  #:export (%standard-import-options


@@ 41,7 44,14 @@
;;; Command line options.
;;;

(define %standard-import-options '())
(define %standard-import-options
  (list
   ;; Hidden option for importer-specific file preprocessing.
   (option '("file-to-insert") #f #t
           (lambda (opt name arg result)
             (if (file-exists? arg)
                 (alist-cons 'file-to-insert arg result)
                 (leave (G_ "file '~a' does not exist~%") arg))))))


;;;


@@ 152,7 162,10 @@ PROC callback."
                        (newline port)
                        (newline port)
                        (close-port port)))))))))
       (import-as-definitions importer args find-and-insert)))
       (import-as-definitions importer
                              (cons (string-append "--file-to-insert=" file)
                                    args)
                              find-and-insert)))
    ((importer args ...)
     (let ((print (lambda (expr)
                    (leave-on-EPIPE