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.