User our own copy of some files that aren't being downloaded during some installations.
This commit is contained in:
+33
-4
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)"
|
||||
|
||||
Reference in New Issue
Block a user