Debian Packaging

Hi! I’m wondering if there are any plans, efforts, or concerns about packaging Iced in Debian?

What do you mean by packaging iced in debian?

How would that work and what advantages would it bring.

Debian already distributes many Rust libraries, mainly used as dependencies of other applications also distributed by Debian which are written in Rust. An app which is built with Iced could be shipped by Debian with a dependency on librust-iced, for example. I don’t know of any efforts to address this, but usually this responsibility falls on the hands of external maintainers (probably with more knowledge of the packaging requirements than the code itself) and not the author of the library/app.

https://wiki.debian.org/Rust

Can you show a source for shipping standalone rust libraries? Because in your link I only found shipping full applications not libraries.

Shipping dynamic rust libraries should be pretty impossible as far as I know since rust does not have an stable abi.

1 Like

…their main use is as dependencies for other applications since Debian doesn’t allow downloading source code at build-time.

I guess it’s the Debian way of doing things. Also see Teams/RustPackaging - Debian Wiki

I found this. It seems packaging a rust lib for debian means just having a package containing the source code.

Based on the quote you provided:

…their main use is as dependencies for other applications since Debian doesn’t allow downloading source code at build-time.

It would be pretty useless, as far as I can tell, to ship the source code of iced with debian. It would only be needed when you build an iced application in the debian building process. The binary size of an application would be the same and the build speed would not increase.

Not really. All crates are supposed to be packaged, and packaged applications are meant to use these packages instead of pulling from crates-io Gnome/Rust_Packaging - Debian Wiki

There’s a list at Debian -- Software Packages in "bookworm", Subsection rust, for example, but yes, they all say “Rust source code”. So I guess they are only used for building (not installing) other packages?

Correct, as Rust doesn’t have dynamic libraries. The sources can be found at https://salsa.debian.org/rust-team/debcargo-conf/-/tree/master

1 Like

Alright. Shipping iced as a debian package now makes some sense to me. But I think since iced is still 0.x.x and has a lot of breaking changes in each version, adding it as a dependency/library in a stable distro is not ideal as of now. But once the api is considered stable I would 100% adore this.