guix build: 'package-with-source' no longer takes a 'store' parameter.
* guix/scripts/build.scm (<downloaded-file>): New record type. (download-to-store*): New variable. (compile-downloaded-file): New procedure. (package-with-source): Remove 'store' parameter. Use 'downloaded-file' instead of 'download-to-store'. (transform-package-source): Adjust accordingly.master
parent
48dec2e04e
commit
139c4ac199
|
@ -45,6 +45,7 @@
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (ice-9 vlist)
|
#:use-module (ice-9 vlist)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
|
#:use-module (srfi srfi-9)
|
||||||
#:use-module (srfi srfi-11)
|
#:use-module (srfi srfi-11)
|
||||||
#:use-module (srfi srfi-26)
|
#:use-module (srfi srfi-26)
|
||||||
#:use-module (srfi srfi-34)
|
#:use-module (srfi srfi-34)
|
||||||
|
@ -172,7 +173,25 @@ extensions."
|
||||||
(else
|
(else
|
||||||
file-name)))
|
file-name)))
|
||||||
|
|
||||||
(define* (package-with-source store p uri #:optional version)
|
|
||||||
|
;; Files to be downloaded.
|
||||||
|
(define-record-type <downloaded-file>
|
||||||
|
(downloaded-file uri recursive?)
|
||||||
|
downloaded-file?
|
||||||
|
(uri downloaded-file-uri)
|
||||||
|
(recursive? downloaded-file-recursive?))
|
||||||
|
|
||||||
|
(define download-to-store*
|
||||||
|
(store-lift download-to-store))
|
||||||
|
|
||||||
|
(define-gexp-compiler (compile-downloaded-file (file <downloaded-file>)
|
||||||
|
system target)
|
||||||
|
"Download FILE and return the result as a store item."
|
||||||
|
(match file
|
||||||
|
(($ <downloaded-file> uri recursive?)
|
||||||
|
(download-to-store* uri #:recursive? recursive?))))
|
||||||
|
|
||||||
|
(define* (package-with-source p uri #:optional version)
|
||||||
"Return a package based on P but with its source taken from URI. Extract
|
"Return a package based on P but with its source taken from URI. Extract
|
||||||
the new package's version number from URI."
|
the new package's version number from URI."
|
||||||
(let ((base (tarball-base-name (basename uri))))
|
(let ((base (tarball-base-name (basename uri))))
|
||||||
|
@ -183,8 +202,7 @@ the new package's version number from URI."
|
||||||
(package-version p)))
|
(package-version p)))
|
||||||
|
|
||||||
;; Use #:recursive? #t to allow for directories.
|
;; Use #:recursive? #t to allow for directories.
|
||||||
(source (download-to-store store uri
|
(source (downloaded-file uri #t))
|
||||||
#:recursive? #t))
|
|
||||||
|
|
||||||
;; Override the replacement, otherwise '--with-source' would
|
;; Override the replacement, otherwise '--with-source' would
|
||||||
;; have no effect.
|
;; have no effect.
|
||||||
|
@ -226,7 +244,7 @@ matching URIs given in SOURCES."
|
||||||
((? package? p)
|
((? package? p)
|
||||||
(match (assoc-ref sources (package-name p))
|
(match (assoc-ref sources (package-name p))
|
||||||
((version source)
|
((version source)
|
||||||
(package-with-source store p source version))
|
(package-with-source p source version))
|
||||||
(#f
|
(#f
|
||||||
p)))
|
p)))
|
||||||
(_
|
(_
|
||||||
|
|
Reference in New Issue