[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
The rust:cargo output - why?
From: |
Jakub Kądziołka |
Subject: |
The rust:cargo output - why? |
Date: |
Thu, 23 Jul 2020 15:20:36 +0200 |
Hi Guix,
I have noticed that the procedure we use to install cargo to a separate
output in the Rust definition has started rebuilding quite a large part
of the compiler when the prefix is changed starting in Rust 1.34. I have
asked around, and upstream doesn't support any straightforward way of
installing cargo to a separate prefix:
https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Installing.20cargo.20with.20a.20different.20prefix
I have some hacks in mind that could allow us to keep installing cargo
into a separate output without the extra rebuild, such as building the
compiler with --keep-stage or installing cargo with a DESTDIR and
manually moving the files. However, none of these, including the current
solution, are without tradeoffs. This makes me wonder - why not put
cargo in :out?
In my experience with using Rust, cargo is an integral part of the
toolchain and I find it quite unlikely that anyone would find bare rustc
useful. Indeed, rust is depended upon explicitly by cargo-build-system,
icecat and icedove, and all of these also use the cargo output.
User-facing usage is even more likely to use cargo.
As such, I would like to suggest that we merge rust:out and rust:cargo
on staging.
`guix size rust rust:cargo` reports that the closure would increase from
600 to 700 MiB.
Thoughts?
Regards,
Jakub Kądziołka
signature.asc
Description: PGP signature
- The rust:cargo output - why?,
Jakub Kądziołka <=