From da675305ddf2ba574e309e515d18ae1f778297be Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 15 Jun 2016 10:38:46 +0200 Subject: packages: The 'source' can be any lowerable object. * guix/packages.scm (expand-input): Use 'struct?' instead of 'origin?' when matching SOURCE. (package-source-derivation): Use 'lower-object' instead of 'origin->derivation'. * tests/packages.scm ("package-source-derivation, local-file"): New test. * doc/guix.texi (package Reference): Update 'source' documentation accordingly. --- guix/packages.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'guix/packages.scm') diff --git a/guix/packages.scm b/guix/packages.scm index 1e816179a6..05a632cf05 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -792,7 +792,7 @@ information in exceptions." ;; store path, it needs to be added anyway, so it can be used as a ;; source. (list name (intern file))) - (((? string? name) (? origin? source)) + (((? string? name) (? struct? source)) (list name (package-source-derivation store source system))) (x (raise (condition (&package-input-error @@ -1161,12 +1161,12 @@ cross-compilation target triplet." (origin->derivation origin system)) (define package-source-derivation ;somewhat deprecated - (let ((lower (store-lower origin->derivation))) + (let ((lower (store-lower lower-object))) (lambda* (store source #:optional (system (%current-system))) "Return the derivation or file corresponding to SOURCE, which can be an - or a file name. When SOURCE is a file name, return either the -interned file name (if SOURCE is outside of the store) or SOURCE itself (if -SOURCE is already a store item.)" +a file name or any object handled by 'lower-object', such as an . +When SOURCE is a file name, return either the interned file name (if SOURCE is +outside of the store) or SOURCE itself (if SOURCE is already a store item.)" (match source ((and (? string?) (? direct-store-path?) file) file) -- cgit v1.2.3