Skip to content

SBUILD ​

SBUILD is a YAML-based build script format for creating portable Linux packages, inspired by APKBUILD and PKGBUILD. It separates package metadata from build logic, making it easy to read, write, and validate.

Toolchain ​

ToolDescription
sbuildAll-in-one tool: build, lint, generate metadata, and manage cache

All tools are available in the sbuilder repository.

Quick Example ​

yaml
#!/SBUILD
_disabled: false

pkg: "alacritty"
pkg_id: "pkgforge-dev.alacritty"
pkg_type: "appimage"
ghcr_pkg: "pkgforge-dev/alacritty"
category:
  - "TerminalEmulator"
description: "A cross-platform, GPU-accelerated terminal emulator"
homepage:
  - "https://alacritty.org"
  - "https://github.com/alacritty/alacritty"
license:
  - "Apache-2.0"
provides:
  - "alacritty"
repology:
  - "alacritty"
src_url:
  - "https://github.com/pkgforge-dev/alacritty-AppImage"
x_exec:
  host:
    - "x86_64-linux"
    - "aarch64-linux"
  shell: "sh"
  pkgver: |
    VERSION=$(curl -qfsSL "https://api.github.com/repos/pkgforge-dev/alacritty-AppImage/releases/latest?per_page=20" | jq -r '.tag_name')
    echo "${VERSION%%@*}" | sed "s/^v//"
    echo "$VERSION"
  run: |
    soar dl "https://github.com/pkgforge-dev/alacritty-AppImage@${REMOTE_PKGVER}" --glob "*${ARCH}*.appimage" -o "./${PKG}" --yes

Supported Formats ​

SBUILD can produce any of the supported package formats:

appimage · appbundle · flatimage · runimage · nixappimage · archive · static · dynamic · gameimage

Next Steps ​

Released under the MIT License.