build: cargo-build-system: Don't try to package when skipping build.
* guix/build/cargo-build-system.scm (package): If the package isn't going to be built then use the source instead.
This commit is contained in:
parent
59fffe7738
commit
1963daf94c
@ -210,12 +210,28 @@ directory = '" port)
|
|||||||
#t))
|
#t))
|
||||||
|
|
||||||
(define* (package #:key
|
(define* (package #:key
|
||||||
|
source
|
||||||
|
skip-build?
|
||||||
install-source?
|
install-source?
|
||||||
(cargo-package-flags '("--no-metadata" "--no-verify"))
|
(cargo-package-flags '("--no-metadata" "--no-verify"))
|
||||||
#:allow-other-keys)
|
#:allow-other-keys)
|
||||||
"Run 'cargo-package' for a given Cargo package."
|
"Run 'cargo-package' for a given Cargo package."
|
||||||
(if install-source?
|
(if install-source?
|
||||||
(apply invoke `("cargo" "package" ,@cargo-package-flags))
|
(if skip-build?
|
||||||
|
(begin
|
||||||
|
(install-file source "target/package")
|
||||||
|
(with-directory-excursion "target/package"
|
||||||
|
(for-each
|
||||||
|
(lambda (file)
|
||||||
|
(make-file-writable file)
|
||||||
|
;; Strip the hash and replace '.tar.gz' with '.crate'.
|
||||||
|
(rename-file file
|
||||||
|
(string-append (string-drop-right
|
||||||
|
(string-drop file 35)
|
||||||
|
(string-length ".tar.gz"))
|
||||||
|
".crate")))
|
||||||
|
(find-files "." "\\.tar\\.gz$"))))
|
||||||
|
(apply invoke `("cargo" "package" ,@cargo-package-flags)))
|
||||||
(format #t "Not installing cargo sources, skipping `cargo package`.~%"))
|
(format #t "Not installing cargo sources, skipping `cargo package`.~%"))
|
||||||
#t)
|
#t)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user