Hi Ludo! > Given the work that has gone into these Rust patches, I think it would > be nice to apply them and possibly document any shortcoming or future > work items.
I went over all your previous emails and fixed your previous comments. Those aren't part of the new patch series yet... In summary those changes are: * add (supported-systems '("x86_64-linux") * Improve rustc-bootstrap, cargo-bootstrap and rust-bootstrap synopsis and description * add crate updater to table in guix.texi * add Eric to the rust.scm file Some unanswered questions: guix size of rust-bootstrap shows a size of zero. Are propagated inputs not part of this measurement? Now there are two different gcc:lib's in the dependency graph of rustc-bootstrap. Can I use the system gcc:lib? Does gcc "lib" need to be added to %final-inputs in commencement.scm? To build rustc i686 and x86_64 with the same binary, rustc-bootstrap needs to find the 32bit glibc dynamic linker. How do I get a 32bit glibc for that? What needs to be done: * the updater patch needs to be looked at. it fixed the packages not updating, I need to find out why that was and/or if it still is the case. * Crate names need to be saved as a property and propagated to the build system when the crate name contains underscores. * Put crate source in OUT/share/rust-source/PACKAGE-VERSION * Cargo build system should not do anything if there isn't a Cargo.lock file except copy the source to out. * Finish the recursive importer. The recursive importer should use the Cargo.lock file to get the right package versions as rust-PACKAGENAME-VERSION. If a crate doesn't have a Cargo.lock only import the latest version non-recursively as rust-PACKAGENAME. * Get cargo to build * Make the updater update package versions recursively * Improve cargo bootstrapping story. Hope I didn't forget anything... David