From 8b2119a5e4793cad1df1070d488a54ceea420840 Mon Sep 17 00:00:00 2001 From: itd Date: Fri, 23 Sep 2022 16:11:52 +0200 Subject: [PATCH] import: print: Quasiquote properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/import/print.scm (package->code): Quasiquote properties. * tests/print.scm (pkg-with-properties, pkg-with-properties-source): New variables. ("package with properties"): New test Signed-off-by: Ludovic Courtès --- guix/import/print.scm | 3 ++- tests/print.scm | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/guix/import/print.scm b/guix/import/print.scm index 66016145cb..2f54adbd8c 100644 --- a/guix/import/print.scm +++ b/guix/import/print.scm @@ -200,7 +200,8 @@ (define (inputs->code inputs) (source ,(source->code source version)) ,@(match properties (() '()) - (_ `((properties ,properties)))) + (_ `((properties + ,(list 'quasiquote (object->code properties #t)))))) ,@(if replacement `((replacement ,replacement)) '()) diff --git a/tests/print.scm b/tests/print.scm index d9710d1ed3..b4f193b905 100644 --- a/tests/print.scm +++ b/tests/print.scm @@ -139,6 +139,25 @@ (define-with-source pkg-with-arguments pkg-with-arguments-source (description "This is a dummy package.") (license license:gpl3+))) +(define-with-source pkg-with-properties pkg-with-properties-source + (package + (name "test") + (version "1.2.3") + (source (origin + (method url-fetch) + (uri (string-append "file:///tmp/test-" + version ".tar.gz")) + (sha256 + (base32 + "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah")))) + (properties + `((hidden? . #t) (upstream-name "test-upstream"))) + (build-system (@ (guix build-system gnu) gnu-build-system)) + (home-page "http://gnu.org") + (synopsis "Dummy") + (description "This is a dummy package.") + (license license:gpl3+))) + (test-equal "simple package" `(define-public test ,pkg-source) (package->code pkg)) @@ -159,4 +178,8 @@ (define-with-source pkg-with-arguments pkg-with-arguments-source `(define-public test ,pkg-with-arguments-source) (package->code pkg-with-arguments)) +(test-equal "package with properties" + `(define-public test ,pkg-with-properties-source) + (package->code pkg-with-properties)) + (test-end "print")