1. Rust version 1.22.1 released. I suggest to add it to Portage tree from this overlay: https://github.com/gentoo/gentoo-rust/tree/master/dev-lang/rust 2. cargo package is not needed for Rust >= 1.22.1: https://github.com/gentoo/gentoo-rust/blob/master/dev-lang/rust/rust-1.22.1.ebuild But the following packages in Gentoo Portage tree depend on cargo: - dev-util/rustfmt-0.6.3 (>=dev-util/cargo-0.13.0) - sys-apps/ripgrep-0.7.1 (>=dev-util/cargo-0.13.0) - www-client/firefox-57.0.1 (dev-util/cargo) I think cargo DEPEND/RDEPEND should be removed if dev-lang/rust >= 1.22.1 is installed in the system. For dev-lang/rust < 1.22.1 cargo DEPEND/RDEPEND should still exist for rustfmt, ripgrep, and firefox.
Similar issue: https://github.com/gentoo/gentoo-rust/issues/308 The workaround is proposed there.
Rust 1.22.1 seems to be latest stable version: https://www.rust-lang.org/en-US/ https://github.com/rust-lang/rust/releases
Current bug workaround: $ cat /etc/portage/profile/package.provided dev-util/cargo-0.21.0
Rust 1.23 is released. https://blog.rust-lang.org/2018/01/04/Rust-1.23.html
(In reply to Illia Sechin from comment #0) > 1. Rust version 1.22.1 released. I suggest to add it to Portage tree from > this overlay: > https://github.com/gentoo/gentoo-rust/tree/master/dev-lang/rust > You will need to modify it to inherit multiprocessing and change ${MAKEOPTS} to -j$(makeopts_jobs) It fails otherwise of MAKEOPTS has a -j specified.
(In reply to George L. Emigh from comment #5) > > You will need to modify it to inherit multiprocessing and change ${MAKEOPTS} > to -j$(makeopts_jobs) > > It fails otherwise of MAKEOPTS has a -j specified. why? it's working --- /tmp/portage/dev-lang/rust-1.23.0/work/rustc-1.23.0-src/build/bootstrap/debug/bootstrap build --verbose --config=/tmp/portage/dev-lang/rust-1.23.0/work/rustc-1.23.0-src/config.toml -j9 ---
It would be great to see the ebuild to honor MAKEOPTS from make.conf, for both the internal llvm build and the rust build. This is especially a problem for arm users, and for all machines with low levels of ram per job (!), because if you swap rust during compilation it will literally take forever to complete. Let alone doing a debug build.
Created attachment 513750 [details] rust-1.23.0.ebuild
I think there is something wrong with 1.22 ebuild: ... running: /var/tmp/portage/dev-lang/rust-1.22.1/work/rustc-1.22.1-src/build/bootstrap/debug/bootstrap build --verbose --config=/var/tmp/portage/dev-lang/rust-1.22.1/work/rustc-1.22.1-src/config.toml -j2 -l1.7 Unrecognized option: 'l' ... If rust's x.py does not understand all make options why are we passing it unchanged?
(In reply to Illia Sechin from comment #0) > 2. cargo package is not needed for Rust >= 1.22.1: > https://github.com/gentoo/gentoo-rust/blob/master/dev-lang/rust/rust-1.22.1. > ebuild > > But the following packages in Gentoo Portage tree depend on cargo: > > - dev-util/rustfmt-0.6.3 (>=dev-util/cargo-0.13.0) > - sys-apps/ripgrep-0.7.1 (>=dev-util/cargo-0.13.0) > - www-client/firefox-57.0.1 (dev-util/cargo) > > I think cargo DEPEND/RDEPEND should be removed if dev-lang/rust >= 1.22.1 is > installed in the system. For dev-lang/rust < 1.22.1 cargo DEPEND/RDEPEND > should still exist for rustfmt, ripgrep, and firefox. Maybe we need to create a bug "cargo dependepcy removal" for each package that depend on it?
Bug is obsolete and outdated. https://github.com/gentoo/gentoo-rust/tree/master/dev-lang/rust https://github.com/gentoo/gentoo/tree/master/dev-lang/rust So I close it.
Please close this bug as OBSOLETE.