This document describes how to package and distribute Bunsenite for various package managers.
| Manager | Distro | Config Location |
|---|---|---|
pacman |
Arch Linux |
|
apt |
Debian/Ubuntu |
|
dnf |
Fedora/RHEL |
|
zypper |
openSUSE |
|
flatpak |
Universal |
|
| Manager | Config Location |
|---|---|
Homebrew |
|
MacPorts |
|
| Manager | Config Location |
|---|---|
Scoop |
|
Chocolatey |
|
winget |
|
All packaging scripts assume:
-
Rust 1.70+ - For the core library
-
Zig 0.11+ - For the FFI layer
-
Git - For source fetching
# Build with all features
cargo build --release --features full
# Build Zig FFI layer
cd zig && zig build -Doptimize=ReleaseFast
# Run tests
cargo test --releaseEach release should include:
-
bunsenite-VERSION-x86_64-unknown-linux-gnu.tar.gz -
bunsenite-VERSION-aarch64-unknown-linux-gnu.tar.gz
-
bunsenite-VERSION-x86_64-apple-darwin.tar.gz -
bunsenite-VERSION-aarch64-apple-darwin.tar.gz
-
Update PKGBUILD with new version
-
Generate .SRCINFO:
makepkg --printsrcinfo > .SRCINFO -
Push to AUR
The .github/workflows/release.yml workflow automates: - Building
release binaries for all platforms - Creating GitHub releases with
artifacts - Publishing to crates.io