UWINE/ulwgl-run-cli
2024-02-11 18:58:52 -07:00

73 lines
2.7 KiB
Bash
Executable File

#!/bin/sh
# use for debug only.
# set -x
ULWGL_PROTON_VER="ULWGL-Proton-8.0-5-3"
ULWGL_LAUNCHER_VER="0.1-RC3"
me="$(readlink -f "$0")"
ulwgl_link="https://github.com/Open-Wine-Components/ULWGL-launcher/releases/download/$ULWGL_LAUNCHER_VER/ULWGL-launcher.tar.gz"
ulwgl_dir="$HOME"/.local/share/ULWGL
proton_link="https://github.com/Open-Wine-Components/ULWGL-Proton/releases/download/$ULWGL_PROTON_VER/$ULWGL_PROTON_VER"
proton_dir="$HOME"/.local/share/Steam/compatibilitytools.d
ulwgl_cache="$HOME"/.cache/ULWGL
if [ ! -d "$ulwgl_cache" ]; then
mkdir -p "$ulwgl_cache"
fi
# Self-update
# In flatpak it will check for /app/share/ULWGL/ULWGL-launcher.tar.gz and check version
# In distro package it will check for /usr/share/ULWGL/ULWGL-launcher.tar.gz and check version
# If tarball does not exist it will just download it.
if [ ! -d "$ulwgl_dir" ]; then
mkdir -p "$ulwgl_dir"
if [ -f "${me%/*/*}"/share/ULWGL/ULWGL-launcher.tar.gz ]; then
tar -zxvf "${me%/*/*}"/share/ULWGL/ULWGL-launcher.tar.gz --one-top-level="$ulwgl_dir"
else
wget "$ulwgl_link" -O "$ulwgl_cache/ULWGL-launcher.tar.gz"
tar -zxvf "$ulwgl_cache/ULWGL-launcher.tar.gz" --one-top-level="$ulwgl_dir"
rm "$ulwgl_cache/ULWGL-launcher.tar.gz"
fi
else
if [ "$ULWGL_LAUNCHER_VER" != "$(cat "$ulwgl_dir"/ULWGL-VERSION)" ]; then
rm -Rf "$ulwgl_dir" --preserve-root=all
if [ -f "${me%/*/*}"/share/ULWGL/ULWGL-launcher.tar.gz ]; then
tar -zxvf "${me%/*/*}"/share/ULWGL/ULWGL-launcher.tar.gz --one-top-level="$ulwgl_dir"
else
wget "$ulwgl_link" -O "$ulwgl_cache/ULWGL-launcher.tar.gz"
tar -zxvf "$ulwgl_cache/ULWGL-launcher.tar.gz" --one-top-level="$ulwgl_dir"
rm "$ulwgl_cache/ULWGL-launcher.tar.gz"
fi
fi
fi
if [ -z "$PROTONPATH" ]; then
if [ ! -d "$proton_dir"/$ULWGL_PROTON_VER ]; then
wget "$proton_link".tar.gz -O "$ulwgl_cache/$ULWGL_PROTON_VER".tar.gz
wget "$proton_link".sha512sum -O "$ulwgl_cache/$ULWGL_PROTON_VER".sha512sum
cd "$ulwgl_cache" || exit
checksum=$(sha512sum "$ULWGL_PROTON_VER".tar.gz)
cd - || exit
if [ "$checksum" = "$(cat "$ulwgl_cache/$ULWGL_PROTON_VER".sha512sum)" ]; then
tar -zxvf "$ulwgl_cache/$ULWGL_PROTON_VER".tar.gz --one-top-level="$proton_dir"
rm "$ulwgl_cache/$ULWGL_PROTON_VER".tar.gz
rm "$ulwgl_cache/$ULWGL_PROTON_VER".sha512sum
else
echo "ERROR: $ulwgl_cache/$ULWGL_PROTON_VER.tar.gz checksum does not match $ulwgl_cache/$ULWGL_PROTON_VER.sha512sum, aborting!"
rm "$ulwgl_cache/$ULWGL_PROTON_VER".tar.gz
rm "$ulwgl_cache/$ULWGL_PROTON_VER".sha512sum
exit 1
fi
fi
export PROTONPATH="$proton_dir/$ULWGL_PROTON_VER"
else
export PROTONPATH="$PROTONPATH"
fi
"$ulwgl_dir/ulwgl-run" "$@"