From 4d6f8bccb7b9fe5c71e69a17e0354eea28fe2ff5 Mon Sep 17 00:00:00 2001 From: funman300 Date: Tue, 28 Apr 2026 22:45:52 +0000 Subject: [PATCH] chore(pkg): simplify PKGBUILDs for local private builds Remove GitHub source tarball and b2sums. Both PKGBUILDs now build directly from the local workspace via _srcdir="$startdir/../..". Run makepkg from pkg/solitaire-quest/ or pkg/solitaire-quest-server/. Co-Authored-By: Claude Sonnet 4.6 --- pkg/solitaire-quest-server/PKGBUILD | 18 +++++++++--------- pkg/solitaire-quest/PKGBUILD | 18 ++++++++++-------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/pkg/solitaire-quest-server/PKGBUILD b/pkg/solitaire-quest-server/PKGBUILD index d3b4a42..145876f 100644 --- a/pkg/solitaire-quest-server/PKGBUILD +++ b/pkg/solitaire-quest-server/PKGBUILD @@ -13,36 +13,38 @@ depends=( 'glibc' ) backup=('etc/solitaire-quest-server/server.env') + +# Build from the local workspace (two levels above this PKGBUILD). +_srcdir="$startdir/../.." source=( - "$pkgname-$pkgver.tar.gz::https://github.com/funman300/solitaire-quest/archive/v$pkgver.tar.gz" 'solitaire-quest-server.service' 'server.env' ) b2sums=('SKIP' - 'SKIP' 'SKIP') prepare() { - cd "solitaire-quest-$pkgver" export RUSTUP_TOOLCHAIN=stable + cd "$_srcdir" cargo fetch --locked --target "$(rustc -Vv | grep host | cut -d' ' -f2)" } build() { - cd "solitaire-quest-$pkgver" export RUSTUP_TOOLCHAIN=stable export CARGO_TARGET_DIR=target + cd "$_srcdir" cargo build --frozen --release -p solitaire_server } check() { - cd "solitaire-quest-$pkgver" export RUSTUP_TOOLCHAIN=stable + cd "$_srcdir" cargo test --frozen -p solitaire_server -p solitaire_sync } package() { - cd "solitaire-quest-$pkgver" + cd "$_srcdir" + # Binary install -Dm0755 -t "$pkgdir/usr/bin/" "target/release/solitaire_server" @@ -54,10 +56,8 @@ package() { install -Dm0640 "$srcdir/server.env" \ "$pkgdir/etc/solitaire-quest-server/server.env" - # License + # License and docs install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" - - # Self-hosting guide install -Dm0644 README_SERVER.md \ "$pkgdir/usr/share/doc/$pkgname/README_SERVER.md" } diff --git a/pkg/solitaire-quest/PKGBUILD b/pkg/solitaire-quest/PKGBUILD index 57197c1..43b3229 100644 --- a/pkg/solitaire-quest/PKGBUILD +++ b/pkg/solitaire-quest/PKGBUILD @@ -15,32 +15,34 @@ depends=( 'libxkbcommon' 'systemd-libs' # libudev.so — required by Bevy input ) -source=("$pkgname-$pkgver.tar.gz::https://github.com/funman300/solitaire-quest/archive/v$pkgver.tar.gz") -b2sums=('SKIP') + +# Build from the local workspace (two levels above this PKGBUILD). +_srcdir="$startdir/../.." +source=() +b2sums=() prepare() { - cd "solitaire-quest-$pkgver" export RUSTUP_TOOLCHAIN=stable + cd "$_srcdir" cargo fetch --locked --target "$(rustc -Vv | grep host | cut -d' ' -f2)" } build() { - cd "solitaire-quest-$pkgver" export RUSTUP_TOOLCHAIN=stable export CARGO_TARGET_DIR=target + cd "$_srcdir" cargo build --frozen --release -p solitaire_app } check() { - cd "solitaire-quest-$pkgver" export RUSTUP_TOOLCHAIN=stable - # Only test the non-Bevy crates — Bevy integration tests require a GPU/display - # which is not available in a clean build environment. + cd "$_srcdir" + # Only test non-Bevy crates — Bevy integration tests require a GPU/display. cargo test --frozen -p solitaire_core -p solitaire_sync } package() { - cd "solitaire-quest-$pkgver" + cd "$_srcdir" install -Dm0755 -t "$pkgdir/usr/bin/" "target/release/solitaire_app" install -Dm0644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE" }