[Pkg-rust-maintainers] Bug#1057736: rust-src: Ship Cargo.lock to enable "cargo -Z build-std" usecase
Jonathan Neuschäfer
j.neuschaefer at gmx.net
Thu Dec 7 19:01:41 GMT 2023
Package: cargo
Version: 0.66.0+ds1-1
Severity: wishlist
Cargo has a new (nightly) feature, build-std[1], which rebuilds the
standard library along with the target crate. This is especially useful
when cross-compiling, as Debian doesn't ship the standard library
pre-built for other architectures.
This requires Cargo.lock, not just Cargo.toml in the rust source
directory, but the rust-src Debian package only contains Cargo.toml
right now[2].
## Potential downsides of shipping Cargo.toml
- cargo -Z build-std is currently a nightly feature, and the rust
toolchain in Debian is not nightly, so build-std is only usable with
some tricks[3].
- However, I think it wouldn't do harm to include Cargo.lock in the
package.
[1]: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#build-std
[2]: https://salsa.debian.org/rust-team/rust/-/blob/debian/sid/debian/rust-src.install?ref_type=heads
[3]: RUSTC_BOOTSTRAP=1 tricks cargo into allowing nightly features,
RUSTFLAGS=-Clinker=arm-linux-gnueabi-gcc appears to be necessary as well
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.5.0-4-amd64 (SMP w/12 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages cargo depends on:
ii binutils 2.41.50.20231202-1
ii clang 1:16.0-57
ii clang-14 [c-compiler] 1:14.0.6-16
ii clang-16 [c-compiler] 1:16.0.6-19
ii gcc [c-compiler] 4:13.2.0-2
ii gcc-11 [c-compiler] 11.4.0-5
ii gcc-12 [c-compiler] 12.3.0-11
ii gcc-13 [c-compiler] 13.2.0-7
ii libc6 2.37-12
ii libcurl3-gnutls 8.4.0-2
ii libgcc-s1 13.2.0-7
ii libgit2-1.5 1.5.1+ds-1
ii libssh2-1 1.11.0-3
ii libssl3 3.0.11-1
ii rustc 1.70.0+dfsg1-1
ii zlib1g 1:1.2.13.dfsg-3
cargo recommends no packages.
Versions of packages cargo suggests:
pn cargo-doc <none>
ii python3 3.11.4-5+b1
-- no debconf information
More information about the Pkg-rust-maintainers
mailing list