PkgForge
GithubSoar
  • Orgs
    • PkgForge (Core)
      • About
      • Projects
        • Soarpkgs
        • bincache
        • pkgcache
      • People
    • PkgForge-Community
    • PkgForge-Dev
      • Projects
        • Anylinux-AppImages
      • People
    • PkgForge-Security
      • Projects
        • CertStream
  • Soar
    • Soar (Docs)
    • Comparisons
      • 1. Candidates
      • 2. Dependencies
      • 3. Packages
      • 4. Security
  • Formats
    • Binaries
      • Dynamic
      • Static
        • Build Notes
          • Cargo (Rust)
          • GoLang
          • Make
          • Nim
          • Nix
          • Vlang
          • Zig (Musl)
        • Build Tests
    • Packages
      • Archive
      • AppBundle
      • AppImage
      • FlatImage
      • GameImage (TBD)
      • NixAppImage
      • RunImage
      • Errors & Quirks
        • Fonts
        • Fuse
        • Namespaces
        • Zsync
  • SBUILD
    • Introduction
    • Specification
      • 0.Prerequisite
      • 1.Shebang
      • 2.Pkg
      • 3.Version
      • 4.AppID
      • 5.BuildAsset
      • 6.BuildUtil
      • 7.Category
      • 8.Description
      • 9.Desktop
      • 10.DistroPkg
      • 11.HomePage
      • 12.Icon
      • 13.License
      • 14.Maintainer
      • 15.Note
      • 16.Provides
      • 17.Repology
      • 18.SourceURL
      • 19.Tag
      • 20.x_exec
    • Instructions
      • ENV_VARS (x_exec.run)
      • ENV_VARS (SBUILDER)
      • NEEDED_FILES
      • Examples
  • Repositories
    • soarpkgs
      • Contribution
      • Copy of DMCA | Copyright (Cease & Desist)
      • Differences
      • FAQ
      • Infra
      • Metadata
      • Package-Request
      • Re:Distribution
      • Security
    • bincache
      • Cache
      • Contribution
      • Differences
      • DMCA | Copyright (Cease & Desist)
      • FAQ
      • Infra
      • Metadata
      • Package-Request
      • Security
    • pkgcache
      • Cache
      • Contribution
      • Differences
      • DMCA | Copyright (Cease & Desist)
      • FAQ
      • Infra
      • Metadata
      • Package-Request
      • Security
    • external
      • pkgforge-cargo
      • pkgforge-go
      • cargo-bins
      • AM
      • appimage.github.io
      • AppImageHub
    • Nests
  • Contact
    • Chat
Powered by GitBook
On this page
  • Minimal
  • Generic (Recommended)

Was this helpful?

  1. SBUILD
  2. Instructions

Examples

A Few Examples

Minimal

#!/SBUILD ver @v1.0.0
_disabled: false
pkg: "86box"
build_util:
  - "curl#bin"
  - "jq#bin"
description: "Emulator of x86-based machines"
src_url:
 - "https://github.com/86Box/86Box"
x_exec:
  shell: "bash"
  pkgver: |
    #This will fetch the version and save it as 
    curl -qfsSL "https://api.github.com/repos/86Box/86Box/releases/latest" | jq -r '.tag_name'
  run: |
    #Remember we are inside some random dir and we have got the env vars injected ($PKG etc)
    ##Download the file
    case "$(uname -m)" in
      aarch64)
        soar dl "https://github.com/86Box/86Box" --match "appimage,arm64" --exclude "x64,x86,zsync" -o "./${PKG}" --yes && chmod +x "./${PKG}"
        ;;
      x86_64)
        soar dl "https://github.com/86Box/86Box" --match "appimage,x86_64" --exclude "aarch64,arm,zsync" -o "./${PKG}" --yes && chmod +x "./${PKG}"
        ;;
    esac
    #We are done and can let the Runner take it from here

Generic (Recommended)

#!/SBUILD ver @v1.0.0
_disabled: false

pkg: "86box"
pkg_id: "github.com.86Box.86Box"
pkg_type: "AppImage"
app_id: "net._86box._86Box"
build_util:
  - "curl#bin"
  - "jq#bin"
category:
  - "Emulator"
description: "Emulator of x86-based machines"
distro_pkg:
  archlinux:
    aur:
      - "86box"
      - "86box-appimage"
      - "86box-git"
  nixpkgs:
    - "86Box"
homepage:
  - "https://86box.net"
  - "https://86box.readthedocs.io"
license:
  - id: "GPL-2.0" #spdx identifier
    url: "https://github.com/86Box/86Box/raw/ae5b6909a2a8d3b2098d5467a86fefcf81c20e30/COPYING" #RAW Permalink to License
maintainer:
  - "Azathothas (https://github.com/Azathothas)"
note:
 - "Officially Created AppImage. Check/Report @ https://github.com/86Box/86Box"
 - "You need to download ROMS: https://86box.readthedocs.io/en/latest/usage/roms.html"
provides:
  - "86box" #explictly states what progs are available upon build completion
repology:
  - "86box"
src_url:
  - "https://github.com/86Box/86Box"
tag:
  - "app-emulation"
  - "emulators"
  - "game"
  - "system"
x_exec:
  host:
    - "aarch64-Linux" #Explictly states it supports aarch64 Linux
    - "x86_64-Linux" #Explictly states it supports x86_64 Linux
  shell: "bash"
  pkgver: |
    #This will fetch the version and save it as "./${PKG}.version" and env ${PKG_VER}
    curl -qfsSL "https://api.github.com/repos/86Box/86Box/releases/latest" | jq -r '.tag_name'
  run: |
    #Remember we are inside some random dir and we have got the env vars injected (PKG etc)
    ##Download the file
    case "$(uname -m)" in
      aarch64)
        soar dl "https://github.com/86Box/86Box" --match "appimage,arm64" --exclude "x64,x86,zsync" -o "./${PKG}" --yes && chmod +x "./${PKG}"
        ;;
      x86_64)
        soar dl "https://github.com/86Box/86Box" --match "appimage,x86_64" --exclude "aarch64,arm,zsync" -o "./${PKG}" --yes && chmod +x "./${PKG}"
        ;;
    esac
    #We are done and can let the Runner take it from here

PreviousNEEDED_FILESNextsoarpkgs

Last updated 5 months ago

Was this helpful?