Remix.run Logo
AceJohnny2 3 hours ago

Rust, following Go's footsteps, has made it very easy to distribute-and-compile from source. They've taken all the pain out of the compiling-from-source pipeline, through "go build" or "cargo build"

Meanwhile, distributions sometimes maintain their plodding rate at package updates (usually handled by distribution volunteers, not the original program's developers), which was developed in an era when building from source was a tedious process where the distribution volunteers provided value.

In effect, build-from-source has taken over "just use the distribution package".

skydhash 11 minutes ago | parent | next [-]

The reason for the rate of updates is isially for one reason: Trust and Stability. Instead of trusting a myriad people all over the world to do their job well, I trust one team to ensure that all the tools I need do run well.

And in the Unix world, build from source can be pretty easy. When it’s hard, it’s usually the project’s fault (Firefox, Electron,..).

smartmic an hour ago | parent | prev | next [-]

The reason I was put off by Rust was compiling from source. I experimented with a ports collection package management system similar to those used in BSD a while ago, and every time a Rust program needed to be compiled, I could go to sleep; no, basically rendering the system unusable. It was like the dependency abyss of NPM combined with the worst possible compile times, even worse than C++.

CSSer 2 hours ago | parent | prev [-]

Okay, but where do you put it? I mean, yes, I know there's /usr/local/bin and /opt/bin, but why do I have to compile then mv it myself? It's a small paper cut. Does cargo or go have a global build command? That would be a nice all-in-one. And why should I have to download the source code if, honestly, I don't care as long as it works? Nah, I don't think build from source has taken over at all. It's 2025 and I use a package manager (or three) on every major operating system across multiple languages. It's because, as a vendor experience, I can one-line and use just about anything.

dwattttt 2 hours ago | parent [-]

If you have the Rust toolchain installed, installing is as simple as e.g.:

  cargo install ripgrep
which will result in ripgrep being downloaded, compiled, and copied to a per user directory that's included on PATH as part of the toolchain.

EDIT: Which is what I'm doing right now for a few of these that caught my eye.