mv wrote:Hu wrote:If their core developers were not dead set on following packaging worst practices
It is best practice to write a general-purpose language compiler/interpreter in its own code.
The inability to build these packages without having already built them is only the beginning of what's wrong with them, although it is a major first step. Rust's "recommended" install instructions pushing people to curlpipesh is a good second step in case anyone was thinking about trusting them to treat packaging seriously.
mv wrote:AFAIK, both languages have public (open source) boot-strap procedures available, but it lies in the nature of things that they are cumbersome and something most people do not want to have on their usual machines: For go, AFAIK this is the GNU compiler collection go which bootstraps itself via the gcc compiler and has probably no much other purpose than being a bootsrap-compiler, and for rust this is rust-build. That gentoo does not optionally offer building by rust-build is a gentoo decision, I suppose.
I have never seen anyone mention rust-build, and the Rust recommended install instructions make no mention of it either. A search for
"rust-build" doesn't turn up anything with that name, but does lead to the Rust github page, which recommends a Python script that, by their own documentation, doesn't even have dependency tracking set up correctly:
https://rustc-dev-guide.rust-lang.org/building/how-to-build-and-run.html wrote:If you have already built rustc, then you may have to execute rm -rf build for subsequent configuration changes to take effect. Note that ./x.py clean will not cause a rebuild of LLVM, so if your configuration change affects LLVM, you will need to manually rm -rf build/ before rebuilding.
Later:
I will grant that the parenthetical note might, or might not, apply only to the dynamic libraries. If it does, then it's not clear where the current beta rustc compiler would come from.
From the readme, as rendered by the Github repository:
Since the Rust compiler is written in Rust, it must be built by a precompiled "snapshot" version of itself (made in an earlier stage of development). As such, source builds require a connection to the Internet, to fetch snapshots, and an OS that can execute the available snapshot binaries.
From that, I don't know what Gentoo could do that is meaningfully different from the current approach of depending on a rust-bin that is downloaded and used to compile the rust sources.