[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/09: import: print: Properly render packages with origins as inputs.
From: |
guix-commits |
Subject: |
03/09: import: print: Properly render packages with origins as inputs. |
Date: |
Wed, 10 Nov 2021 18:24:55 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit 04d929570ad816793d7e0024a11314124ce87f98
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri Oct 29 21:51:39 2021 +0200
import: print: Properly render packages with origins as inputs.
* guix/import/print.scm (package->code)[source->code]: Check whether
VERSION is true before calling 'factorize-uri'.
[package-lists->code]: Add clause for inputs that are origins.
* tests/print.scm (pkg-with-origin-input, pkg-with-origin-input-source):
New variables.
("package with origin input"): New test.
---
guix/import/print.scm | 14 +++++++++-----
tests/print.scm | 28 ++++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 5 deletions(-)
diff --git a/guix/import/print.scm b/guix/import/print.scm
index 0310739..8acf5d5 100644
--- a/guix/import/print.scm
+++ b/guix/import/print.scm
@@ -89,9 +89,11 @@ when evaluated."
(guix hg-download)
(guix svn-download)))
(procedure-name method)))
- (uri (string-append ,@(match (factorize-uri uri version)
- ((? string? uri) (list uri))
- (factorized factorized))))
+ (uri ,(if version
+ `(string-append ,@(match (factorize-uri uri version)
+ ((? string? uri) (list uri))
+ (factorized factorized)))
+ uri))
,(if (equal? (content-hash-algorithm hash) 'sha256)
`(sha256 (base32 ,(bytevector->nix-base32-string
(content-hash-value hash))))
@@ -109,7 +111,7 @@ when evaluated."
(map (match-lambda
((? symbol? s)
(list (symbol->string s) (list 'unquote s)))
- ((label pkg . out)
+ ((label (? package? pkg) . out)
(let ((mod (package-module-name pkg)))
(cons* label
;; FIXME: using '@ certainly isn't pretty, but it
@@ -117,7 +119,9 @@ when evaluated."
;; modules.
(list 'unquote
(list '@ mod (variable-name pkg mod)))
- out))))
+ out)))
+ ((label (? origin? origin))
+ (list label (list 'unquote (source->code origin #f)))))
lsts)))
(let ((name (package-name package))
diff --git a/tests/print.scm b/tests/print.scm
index 3386590..ad19f45 100644
--- a/tests/print.scm
+++ b/tests/print.scm
@@ -67,6 +67,30 @@
(description "This is a dummy package.")
(license license:gpl3+)))
+(define-with-source pkg-with-origin-input pkg-with-origin-input-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 (@ (guix build-system gnu) gnu-build-system))
+ (inputs
+ `(("o" ,(origin
+ (method url-fetch)
+ (uri "http://example.org/somefile.txt")
+ (sha256
+ (base32
+ "0000000000000000000000000000000000000000000000000000"))))))
+ (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))
@@ -75,4 +99,8 @@
`(define-public test ,pkg-with-inputs-source)
(package->code pkg-with-inputs))
+(test-equal "package with origin input"
+ `(define-public test ,pkg-with-origin-input-source)
+ (package->code pkg-with-origin-input))
+
(test-end "print")
- branch master updated (650dcc1 -> 5592058), guix-commits, 2021/11/10
- 01/09: import: pypi: Allow imports of a specific version., guix-commits, 2021/11/10
- 08/09: gnu: poetry: Update to 1.1.11., guix-commits, 2021/11/10
- 04/09: import: print: Correctly handle URI lists., guix-commits, 2021/11/10
- 07/09: gnu: python-poetry-core: Update to 1.0.7., guix-commits, 2021/11/10
- 09/09: gnu: Add python-wand., guix-commits, 2021/11/10
- 03/09: import: print: Properly render packages with origins as inputs.,
guix-commits <=
- 02/09: import: cran: Allow imports of a specific version., guix-commits, 2021/11/10
- 05/09: import: print: Handle patches that are origins., guix-commits, 2021/11/10
- 06/09: import: print: Replace packages and origins in 'arguments'., guix-commits, 2021/11/10