civodul pushed a commit to branch master
in repository guix.
commit 1df54ceab38873dfc0fd2ec27313d7d17c79c350
Author: Ludovic Courtès <[email protected]>
AuthorDate: Fri Apr 21 16:27:07 2023 +0200
packages: 'package-direct-sources' correctly handles non-origin sources.
Previously 'package-direct-sources' would trigger a wrong-type-arg error
when passed a package whose 'source' is not an origin, such as
'ruby-sorbet-runtime'.
* guix/packages.scm (package-direct-sources): Call 'expand' if and only
if (package-source package) is an origin.
---
guix/packages.scm | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/guix/packages.scm b/guix/packages.scm
index bce82ab3a3..e26602d589 100644
--- a/guix/packages.scm
+++ b/guix/packages.scm
@@ -1234,11 +1234,14 @@ input list."
"Return all source origins associated with PACKAGE; including origins in
PACKAGE's inputs and patches."
(define (expand source)
- (cons
- source
- (filter origin? (origin-patches source))))
+ (cons source
+ (filter origin? (origin-patches source))))
- `(,@(or (and=> (package-source package) expand) '())
+ `(,@(match (package-source package)
+ ((? origin? origin)
+ (expand origin))
+ (_
+ '()))
,@(filter-map (match-lambda
((_ (? origin? orig) _ ...)
orig)