How does Packaging Currently Work?

I come from openSUSE where we actually vendor our Rust dependencies instead of creating a seperate package for each dependency. This makes packaging much less of a hassle as I don’t need to package a morbillion dependencies just to package some Rust-based application.

One thing I wish is for more distros to adopt this way of packaging for other languages besides just Rust. On openSUSE we have a pandoc package that pulls in a lot of Haskell libraries which the user also has to install. It would be far better if on openSUSE we instead just made a single binary just like what we do for Rust.

How is it like over at Auxolotl right now?

Generally in Nixpkgs, this is how it already tends to be done across most languages - as far as I’m aware, no language SIG has any intention to change this (I can safely say I’m not interested in changing that for Javascript, at least).

1 Like

if you’re familiar with nix, it’s the same

now assuming you’re not

I come from openSUSE where we actually vendor our Rust dependencies instead of creating a seperate package for each dependency

we also do this

One thing I wish is for more distros to adopt this way of packaging for other languages besides just Rust.

this is already done for most languages that prefer to vendor dependencies – like rust as i said before, go, or js. this won’t work for all languages though, especially older ones like C where vendoring dependencies is far from the norm. i think it’s also important to note the security and efficiency issues with vendoring dependencies across the board

nix does make package-level vendoring much easier though, as due to the nature of store paths, you can basically have infinite versions of a package installed at once. if you want to learn more, i would recommend reading this blogpost

2 Likes

Oh yay this seems like the right place for me then.
Now I no longer have to have nightmares over packaging 12 lua libraries just to package a single Lua app : D

5 Likes

…well for that example specifically

4 Likes