summary refs log tree commit diff
diff options
context:
space:
mode:
authoritd <itd@net.in.tum.de>2022-09-23 16:11:52 +0200
committerLudovic Courtès <ludo@gnu.org>2022-09-29 22:59:48 +0200
commit8b2119a5e4793cad1df1070d488a54ceea420840 (patch)
treedc9820c2197c9967ef3ed8c4f1ed299206d682a8
parent61bd7bf4690329a10e0a1d3fd1425a73d1823576 (diff)
downloadguix-8b2119a5e4793cad1df1070d488a54ceea420840.tar.gz
import: print: Quasiquote properties
* 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 <ludo@gnu.org>
-rw-r--r--guix/import/print.scm3
-rw-r--r--tests/print.scm23
2 files changed, 25 insertions, 1 deletions
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 @@ when evaluated."
          (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 @@
     (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-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")