mirror of
https://github.com/tcsenpai/UWINE.git
synced 2025-06-06 11:35:20 +00:00
73 lines
2.7 KiB
Bash
Executable File
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" "$@"
|