infinipaint/linuxinstall/install-local.sh
copilot 3140f9bb55
Some checks are pending
Windows Release / windows-x86_64 (push) Waiting to run
Prevent players from hiding Fog of War layers
Clients could toggle fog visibility (and fade alpha); DisplayData synced
that to everyone and defeated FoW. Block client set_visible/set_alpha,
clamp host-side DisplayData updates, and ignore eye toggles for fog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-11-07 15:42:58 +01:00

35 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
# Install a built InfiniPaint binary from this repo into ~/.local
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
BIN="${1:-$ROOT/build/Release/infinipaint}"
PREFIX="${HOME}/.local"
APPDIR="${PREFIX}/share/infinipaint"
[[ -x "$BIN" ]] || { echo "missing binary: $BIN" >&2; exit 1; }
mkdir -p "$APPDIR" "${PREFIX}/bin" "${PREFIX}/share/applications"
install -m755 "$BIN" "${APPDIR}/infinipaint"
rm -rf "${APPDIR}/data"
cp -a "${ROOT}/assets/data" "${APPDIR}/data"
ln -sfn "${APPDIR}/infinipaint" "${PREFIX}/bin/infinipaint"
# Optional rembg next to the app (silueta / bria). Missing = greyed-out modes in Settings.
if [[ -x "${ROOT}/linuxinstall/bundle-rembg.sh" ]]; then
bash "${ROOT}/linuxinstall/bundle-rembg.sh" "$APPDIR" || true
fi
cat > "${PREFIX}/share/applications/com.infinipaint.infinipaint-fork.desktop" <<EOF
[Desktop Entry]
Name=InfiniPaint (fork)
Comment=Infinite collaborative canvas (copilot fork)
Exec=${PREFIX}/bin/infinipaint
Icon=com.infinipaint.infinipaint
Terminal=false
Type=Application
Categories=Graphics;
EOF
echo "Installed: ${PREFIX}/bin/infinipaint"
# GUI binary may abort without a working GL context; do not fail install.
"${PREFIX}/bin/infinipaint" --version >/dev/null 2>&1 || true