guix-commits
[Top][All Lists]
Advanced

[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))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]