packages: 'origin->derivation' expects an origin and nothing else.
* guix/packages.scm (origin->derivation): Rename 'source' parameter to 'origin'. Move cases where SOURCE is a string to... (package-source-derivation): ... here.
This commit is contained in:
parent
5257ab6de2
commit
789510640d
|
@ -1129,12 +1129,10 @@ cross-compilation target triplet."
|
||||||
(package->cross-derivation package target system)
|
(package->cross-derivation package target system)
|
||||||
(package->derivation package system)))
|
(package->derivation package system)))
|
||||||
|
|
||||||
(define* (origin->derivation source
|
(define* (origin->derivation origin
|
||||||
#:optional (system (%current-system)))
|
#:optional (system (%current-system)))
|
||||||
"When SOURCE is an <origin> object, return its derivation for SYSTEM. When
|
"Return the derivation corresponding to ORIGIN."
|
||||||
SOURCE is a file name, return either the interned file name (if SOURCE is
|
(match origin
|
||||||
outside of the store) or SOURCE itself (if SOURCE is already a store item.)"
|
|
||||||
(match source
|
|
||||||
(($ <origin> uri method sha256 name (= force ()) #f)
|
(($ <origin> uri method sha256 name (= force ()) #f)
|
||||||
;; No patches, no snippet: this is a fixed-output derivation.
|
;; No patches, no snippet: this is a fixed-output derivation.
|
||||||
(method uri 'sha256 sha256 name #:system system))
|
(method uri 'sha256 sha256 name #:system system))
|
||||||
|
@ -1155,18 +1153,24 @@ outside of the store) or SOURCE itself (if SOURCE is already a store item.)"
|
||||||
#:system system
|
#:system system
|
||||||
#:modules modules
|
#:modules modules
|
||||||
#:imported-modules modules
|
#:imported-modules modules
|
||||||
#:guile-for-build guile)))
|
#:guile-for-build guile)))))
|
||||||
((and (? string?) (? direct-store-path?) file)
|
|
||||||
(with-monad %store-monad
|
|
||||||
(return file)))
|
|
||||||
((? string? file)
|
|
||||||
(interned-file file (basename file)
|
|
||||||
#:recursive? #t))))
|
|
||||||
|
|
||||||
(define-gexp-compiler (origin-compiler (origin origin?) system target)
|
(define-gexp-compiler (origin-compiler (origin origin?) system target)
|
||||||
;; Compile ORIGIN to a derivation for SYSTEM. This is used when referring
|
;; Compile ORIGIN to a derivation for SYSTEM. This is used when referring
|
||||||
;; to an origin from within a gexp.
|
;; to an origin from within a gexp.
|
||||||
(origin->derivation origin system))
|
(origin->derivation origin system))
|
||||||
|
|
||||||
(define package-source-derivation
|
(define package-source-derivation ;somewhat deprecated
|
||||||
(store-lower origin->derivation))
|
(let ((lower (store-lower origin->derivation)))
|
||||||
|
(lambda* (store source #:optional (system (%current-system)))
|
||||||
|
"Return the derivation or file corresponding to SOURCE, which can be an
|
||||||
|
<origin> 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.)"
|
||||||
|
(match source
|
||||||
|
((and (? string?) (? direct-store-path?) file)
|
||||||
|
file)
|
||||||
|
((? string? file)
|
||||||
|
(add-to-store store (basename file) #t "sha256" file))
|
||||||
|
(_
|
||||||
|
(lower store source system))))))
|
||||||
|
|
Loading…
Reference in New Issue