5 ms·
For Debian at least, cargo isn't even in stable yet AFAIK. And even then, having the compiler and package manager available is a step along the way, but insuff
by ZoFreX 9y ago
For Debian at least, cargo isn't even in stable yet AFAIK.
And even then, having the compiler and package manager available is a step along the way, but insufficient. Anything non-trivial depends on libraries, which with C programs are typically also packages... which for my project means I need to create 73 Debian packages to distribute my software. That's a big hurdle.
- steveklabnik 9y agoI thought it made the cutoff. I could be wrong. I was more worried about 1.15, which did get missed, ugh. Debian has made a tool, "debcargo", to automatically turn crates from crates.io into Debian packages, so it should be "just run this tool." I have not used it myself though.
- ZoFreX 9y agoI think it's fair to say that anyone releasing software written in Rust on Debian right now has extra work to do, and is likely to be treading new ground.
- steveklabnik 9y agoTotally! That's far different than "no major package manager accepting or even ready to accept programs written in Rust yet", though. Oh, I thought of something better than just the compiler: https://github.com/burntsushi/ripgrep#installation https://github.com/burntsushi/ripgrep#installation * homebrew * chocolatey * arch * gentoo * fedora * RHEL/CentOS * Nix All have at least one Rust program packaged :)
- marcosdumay 9y agoIs it really harder than making autotools work? Anyone releasing software in C, Python, Haskell, Ruby, Lisp, or whatever language has extra work to do. I don't think there's any sizeable difference between any of them.
- cyphar 9y agoThe biggest problem is that distributions have their own build systems and cargo just doesn't fit in a variety of different ways (not to mention projects that pin nightly compilers). Distributions such as Fedora and openSUSE need to have a package for everything installed on the system (and everything required to build said packages). Now take into account the you can have multiple versions of the same library in a single rust project. While you could handle all of this on paper, automating it and putting it all into every distributon's build system is a very big task. Ruby has similar problems, NodeJS is even worse than Ruby in this respect but I believe that Rust might make this the hardest for distributions. Personally I've never liked cargo that much as a user either, but as someone who works on openSUSE and was thinking about packaging rust packages I decided against it. It's just far too difficult and I'm not convinced it's worth the effort, since it feels like people have forgotten the reason why distributions exist in the first place (to provide a cohesive experience and provide you seamless management of your software). Having a shiny new package manager for every language just makes life difficult for everyone involved.
- steveklabnik 9y ago> The biggest problem is that distributions have their own build systems and cargo just doesn't fit in a variety of different ways Fixing that is a big focus of this year https://github.com/rust-lang/rust-roadmap/issues/12 https://github.com/rust-lang/rust-roadmap/issues/12
- deleted 9y ago[deleted]