Skip to content

Archive

Self-extracting or compressed archives for portable distribution.

pkg_type: archive

Features

  • Simplest format — no runtime required
  • Universal support across all systems
  • No FUSE or namespace requirements
  • Supports multiple compression formats

Supported Formats

.7z, .bz, .bz2, .gz, .lz4, .lzma, .rar, .sz, .tar, .xz, .zst, and combinations thereof. Also includes self-extracting formats like alpix and staticx.

Build Profiles

Packages are typically built with:

  • wrappe — if the upstream source is already portable
  • sharun + wrappe/uruntime — if the upstream source needs to be made portable

Naming Convention

Archive package names often include a build method suffix:

SuffixMeaning
*sharun*Packaged with sharun
*wrappe*Packaged with wrappe
*source*Built from source
*stable*Fetched from upstream prebuilt
*npm*Packaged from npm
*pypi*Packaged from PyPI

Example SBUILD

yaml
#!/SBUILD
_disabled: false

pkg: "mytool"
pkg_id: "github.com.user.mytool"
pkg_type: "archive"
ghcr_pkg: "user/mytool"
description: "My tool (archive)"
provides:
  - "mytool"
src_url:
  - "https://github.com/user/mytool"
x_exec:
  host:
    - "aarch64-linux"
    - "x86_64-linux"
  shell: "bash"
  pkgver: |
    curl -qfsSL "https://api.github.com/repos/user/mytool/releases/latest" | jq -r '.tag_name'
  run: |
    soar dl "https://github.com/user/mytool" --match "tar.gz" -o "./${PKG}" --yes

Released under the MIT License.