Packaging is the process of creating, modifying and bundling the files your application needs to function outside your development environment. It may also include creating installers and/or artifacts for particular package managers or operating systems.
There are a couple of crates which let you package your application for desktop or server environment:
.apkfiles for Android.
cargo-arch- Arch Linux (PKGBUILD).
.appfor macOS and iOS,
.debfor Linux and
.msifor Windows (README says that Windows and macOS support is experimental). There are also plans for
.rpmsupport for Linux and
.apksupport for Android.
.debpackages for Linux.
cargo-makepkg- Arch Linux (PKGBUILD). Might be abandoned.
cargo-pkgbuild- Arch Linux (PKGBUILD).
.rpm. Uses docker?
.rpmpackages for Linux.
.appbundles for macOS.
There are some other crates which are somewhat orthogonal to the above crates, but are nevertheless useful for application distribution.
embed-resource- Inlcude Windows resources in your executables.
winresInclude Windows resources in executables and DLLs.
self_update- In-place updates for Rust executables.
release-manager- Build your crate for multiple architectures and operating systems in one go. Might be abandoned.
cargo-tarball- Documentation seems sparse/non-existent. Presumably creates tarballs with your executables.
There are also some crates which target web technologies:
TODO: Look closer at the following crates: