Packaging
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:
0.9.7 - Buildcargo-apk
.apk
files for Android.
0.1.5 - Arch Linux (PKGBUILD).cargo-arch
0.6.0 -cargo-bundle
.app
for macOS and iOS,.deb
for Linux and.msi
for Windows (README says that Windows and macOS support is experimental). There are also plans for.rpm
support for Linux and.apk
support for Android.
2.0.0-rc.2 - Buildcargo-deb
.deb
packages for Linux.
0.1.0 - Arch Linux (PKGBUILD). Might be abandoned.cargo-makepkg
0.1.1 - Arch Linux (PKGBUILD).cargo-pkgbuild
0.0.4 -pkger
.rpm
and.rpm
. Uses docker?
0.8.0 - Buildcargo-rpm
.rpm
packages for Linux.
0.4.0 - Formerlypackapp
0.0.0 . Buildcargo-app
.app
bundles for macOS.
There are some other crates which are somewhat orthogonal to the above crates, but are nevertheless useful for application distribution.
2.3.0 - Inlcude Windows resources in your executables.embed-resource
0.1.12 Include Windows resources in executables and DLLs.winres
0.38.0 - In-place updates for Rust executables.self_update
0.1.4 - Build your crate for multiple architectures and operating systems in one go. Might be abandoned.release-manager
0.0.1 - Documentation seems sparse/non-existent. Presumably creates tarballs with your executables.cargo-tarball
There are also some crates which target web technologies:
0.1.0cargo-node
0.6.26cargo-web
TODO: Look closer at the following crates:
0.0.4cargo-parcel
1.0.0cargo-cook
0.6.0msi