Embed Notice
HTML Code
Corresponding Notice
- Embed this notice
anna (navi@social.vlhl.dev)'s status on Tuesday, 29-Oct-2024 09:30:15 JSTanna @puppygirlhornypost2 @julia @lizzy
cargo is the worst part of rust, and what pushed me away. packaging is hell, vendoring is everywhere, including vendoring of c libraries with no standard way to tell it to link against system libs (good luck going into build.rs and figuring out what this specific project chose to do) -- not to touch on how bad of an idea build.rs is into itself
and there's the npm effect, or the whole "async-runtime lockin", and so on
language-specific package managers are just a bad idea.
compare that with meson that not only natively supports both system and vendored (wrap-based cargo-like "download and build") dependencies, but it defaults to system ones unless you tell it not to, or the dependency is not on the system
meson also seamlessly work with C, C++, D, Fortran, Java, Rust-- so you can have a rust project in meson using c and c++ dependencies with nothing more than just `somec_dep = dependency('somec')`
that's how you make a good build system, by making it *build* things, not just a single specific language with crappy ways to integrate anything else
-- rust, great language, awful ecosystem
(p.s. this doesn't consider dynamic linking before anyone brings it up, you can have non-vendored statically-linked dependencies, and while not perfect, it's leagues better for packaging than vendoring stuff)