Always fetch latest lug-wine runner

This commit is contained in:
the-sane
2025-10-09 14:22:54 -04:00
parent e0a66d81b0
commit 16f7659fca

View File

@@ -159,12 +159,6 @@ runner_sources=(
"Mactan" "https://api.github.com/repos/mactan-sc/mactan-sc-wine/releases" "Mactan" "https://api.github.com/repos/mactan-sc/mactan-sc-wine/releases"
) )
# Set the default runner to install when the system wine doesn't meet requirements
# default_runner_source corresponds to an EVEN NUMBER index in runner_sources above
default_runner="lug-wine-tkg-fsync-git-10.15-1"
default_runner_file="${default_runner}.tar.gz"
default_runner_source=0
######## DXVK ############################################################## ######## DXVK ##############################################################
# URLs for downloading dxvk versions # URLs for downloading dxvk versions
@@ -1225,6 +1219,14 @@ runner_manage() {
# Get directories so we know where the wine prefix is # Get directories so we know where the wine prefix is
getdirs getdirs
# Set variables for the latest default runner
set_latest_default_runner
# Sanity check
if [ "$?" -eq 1 ]; then
message error "Could not fetch the latest default wine runner. The Github API may be down or rate limited."
return 1
fi
# Set the download directory for wine runners # Set the download directory for wine runners
download_dir="$wine_prefix/runners" download_dir="$wine_prefix/runners"
@@ -2293,7 +2295,7 @@ install_game() {
fi fi
# Get the latest RSI installer url # Get the latest RSI installer url
get_latest_rsi_installer set_latest_rsi_installer
# Sanity check # Sanity check
if [ "$?" -eq 1 ]; then if [ "$?" -eq 1 ]; then
message error "Could not fetch the latest RSI installer! The latest.yml format may have changed or the site is down." message error "Could not fetch the latest RSI installer! The latest.yml format may have changed or the site is down."
@@ -2455,6 +2457,14 @@ download_wine() {
debug_print exit "Script error: The string 'download_dir' was not set before calling the download_wine function. Aborting." debug_print exit "Script error: The string 'download_dir' was not set before calling the download_wine function. Aborting."
fi fi
# Set variables for the latest default runner
set_latest_default_runner
# Sanity check
if [ "$?" -eq 1 ]; then
message error "Could not fetch the latest default wine runner. The Github API may be down or rate limited."
return 1
fi
# Set up variables needed for the download functions, quick and dirty # Set up variables needed for the download functions, quick and dirty
# For more details, see their usage in the download_select_install and download_install functions # For more details, see their usage in the download_select_install and download_install functions
declare -n download_sources=runner_sources declare -n download_sources=runner_sources
@@ -2816,9 +2826,9 @@ format_urls() {
fi fi
} }
# MARK: get_latest_rsi_installer() # MARK: set_latest_rsi_installer()
# Get the latest RSI installer filename and url # Fetch and store variables for the latest RSI installer filename and url
get_latest_rsi_installer() { set_latest_rsi_installer() {
# Fetch the yml and parse it for the latest filename # Fetch the yml and parse it for the latest filename
# ie. RSI Launcher-Setup-2.9.0.exe # ie. RSI Launcher-Setup-2.9.0.exe
rsi_installer="$(curl -s "$rsi_installer_latest_yml" | grep -Eo "url:.+" | sed 's/url:[[:space:]]*//')" rsi_installer="$(curl -s "$rsi_installer_latest_yml" | grep -Eo "url:.+" | sed 's/url:[[:space:]]*//')"
@@ -2830,8 +2840,20 @@ get_latest_rsi_installer() {
rsi_installer_url="${rsi_installer_base_url}/${rsi_installer}" rsi_installer_url="${rsi_installer_base_url}/${rsi_installer}"
} }
get_latest_lugwine_runner() { # MARK: set_latest_default_runner()
# Fetch and store variables for the latest default wine runner filename
set_latest_default_runner() {
default_runner_file="$(curl -s https://api.github.com/repos/starcitizen-lug/lug-wine/releases/latest | grep -Eo "\"browser_download_url\": ?\"[^\"]+\"" | grep "fsync" | grep -vie "staging" | cut -d '"' -f4 | xargs basename)"
if [ -z "$default_runner_file" ]; then
return 1
fi
# Store the filename without the file extension
default_runner="$(basename "$default_runner_file" .tar.gz)"
# Set the runner_sources array index which points to the default runner source api url (must be an even number in the array, arrays start with 0)
default_runner_source=0
} }
# MARK: get_latest_release() # MARK: get_latest_release()