User our own copy of some files that aren't being downloaded during some installations.

This commit is contained in:
Storm Dragon
2026-08-30 01:02:03 -04:00
parent 4112aa3bda
commit 38a9b2cd39
3 changed files with 37 additions and 4 deletions
+33 -4
View File
@@ -40,12 +40,41 @@ set_wine_env() {
# Note: install_wine function removed - we now use system wine with simplified bottle management
enable_winetricks_usage_reporting() {
local winetricksCache="${XDG_CACHE_HOME:-$HOME/.cache}/winetricks"
mkdir -p "$winetricksCache"
if [[ ! -e "${winetricksCache}/track_usage" ]]; then
printf '1\n' > "${winetricksCache}/track_usage"
fi
}
prepare_speechsdk_cache() {
local winetricksCache="${XDG_CACHE_HOME:-$HOME/.cache}/winetricks"
local speechsdkPayload="${winetricksCache}/speechsdk/SpeechSDK51.exe"
enable_winetricks_usage_reporting
if [[ -f "$speechsdkPayload" ]]; then
return
fi
echo "Downloading Speech SDK for the Winetricks cache..."
# ipfs and cache are populated by the main script before bottle setup.
# shellcheck disable=SC2154
download "${ipfs[speechsdk]}"
if ! unzip -oq "${cache}/speechsdk.zip" -d "$winetricksCache"; then
echo "Could not extract Speech SDK into the Winetricks cache."
return 1
fi
if [[ ! -f "$speechsdkPayload" ]]; then
echo "The Speech SDK archive did not contain speechsdk/SpeechSDK51.exe."
return 1
fi
}
winetricks() {
# Report used packages to the winetricks maintainer so he knows they are being used.
if ! [[ -e "${XDG_CACHE_HOME:-$HOME/.cache}/winetricks/track_usage" ]]; then
mkdir -p "${XDG_CACHE_HOME:-$HOME/.cache}/winetricks/"
echo "1" > "${XDG_CACHE_HOME:-$HOME/.cache}/winetricks/track_usage"
fi
enable_winetricks_usage_reporting
# Temporary work around for winetricks git bugs. Requires winetricks be installed from package manager.
/usr/bin/winetricks "$@"
return
+1
View File
@@ -7,6 +7,7 @@ declare -Ag ipfs=(
[nvdaControllerClient32]="${ipfsGateway}/ipfs/QmTrRrT4QFKSkZ8ivfUawA6iJ6adEyyogccE3nLDTfSK8u?filename=nvdaControllerClient32.dll"
[nvdaControllerClient64]="${ipfsGateway}/ipfs/QmaYE7RFDtwHCiXCVLcuA3esfFx6E7koidtvrck9AwPuuN?filename=nvdaControllerClient64.dll"
[nvda2speechd]="${ipfsGateway}/ipfs/QmPxhoNsoFoJC7bCfioBBCcK8tEoSoYpm342z6u7KjFsVz?filename=nvda2speechd"
[speechsdk]="${ipfsGateway}/ipfs/QmXKp7xKoaLmpLJ8GoGJbQcGXnfMkfoqq5PDpyWHWnL9DB?filename=speechsdk.zip"
[winespeak]="https://stormgames.wolfe.casa/downloads/winespeak.exe"
# Games (alphabetical order)
+3
View File
@@ -304,6 +304,9 @@ ensure_wine_bottles() {
echo "# Initializing wine64 environment..."
DISPLAY="" wine wineboot -u
# Seed Winetricks with the Speech SDK payload before installing dependencies.
prepare_speechsdk_cache || return 1
# Install mono and gecko
echo "# Installing .NET Framework..."
monoPath="$(find /usr/share/wine/ -maxdepth 1 -type d -name mono 2> /dev/null)"