Files
solitaire-quest-pkgbuild/README.md
T
2026-05-01 04:34:04 +00:00

3.1 KiB
Raw Blame History

solitaire-quest (Arch packaging)

PKGBUILD for Solitaire Quest, a cross-platform Klondike Solitaire in Rust + Bevy.

This repo is intentionally separate from the upstream source so the same PKGBUILD can be submitted to the AUR and to any third-party Arch repository (Chaotic-AUR, ALA, etc.) without polluting the upstream project history.


Files

File Purpose
PKGBUILD Build script — pulls the v0.1.0 source tarball, builds with cargo, installs binary + assets + desktop entry.
solitaire-quest.desktop XDG desktop entry installed to /usr/share/applications/.
solitaire-quest.png Application icon (TODO — drop a 256×256 PNG here).
.SRCINFO Auto-generated by makepkg --printsrcinfo.

Building locally

# 1. Update the sha256 once the v0.1.0 tarball is published.
updpkgsums

# 2. Build the package.
makepkg -si

# 3. Verify it installed.
solitaire-quest --help    # or just launch from the application menu

-s installs missing makedeps; -i installs the resulting .pkg.tar.zst after the build succeeds. Drop -i if you only want the artefact.


Submitting to the AUR

# Generate the .SRCINFO required by the AUR.
makepkg --printsrcinfo > .SRCINFO

# Commit both files to the AUR git remote.
git add PKGBUILD .SRCINFO
git commit -m "Initial release: 0.1.0-1"
git push aur master

The AUR remote is ssh://aur@aur.archlinux.org/solitaire-quest.git. You need an SSH key registered on your AUR account.


Updating for a new release

For each new upstream tag:

  1. Bump pkgver in PKGBUILD to match the new upstream tag.
  2. Reset pkgrel=1 (only bump pkgrel for packaging-only changes).
  3. updpkgsums to refresh the sha256 hash.
  4. makepkg --printsrcinfo > .SRCINFO.
  5. Test build: makepkg -si.
  6. git commit -am "upgpkg: $pkgname $pkgver-1" and push.

Runtime layout (where things land)

Path Contents
/usr/bin/solitaire-quest Symlink to the real binary.
/usr/lib/solitaire-quest/bin/solitaire-quest The compiled binary.
/usr/lib/solitaire-quest/assets/ Card art, fonts, audio, backgrounds.
/usr/share/applications/solitaire-quest.desktop App-menu entry.
/usr/share/icons/hicolor/256x256/apps/solitaire-quest.png Icon (when supplied).
/usr/share/licenses/solitaire-quest/LICENSE MIT license text.
/usr/share/licenses/solitaire-quest/CREDITS.md Full attribution table.
/usr/share/doc/solitaire-quest/README.md Upstream README.

The unusual /usr/lib/solitaire-quest/bin/ placement exists so Bevy's current_exe() resolves ../assets to the bundled assets directory without a wrapper script. The /usr/bin symlink keeps the binary in PATH while preserving that resolution.


License

The PKGBUILD and supporting files in this repo are MIT-licensed (matching upstream). The packaged binary itself is MIT + LGPL-3.0 (xCards art) + OFL-1.1 (FiraMono); see /usr/share/licenses/solitaire-quest/CREDITS.md on an installed system for the full table.