summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-06-07 22:49:47 +0200
committerLudovic Courtès <ludo@gnu.org>2019-06-07 22:49:47 +0200
commitc0a4db66976dc63decbd612aafb934f44629e321 (patch)
treeca31854b3a100c47ab50f9a9f0035ad651439038
parentd998902214df0a177591541db60e8f9f406a239b (diff)
import: print: Honor the outputs of inputs (!).
Fixes <http://bugs.gnu.org/35893>. Reported by Jesse Gibbons <jgibbons2357@gmail.com>. * guix/import/print.scm (package->code)[package-lists->code]: Preserve OUT in the result. * tests/print.scm (define-with-source): New macro. (pkg): Use it. (pkg-source): New variable. (pkg-with-inputs, pkg-with-inputs-source): New variables. ("simple package"): Refer to 'pkg-source'. ("package with inputs"): New test.
-rw-r--r--guix/import/print.scm13
-rw-r--r--tests/print.scm48
2 files changed, 38 insertions, 23 deletions
diff --git a/guix/import/print.scm b/guix/import/print.scm
index 0bec32c8dc..4c2a91fa4f 100644
--- a/guix/import/print.scm
+++ b/guix/import/print.scm
@@ -94,12 +94,13 @@ when evaluated."
(map (match-lambda
((label pkg . out)
(let ((mod (package-module-name pkg)))
- (list label
- ;; FIXME: using '@ certainly isn't pretty, but it
- ;; avoids having to import the individual package
- ;; modules.
- (list 'unquote
- (list '@ mod (variable-name pkg mod)))))))
+ (cons* label
+ ;; FIXME: using '@ certainly isn't pretty, but it
+ ;; avoids having to import the individual package
+ ;; modules.
+ (list 'unquote
+ (list '@ mod (variable-name pkg mod)))
+ out))))
lsts)))
(let ((name (package-name package))
diff --git a/tests/print.scm b/tests/print.scm
index 305807c1d1..d4b2cca93f 100644
--- a/tests/print.scm
+++ b/tests/print.scm
@@ -24,9 +24,31 @@
#:use-module (guix licenses)
#:use-module (srfi srfi-64))
+(define-syntax-rule (define-with-source object source expr)
+ (begin
+ (define object expr)
+ (define source 'expr)))
+
(test-begin "print")
-(define pkg
+(define-with-source pkg pkg-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"))))
+ (build-system gnu-build-system)
+ (home-page "http://gnu.org")
+ (synopsis "Dummy")
+ (description "This is a dummy package.")
+ (license gpl3+)))
+
+(define-with-source pkg-with-inputs pkg-with-inputs-source
(package
(name "test")
(version "1.2.3")
@@ -38,27 +60,19 @@
(base32
"070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
(build-system gnu-build-system)
+ (inputs `(("coreutils" ,(@ (gnu packages base) coreutils))
+ ("glibc" ,(@ (gnu packages base) glibc) "debug")))
(home-page "http://gnu.org")
(synopsis "Dummy")
(description "This is a dummy package.")
(license gpl3+)))
(test-equal "simple package"
- (package->code pkg)
- '(package
- (name "test")
- (version "1.2.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "file:///tmp/test-"
- version ".tar.gz"))
- (sha256
- (base32
- "070pwb7brdcn1mfvplkd56vjc7lbz4iznzkqvfsakvgbv68k71ah"))))
- (build-system gnu-build-system)
- (home-page "http://gnu.org")
- (synopsis "Dummy")
- (description "This is a dummy package.")
- (license gpl3+)))
+ pkg-source
+ (package->code pkg))
+
+(test-equal "package with inputs"
+ pkg-with-inputs-source
+ (package->code pkg-with-inputs))
(test-end "print")