FREEDOM251

Freedom251 › Software Packaging Tools

cargo-bundle

Free plan AndroidiPhoneLinuxMacWindows

Visit cargo-bundle Alternatives

cargo-bundle's own site

What cargo-bundle is

cargo-bundle is a command-line tool for turning GUI executables built with Cargo into installable bundles. It produces .app bundles for macOS, .deb and .AppImage packages for Linux, and .msi installers for Windows. iOS and Windows support is experimental; Linux .rpm and Android .apk output are still pending. Install it with `cargo install cargo-bundle` to add it as a Cargo subcommand. Projects set app details such as name, identifier, icon, version, resources, and description in a `[package.metadata.bundle]` section of Cargo.toml. The `--target` option selects a build target, and macOS can combine architectures into a universal binary. The `--binary-path` option packages an existing executable without rebuilding or changing the input file. AppImage creation does not gather shared libraries automatically, so dynamically linked apps may need matching system libraries or staged libraries. Apple artifacts may be signed but are not notarized by cargo-bundle. The project is labeled very early alpha, with no stability guarantee for its metadata format. It is free and open source under either MIT or Apache licensing.

Who it suits

It suits developers who build GUI applications with Cargo and need bundles or installers for supported desktop targets. Teams should account for the experimental platform support and AppImage library requirements.

What it does well

  • Creates .app, .deb, .AppImage, and .msi outputs
  • Packages an existing executable without rebuilding it
  • Supports target selection and macOS universal binaries
  • Optional signing is described for Apple, Windows, and Linux artifacts

What to know first

  • iOS and Windows support is experimental
  • Linux .rpm and Android .apk output is pending
  • AppImage libraries are not collected automatically
  • Metadata format has no stability guarantee

Limits

The project is labeled very early alpha, with no stability guarantee for its bundle metadata format. iOS and Windows support are experimental; Linux RPM and Android APK output are pending.

Getting started

  1. Install Rust's cargo-bundle subcommand with `cargo install cargo-bundle`.
  2. Add bundle metadata in the project's `[package.metadata.bundle]` section of Cargo.toml.
  3. Select a target with `--target` when needed.
  4. Build and package the GUI executable, or pass an existing executable with `--binary-path`.
  5. Configure optional signing if needed for the relevant artifact.

Verdict

cargo-bundle covers several desktop packaging formats and can package a prebuilt executable. Its early-alpha status and platform-specific limitations are important considerations before relying on it for distribution.

Questions

Is cargo-bundle free?

Yes. It is open source and available under either the Apache Software License or MIT License.

What output formats does it create?

It creates macOS and iOS .app bundles, Linux .deb and .AppImage packages, and Windows .msi installers. iOS and Windows support are experimental.

Can it create Android APKs or Linux RPMs?

Those formats are still pending.

How do I install it?

The README says to run `cargo install cargo-bundle`, which adds it as a Cargo subcommand.

Can it package an executable that is already built?

Yes. The `--binary-path` option packages an existing executable without rebuilding it, and the input file is copied rather than modified.

Does cargo-bundle notarize Apple artifacts?

No. Apple artifacts can be signed, but cargo-bundle does not notarize them.

Facts from cargo-bundle's own pages

AppImage limitation
The README says shared libraries are not automatically collected for AppImage bundles, so dynamically linked GUI apps may need matching system libraries or staged libraries. · github.com, 11 Oct 2026
App metadata
Configuration supports fields such as app name, identifier, icons, version, resources, copyright, category, and descriptions. · github.com, 11 Oct 2026
Configuration
Projects configure bundle metadata in a `[package.metadata.bundle]` section of Cargo.toml, including fields such as name, icon, description, and copyright. · github.com, 11 Oct 2026
Cross-compilation
It supports selecting a target with `--target`, and macOS can combine architectures into a universal binary. · github.com, 11 Oct 2026
Existing binaries
The `--binary-path` option packages an already-built executable without rebuilding it, and the input file is copied rather than modified. · github.com, 11 Oct 2026
Experimental platforms
The README says iOS and Windows support is experimental. · github.com, 11 Oct 2026
Formats
It can produce macOS .app bundles, Linux .deb and .AppImage packages, and Windows .msi installers. · github.com, 11 Oct 2026
Installation
The README says to install it with `cargo install cargo-bundle`, which adds it as a subcommand to Cargo. · github.com, 11 Oct 2026
License
The project is licensed under either Apache Software License or MIT License. · github.com, 11 Oct 2026
License and stability
The repository README describes the project as very early alpha and says its bundle metadata format may change without a stability guarantee; it lists MIT or Apache licensing. · github.com, 11 Oct 2026
Linux limitation
The README says AppImage creation does not automatically collect shared libraries, so dynamically linked GUI apps may require matching system libraries or staged libraries. · github.com, 11 Oct 2026
Linux output
It can create .deb packages and .AppImage bundles for Linux. · github.com, 11 Oct 2026
macOS and iOS output
It can create .app bundles for macOS and iOS, with iOS support described as experimental. · github.com, 11 Oct 2026
Maker
The GitHub profile identifies the maker as George Burton; it does not state a headquarters or founding date. · github.com, 11 Oct 2026
Notarization
The README says Apple artifacts are signed but not notarized by cargo-bundle. · github.com, 11 Oct 2026
Pending formats
The README says support for Linux .rpm packages and Android .apk packages is still pending. · github.com, 11 Oct 2026
Prebuilt executables
The `--binary-path` option packages an already-built executable without running `cargo build` again. · github.com, 11 Oct 2026
Purpose
cargo-bundle generates installers or app bundles for GUI executables built with Cargo. · github.com, 11 Oct 2026
Signing
The README describes optional Apple bundle and DMG signing, optional Windows Authenticode signing, and configurable keyless Sigstore signing for Linux artifacts. · github.com, 11 Oct 2026
Signing limitation
The README says Apple artifacts are not notarized, and Windows signing requires the opt-in `windows-signing` feature, which links a GPL-3.0-or-later implementation. · github.com, 11 Oct 2026
Stability
The README labels the project “Very early alpha” and says the bundle metadata format may change with no guarantee of stability. · github.com, 11 Oct 2026
Windows output
It can create .msi installers for Windows, whose support is described as experimental. · github.com, 11 Oct 2026

Where cargo-bundle stands on Freedom251

Look at these too