guix-devel
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]