diff options
Diffstat (limited to 'hurrycurry-standalone-files/PKGBUILD')
-rw-r--r-- | hurrycurry-standalone-files/PKGBUILD | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/hurrycurry-standalone-files/PKGBUILD b/hurrycurry-standalone-files/PKGBUILD new file mode 100644 index 0000000..06532c7 --- /dev/null +++ b/hurrycurry-standalone-files/PKGBUILD @@ -0,0 +1,83 @@ +# Maintainer: metamuffin <metamuffin@disroot.org> + +pkgname=hurrycurry-standalone-files +pkgver=2.3.1 +pkgrel=1 +pkgdesc="A game about cooking (standalone files)" +arch=('any') +url="https://codeberg.org/hurrycurry/hurrycurry" +license=('AGPL3') +makedepends=('rustup' 'deno' 'graphviz' 'godot' 'esbuild' 'typst') +source=("hurrycurry-$pkgver.tar.gz::https://codeberg.org/hurrycurry/hurrycurry/archive/v$pkgver.tar.gz") +sha256sums=('SKIP') + +_targets=("x86_64-unknown-linux-gnu" + # "aarch64-unknown-linux-gnu" + # "armv7-unknown-linux-gnueabi" + # "i686-unknown-linux-gnu" + "x86_64-pc-windows-gnu" + # "i686-pc-windows-gnu" + # "aarch64-linux-android" + # "armv7-linux-androideabi" + # "i686-linux-android" + # "x86_64-linux-android" + ) + +_target_suf() { + if echo "$t" | grep -q android; then + echo -n ".apk" + elif echo "$t" | grep -q windows; then + echo -n ".exe" + fi +} + +prepare() { + cd "hurrycurry" + rustup default nightly + for t in "${_targets[@]}"; do + cargo fetch --locked --target "$t" + done +} +build() { + export GODOT_ANDROID_KEYSTORE_RELEASE_PATH="$HOME/infra/misc/hurrycurry/hurrycurry-android.keystore" # this wont work on your machine :) + export GODOT_ANDROID_KEYSTORE_RELEASE_USER="hurrycurry" + export GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD="hurrycurry" + + mkdir -p out + cd "hurrycurry" + + make client + make -C data all + + local datafiles + datafiles=(data/recipes/*.yaml data/maps/*.yaml data/index.yaml data/book.json) + tar --zstd -cvf ../out/data.tar.zst "${datafiles[@]}" + zip ../out/data.zip "${datafiles[@]}" + + godot --headless --export-pack wasm32-unknown-unknown ../../out/client-any.pck client/project.godot + godot --headless --export-release wasm32-unknown-unknown ../../out/client-wasm32-unknown-unknown.html client/project.godot + for t in "${_targets[@]}"; do + godot --headless --export-release "$t" "../../out/client-$t$(_target_suf "$t")" client/project.godot + done + + for t in "${_targets[@]}"; do + local suf + cargo build --release --target "$t" --bin hurrycurry-server + cargo build --release --target "$t" --bin hurrycurry-discover + cargo build --release --target "$t" --bin hurrycurry-replaytool + done +} +package() { + out="/usr/share/hurrycurry/standalone-files" + install -Dm644 "out/client-any.pck" "$out/client-any.pck" + install -Dm644 "out/data.tar.zst" "$out/data.tar.zst" + install -Dm644 "out/data.zip" "$out/data.zip" + for t in "${_targets[@]}"; do + local suf + suf=$(_target_suf "$t") + install -Dm644 "out/client-$t$suf" "$out/client-$t$suf" + install -Dm644 "hurrycurry/target/$t/release/hurrycurry-server$suf" "$out/server-$t$suf" + install -Dm644 "hurrycurry/target/$t/release/hurrycurry-discover$suf" "$out/discover-$t$suf" + install -Dm644 "hurrycurry/target/$t/release/hurrycurry-replaytool$suf" "$out/replaytool-$t$suf" + done +} |