Hi, On mer., 08 mars 2023 at 16:09, Jonas Møller via Bug reports for GNU Guix <bug-guix@gnu.org> wrote:
>> ;;; Note: Only the latest versions of Rust are supported and tested. The >> ;;; intermediate rusts are built for bootstrapping purposes and should not >> ;;; be relied upon. This is to ease maintenance and reduce the time >> ;;; required to build the full Rust bootstrap chain. >> ;;; >> ;;; Here we take the latest included Rust, make it public, and re-enable >> tests >> ;;; and extra components such as rustfmt. > > And then proceeds to define-public rust as rust-1.60, and I was > wondering if there's any particular reason why a year-old version is > used rather than the 1.65 version. This seems like a mistake, given > that the comment claims that the "latest included Rust" should be made > public. Well, I know few about Rust and I guess it is because using ’rust-1.65’ as default Rust is a world-rebuild. --8<---------------cut here---------------start------------->8--- $ guix refresh rust -l | cut -f1 -d':' Building the following 4560 packages would ensure 6637 dependent packages are rebuilt --8<---------------cut here---------------end--------------->8--- > This is especially troublesome for Rust on Guix because of both how > fast its ecosystem moves onto new language/tooling features, and > because using rustup (the solution for this on other slow-moving > distros) relies on pre-built executables that don't work > out-of-the-box on Guix. Well, the issue when exporting ’rust-1.65’ is that it would possible incompatible with the Rust packages provided by Guix and compiled with ’rust’ (1.60). Maybe, one could imagine a package transformation ’package-with-explicit-rust’ as it is done for Python and OCaml. Cheers, simon