Conversation
Notices
-
Embed this notice
True… Let's package Rust crates instead 😈
CC: @icedquinn@blob.cat
-
Embed this notice
@m0xEE @newt :blobcat3c: actually kind of works
-
Embed this notice
@m0xEE @newt i vendor deps in my own projects. distros hate that because Reasons.
then they just do it anyway if the BDFL for that project has enough clout. :gutkato_paneas:
-
Embed this notice
It does, but critical packages come with vendored dependencies, for everything else you can keep a tree that you update yourself and build Rust software with "--frozen", so the build environment doesn't have do bring anything in on its own — for reproducibility's sake.
I think that's what xbps-src in Void does, packaging every crate individually would be overkill.
CC: @newt@stereophonic.space
-
Embed this notice
@m0xEE @newt rust doesn't have a stable ABI so it *can't* have shared deps.
the only problem i have with that is that some go software was discriminated against for the same reason. oh, but void-actual likes rust so they get a pass :ablobcateyeroll:
-
Embed this notice
Void's maintainers usually go great lengths so nothing gets built with vendored dependencies, but not with Rust. I think the problem stands for all modern languages — the modules are usually atomic and have short release cycle, complex enough software might use several different versions of the same crate — Cargo somehow resolves all this, but packaging these crates would be a too daunting process, doing the bare minimum to make builds reproducible seems like a nice trade-off to me 🤷
CC: @newt@stereophonic.space
-
Embed this notice
@m0xEE @newt i remember there were arguments about civilizing rust/cargo but i don't remember how they went.
i think mozilla just said they don't give a shit and everyone just went oh well
-
Embed this notice
AFAIK, in Void it's even recommended for users to use rustup to manage everything Rust they might need. Rust, Cargo and friends only get packaged themselves for the purposes of building distro packaged software written in Rust: alacritty, bottom, etc.
They don't package Rust crates for you to use them, so ABI doesn't matter of course. And yes, they don't do it like they do e.g. with Python modules — so yeah, Rust gets special treatment here.
CC: @newt@stereophonic.space