1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 13:10:33 +02:00

build-system: cargo: Support packaging Cargo workspace.

* guix/build-system/cargo.scm (cargo-build, cargo-cross-build)
[#:cargo-package-crates]: New argument.
* guix/build/cargo-build-system.scm (package): Use it.
* doc/guix.texi (Build Systems)[cargo-build-system]: Document it.

Change-Id: I45ccd95e90827d47127015cb0bda2d41f792335b
This commit is contained in:
Hilton Chain
2025-02-27 19:58:04 +08:00
parent 5d294e2023
commit 878bdd7fb6
3 changed files with 30 additions and 2 deletions

View File

@@ -9576,6 +9576,13 @@ to create a source crate for future use. The @code{install} phase installs
the binaries defined by the crate. Unless @code{install-source? #f} is
defined it will also install a source crate repository of itself and unpacked
sources, to ease in future hacking on rust packages.
This build system supports cargo workspaces. Parameter
@code{#:cargo-package-crates} (default: @code{''()}) allows specifying names of
library crates to package in the @code{package} phase. Specified crates are
packaged from left to right, in case there's dependency among them. For
example, specifying @code{''("pcre2-sys" "pcre2")} will package
@code{"pcre2-sys"} first and then @code{"pcre2"}.
@end defvar
@defvar chicken-build-system