4 ms·
Binary releases seem uncommon from my perspective. Every time I go to install a piece of software written in Rust from homebrew, it invariably starts installing
by vkoskiv 5y ago
Binary releases seem uncommon from my perspective. Every time I go to install a piece of software written in Rust from homebrew, it invariably starts installing some massive Rust toolchain as a dependency, at which point I give up and move on.
Maybe it's a case of the packagers taking a lazy route or something, or maybe there is a reason for depending on cargo. I have no idea.
- indemnity 5y agoDo you have some specific examples? E.g. ripgrep is packaged on most operating systems I have used, along with exa, and a few other Rust utils I use. I certainly do not use Cargo to install them.
- vkoskiv 5y agoPerhaps the packagers on your platform went that extra mile to build binary packages. Taking a quick look, the Homebrew formula[0] for ripgrep on macOS just lists a dependency on Cargo (rust) and then seems to invoke the cargo command for installation. I'm not well versed in Ruby though, so my interpretation could be wrong. I don't want to come off as entitled, either. I know the Homebrew folks are doing a ton of brilliant, ongoing work to make it work as well as it does, so I can't really blame them for potentially taking a shortcut here. [0] https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/ripgrep.rb https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/...
- burntsushi 5y agoIf it installs a bottle, then does it still require installing Rust? If so, then maybe that's a shortcoming of Homebrew. Either way, it kinda seems like you're complaining about Homebrew here. Not Rust. If having Cargo/Rust on your system is really a Hard No (...why?), then I guess find a package manager that only delivers whatever is necessary, or, if available, use the project's binary releases: https://github.com/BurntSushi/ripgrep/releases/tag/13.0.0 https://github.com/BurntSushi/ripgrep/releases/tag/13.0.0 And actually, in the case of ripgrep, it provides a Homebrew tap that specifically uses the GitHub release binary: https://github.com/BurntSushi/ripgrep/blob/master/pkg/brew/ripgrep-bin.rb https://github.com/BurntSushi/ripgrep/blob/master/pkg/brew/r...
- Macha 5y agoIsn't homebrew specifically supposed to build from source? e.g. the example on the homepage of a recipe is running ./configure && make on wget. The fact that you installed the XCode CLI tools for that wget example to work when you first installed homebrew because homebrew itself requires it, and you only get Cargo the first time you get a rust dependency seems to be what you're really complaining about.
- vkoskiv 5y agoHomebrew tries to install binaries by default. (They call them bottles) Building from source happens if a suitable 'bottle' isn't available, or when `--build-from-source` is specified with the install command. I know cargo is installed only once, but I don't want cargo. I don't build Rust software myself, so I don't want to have it hanging out on my system taking up space purely just so I can have one or two useful programs that were written in Rust and depend on it. I'll just go with some other alternative.