#!/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" "$@"