mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-18 21:46:35 +01:00
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.
This commit is contained in:
parent
83bdaf3150
commit
e7477dd59b
2 changed files with 3 additions and 11 deletions
|
@ -1213,13 +1213,10 @@ (define-syntax cached
|
|||
(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)))
|
||||
|
@ -1228,11 +1225,6 @@ (define (valid? x)
|
|||
;; 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)
|
||||
|
|
|
@ -744,7 +744,7 @@ (define compressors '(("gzip" . "gz")
|
|||
|
||||
(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))))
|
||||
|
|
Loading…
Reference in a new issue