[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
26/29: packages: 'expand-input' accepts any file-like object.
From: |
guix-commits |
Subject: |
26/29: packages: 'expand-input' accepts any file-like object. |
Date: |
Mon, 8 Mar 2021 06:24:55 -0500 (EST) |
civodul pushed a commit to branch wip-build-systems-gexp
in repository guix.
commit 9a31cd7b529038ede61d21fa1b4762e77c895da9
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sun Mar 7 14:40:03 2021 +0100
packages: 'expand-input' accepts any file-like object.
* guix/packages.scm (expand-input)[valid?]: Remove.
Call 'file-like?' instead of 'valid?'. Remove 'struct?' clause.
* tests/packages.scm ("&package-input-error"): Adjust accordingly.
---
guix/packages.scm | 12 ++----------
tests/packages.scm | 2 +-
2 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/guix/packages.scm b/guix/packages.scm
index 54a33c6..1fa507c 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -1206,13 +1206,10 @@ Return the cached result when available."
(define* (expand-input package input #:key native?)
"Expand INPUT, an input tuple, to a name/<gexp-input> tuple. PACKAGE is
only used to provide contextual information in exceptions."
- (define (valid? x)
- (or (package? x) (origin? x) (derivation? x)))
-
(match input
- (((? string? name) (? valid? thing))
+ (((? string? name) (? file-like? thing))
(list name (gexp-input thing #:native? native?)))
- (((? string? name) (? valid? thing) (? string? output))
+ (((? string? name) (? file-like? thing) (? string? output))
(list name (gexp-input thing output #:native? native?)))
(((? string? name)
(and (? string?) (? file-exists? file)))
@@ -1221,11 +1218,6 @@ only used to provide contextual information in
exceptions."
;; source.
(list name (gexp-input (local-file file #:recursive? #t)
#:native? native?)))
- (((? string? name) (? struct? source))
- ;; 'package-source-derivation' calls 'lower-object', which can throw
- ;; '&gexp-input-error'. However '&gexp-input-error' lacks source
- ;; location info, so we used to catch and rethrow here (FIXME!).
- (list name (gexp-input source)))
(x
(raise (condition (&package-input-error
(package package)
diff --git a/tests/packages.scm b/tests/packages.scm
index f68b078..97c4c17 100644
--- a/tests/packages.scm
+++ b/tests/packages.scm
@@ -744,7 +744,7 @@
(let ((dummy (dummy-package "foo" (inputs `(("x" ,(current-module)))))))
(test-equal "&package-input-error"
- (list dummy (current-module))
+ (list dummy `("x" ,(current-module)))
(guard (c ((package-input-error? c)
(list (package-error-package c)
(package-error-invalid-input c))))
- 10/29: gexp: Reduce allocations while traversing lists., (continued)
- 10/29: gexp: Reduce allocations while traversing lists., guix-commits, 2021/03/08
- 20/29: build-system: Use 'sexp->gexp' for plain sexps., guix-commits, 2021/03/08
- 21/29: build-system: Use 'input-tuples->gexp' and 'outputs->gexp'., guix-commits, 2021/03/08
- 02/29: store: Micro-optimize object cache lookup., guix-commits, 2021/03/08
- 28/29: grafts: Add 'without-grafting'., guix-commits, 2021/03/08
- 29/29: gexp: Allowed/disallowed references and graphs never refer to grafted inputs., guix-commits, 2021/03/08
- 14/29: build-system: Rewrite using gexps., guix-commits, 2021/03/08
- 15/29: packages: Turn 'bag->derivation' into a monadic procedure., guix-commits, 2021/03/08
- 16/29: packages: Simplify patch instantiation., guix-commits, 2021/03/08
- 25/29: tests: Refer to '%derivation-cache' in the right module., guix-commits, 2021/03/08
- 26/29: packages: 'expand-input' accepts any file-like object.,
guix-commits <=
- 17/29: packages: Core procedures are written in monadic style., guix-commits, 2021/03/08
- 19/29: gexp: Add 'sexp->gexp'., guix-commits, 2021/03/08
- 05/29: gexp: Micro-optimize sexp serialization., guix-commits, 2021/03/08
- 12/29: gexp: Add 'with-build-variables'., guix-commits, 2021/03/08
- 18/29: packages: Default origin 'patch-flags' is a gexp., guix-commits, 2021/03/08
- 22/29: gexp: Honor #:target in 'compiled-modules'., guix-commits, 2021/03/08
- 23/29: packages: '%standard-patch-inputs' is not influenced by '%current-target-system'., guix-commits, 2021/03/08
- 24/29: download: 'url-fetch/tarbomb' and 'url-fetch/zipbomb' refer to native tools., guix-commits, 2021/03/08
- 27/29: packages: Call 'bag-grafts' only on the tip of the package graph., guix-commits, 2021/03/08