[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/02: build: cargo-build-system: Don't try to package when skipping bui
From: |
guix-commits |
Subject: |
01/02: build: cargo-build-system: Don't try to package when skipping build. |
Date: |
Wed, 10 Nov 2021 12:58:50 -0500 (EST) |
efraim pushed a commit to branch wip-rust
in repository guix.
commit 32d8ab65eefd2967554be2c24c689cc7fc0afbc4
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Wed Nov 10 19:48:12 2021 +0200
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.
---
guix/build/cargo-build-system.scm | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/guix/build/cargo-build-system.scm
b/guix/build/cargo-build-system.scm
index 0a95672..464ef2a 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -209,12 +209,26 @@ directory = '" port)
#t))
(define* (package #:key
+ source
+ skip-build?
install-source?
(cargo-package-flags '("--no-metadata" "--no-verify"))
#:allow-other-keys)
"Run 'cargo-package' for a given Cargo package."
(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)
+ (rename-file file
+ (string-append (string-drop-right
+ (string-drop file 35)
+ 7) ".crate")))
+ (find-files "." "\\.tar\\.gz"))))
+ (apply invoke `("cargo" "package" ,@cargo-package-flags)))
(format #t "Not installing cargo sources, skipping `cargo package`.~%"))
#t)