Commit f2b2c0e1 authored by Vitaly Lipatov's avatar Vitaly Lipatov

just import…

just import https://github.com/Winetricks/winetricks/archive/refs/heads/master.zip to winetricks subdir with rpmgs script
parent 661db676
on: [push, pull_request]
name: install
jobs:
macos:
name: make install (with prefix)
runs-on: macos-latest
steps:
- name: checkout project
uses: actions/checkout@v2
uses: actions/checkout@v3
# OSX doesn't allow writing to /usr/bin, so skip the non-PREFIX check
- name: run make install (with PREFIX)
run: time make install PREFIX="$(mktemp -d)"
......@@ -14,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: checkout project
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: run make install (with PREFIX)
run: time make install PREFIX="$(mktemp -d)"
- name: run make install (without PREFIX)
......
on: [push, pull_request]
name: shellcheck
jobs:
shellcheck:
name: shellcheck
runs-on: ubuntu-latest
steps:
- name: checkout project
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: run shell-checks
run: sudo apt-get -y install shellcheck python3-bashate && time ./tests/shell-checks
on: [push, pull_request]
name: Update
jobs:
update:
name: self-update-test
......@@ -8,6 +9,6 @@ jobs:
os: [macos-latest, ubuntu-latest]
steps:
- name: checkout project
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: run self-update-test
run: ./tests/self-update-test
......@@ -1064,6 +1064,34 @@ w_expand_env()
winetricks_early_wine_arch cmd.exe /c echo "%$1%"
}
# Determine what architecture a binary file is built for
winetricks_get_file_arch()
{
_W_file="$1"
# macOS uses Mach-O binaries, not ELF
if [ "$(uname -s)" = "Darwin" ]; then
_W_lipo_output="$(lipo -archs "${_W_file}")"
case "${_W_lipo_output}" in
"arm64") _W_file_arch="arm64" ;;
"i386") _W_file_arch="i386" ;;
"x86_64") _W_file_arch="x86_64" ;;
*) w_die "Unknown file arch: ${_W_lipo_output}" ;;
esac
else
# Assume ELF binaries for everything else
_W_ob_output="$(od -An -t x1 -j 0x12 -N 1 "${_W_file}" | tr -d "[:space:]")"
case "${_W_ob_output}" in
"3e") _W_file_arch="x86_64" ;;
"03"|"06") _W_file_arch="i386" ;;
"b7") _W_file_arch="aarch64" ;;
"28") _W_file_arch="aarch32" ;;
*) w_die "Unknown file arch: ${_W_ob_output}";;
esac
fi
echo "${_W_file_arch}"
}
# Get the latest tagged release from github.com API
w_get_github_latest_release()
{
......@@ -3524,6 +3552,7 @@ winetricks_mainmenu()
_W_msg_explorer='Стартиране на explorer'
_W_msg_uninstaller='Стартиране на uninstaller'
_W_msg_winecmd='Стартиране на терминала'
_W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)'
_W_msg_shell='Стартиране на терминала (за отстраняване на неизправности)'
_W_msg_folder='Търсене на файлове'
_W_msg_annihilate="Изтриване на ВСИЧКИ ДАННИ И ПРИЛОЖЕНИЯ В ТАЗИ ПАПКА"
......@@ -3539,6 +3568,7 @@ winetricks_mainmenu()
_W_msg_explorer='Run explorer'
_W_msg_uninstaller='Run uninstaller'
_W_msg_winecmd='Run a Wine cmd shell'
_W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)'
_W_msg_shell='Run a commandline shell (for debugging)'
_W_msg_folder='Browse files'
_W_msg_annihilate="Delete ALL DATA AND APPLICATIONS INSIDE THIS WINEPREFIX"
......@@ -3554,6 +3584,7 @@ winetricks_mainmenu()
_W_msg_explorer='explorer starten'
_W_msg_uninstaller='uninstaller starten'
_W_msg_winecmd='Starten Sie Wine cmd'
_W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)'
_W_msg_shell='Eine Kommandozeile zum debuggen starten'
_W_msg_folder='Ordner durchsuchen'
_W_msg_annihilate="ALLE DATEIEN UND PROGRAMME IN DIESEM WINEPREFIX Löschen"
......@@ -3569,6 +3600,7 @@ winetricks_mainmenu()
_W_msg_explorer='Uruchomić explorer'
_W_msg_uninstaller='Uruchomić program odinstalowujący'
_W_msg_winecmd='Uruchomić Wine cmd'
_W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)'
_W_msg_shell='Uruchomić powłokę wiersza poleceń (dla debugowania)'
_W_msg_folder='Przeglądać pliki'
_W_msg_annihilate="Usuńąć WSZYSTKIE DANE I APLIKACJE WEWNĄTRZ TEGO PREFIKSU WINE"
......@@ -3584,6 +3616,7 @@ winetricks_mainmenu()
_W_msg_explorer='Executar explorer'
_W_msg_uninstaller='Executar desinstalador'
_W_msg_winecmd='Executar Wine cmd'
_W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)'
_W_msg_shell='Executar linha de comandos shell (para depuração)'
_W_msg_folder='Gerenciar arquivos'
_W_msg_annihilate="Apagar TODOS OS DADOS E APLICATIVOS DENTRO DESTE WINEPREFIX"
......@@ -3599,6 +3632,7 @@ winetricks_mainmenu()
_W_msg_explorer='Запустить explorer (Проводник)'
_W_msg_uninstaller='Запустить uninstaller (установка и удаление программ)'
_W_msg_winecmd='Запустить wine cmd (командную строку)'
_W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)'
_W_msg_shell='Запустить графический терминал (для отладки)'
_W_msg_folder='Запустить winefile (проводник файлов)'
_W_msg_annihilate="Удалить ВСЕ ДАННЫЕ И ПРИЛОЖЕНИЯ в этом префиксе"
......@@ -3614,6 +3648,7 @@ winetricks_mainmenu()
_W_msg_explorer='Запустити explorer'
_W_msg_uninstaller='Встановлення/видалення програм'
_W_msg_winecmd='Запустіть оболонку Wine cmd'
_W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)'
_W_msg_shell='Запуск командної оболонки (для налагодження)'
_W_msg_folder='Перегляд файлів'
_W_msg_annihilate="Видалити УСІ ДАНІ ТА ПРОГРАМИ З ЦЬОГО WINEPREFIX"
......@@ -3629,6 +3664,7 @@ winetricks_mainmenu()
_W_msg_explorer='运行资源管理器'
_W_msg_uninstaller='运行卸载程序'
_W_msg_winecmd='运行 Wine cmd'
_W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)'
_W_msg_shell='运行命令提示窗口 (作为调试)'
_W_msg_folder='浏览容器中的文件'
_W_msg_annihilate="删除容器中所有数据和应用程序"
......@@ -3644,6 +3680,7 @@ winetricks_mainmenu()
_W_msg_explorer='執行檔案總管'
_W_msg_uninstaller='執行解除安裝程式'
_W_msg_winecmd='運行 Wine cmd'
_W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)'
_W_msg_shell='執行命令提示視窗 (作為偵錯)'
_W_msg_folder='瀏覽容器中的檔案'
_W_msg_annihilate="刪除容器中所有資料和應用程式"
......@@ -3659,6 +3696,7 @@ winetricks_mainmenu()
_W_msg_explorer='Run explorer'
_W_msg_uninstaller='Run uninstaller'
_W_msg_winecmd='Run a Wine cmd shell'
_W_msg_wine_misc_exe='Run an arbitrary executable (.exe/.msi/.msu)'
_W_msg_shell='Run a commandline shell (for debugging)'
_W_msg_folder='Browse files'
_W_msg_annihilate="Delete ALL DATA AND APPLICATIONS INSIDE THIS WINEPREFIX"
......@@ -3688,6 +3726,7 @@ winetricks_mainmenu()
FALSE explorer '${_W_msg_explorer}' \
FALSE uninstaller '${_W_msg_uninstaller}' \
FALSE winecmd '${_W_msg_winecmd}' \
FALSE wine_misc_exe '${_W_msg_wine_misc_exe}' \
FALSE shell '${_W_msg_shell}' \
FALSE folder '${_W_msg_folder}' \
FALSE annihilate '${_W_msg_annihilate}' \
......@@ -3712,6 +3751,7 @@ winetricks_mainmenu()
explorer "${_W_msg_explorer}" off \
uninstaller "${_W_msg_uninstaller}" off \
winecmd "${_W_msg_winecmd}" off \
wine_misc_exe "${_W_msg_wine_misc_exe}" off \
shell "${_W_msg_shell}" off \
folder "${_W_msg_folder}" off \
annihilate "${_W_msg_annihilate}" off \
......@@ -5011,13 +5051,28 @@ winetricks_set_wineprefix()
# Using the variable W_SYSTEM32_DLLS instead of SYSTEM32 because some stuff does go under system32 for both arch's
# e.g., spool/drivers/color
if test -d "${W_DRIVE_C}/windows/syswow64"; then
# Check the bitness of wineserver + wine binary, used later to determine if we're on a WOW setup (no wine64)
# https://github.com/Winetricks/winetricks/issues/2030
_W_wineserver_binary_arch="$(winetricks_get_file_arch "${WINESERVER}")"
_W_wine_binary_arch="$(winetricks_get_file_arch "${WINE}")"
# determine wow64 type (new/old)
# FIXME: check what upstream is calling them
if [ "${_W_wineserver_binary_arch}" = "${_W_wine_binary_arch}" ]; then
_W_wow64_style="new"
else
_W_wow64_style="classic"
fi
# Probably need fancier handling/checking, but for a basic start:
# Note 'wine' may be named 'wine-stable'/'wine-staging'/etc.):
# WINE64 = wine64, available on 64-bit prefixes
# WINE_ARCH = the native wine for the prefix (wine for 32-bit, wine64 for 64-bit)
# WINE_ARCH = the native wine for the prefix (wine for 32-bit or new wow mode, wine64 for classic wow mode)
# WINE_MULTI = generic wine, new name
if [ -n "${WINE64}" ]; then
true
elif [ "${_W_wow64_style}" = "new" ]; then
WINE64="${WINE}"
elif [ "${WINE%??}64" = "${WINE}" ]; then
WINE64="${WINE}"
elif command -v "${WINE}64" >/dev/null 2>&1; then
......@@ -5086,9 +5141,14 @@ winetricks_set_wineprefix()
pt*) w_warn "Você está usando um WINEPREFIX de 64-bit. Observe que muitos casos instalam apenas versões de pacotes de 32-bit. Se você encontrar problemas, teste novamente em um WINEPREFIX limpo de 32-bit antes de relatar um bug." ;;
*) w_warn "You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug." ;;
esac
if [ "${_W_wow64_style}" = "new" ]; then
w_warn "You apppear to be using Wine's new wow64 mode. Note that this is EXPERIMENTAL and not yet fully supported. If reporting an issue, be sure to mention this."
fi
fi
else
_W_wow64_style="none"
WINE64="false"
WINE_ARCH="${WINE}"
WINE_MULTI="${WINE}"
......@@ -5366,6 +5426,7 @@ winetricks_wine_setup()
"${WINE}server" \
"$(command -v wineserver 2> /dev/null)" \
"$(dirname "${WINE}")/server/wineserver" \
"$(dirname "${WINE}")/wineserver" \
/usr/bin/wineserver-development \
/usr/lib/wine/wineserver \
/usr/lib/i386-kfreebsd-gnu/wine/wineserver \
......@@ -5578,6 +5639,8 @@ Options:
--update-rollback Rollback the last self update
-k, --keep_isos Cache isos (allows later installation without disc)
--no-clean Don't delete temp directories (useful during debugging)
--optin Opt in to reporting which verbs you use to the Winetricks maintainers
--optout Opt out of reporting which verbs you use to the Winetricks maintainers
-q, --unattended Don't ask any questions, just install automatically
-r, --ddrescue Retry hard when caching scratched discs
-t --torify Run downloads under torify, if available
......@@ -6217,21 +6280,17 @@ w_metadata d3dcompiler_47 dlls \
publisher="Microsoft" \
year="FIXME" \
media="download" \
file1="FirefoxSetup62.0.3-win32.exe" \
file1="d3dcompiler_47_32.dll" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/d3dcompiler_47.dll"
load_d3dcompiler_47()
{
# FIXME: would be awesome to find a small download that has both 32/64bit dlls, but this works for now:
w_download https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.3/win32/ach/Firefox%20Setup%2062.0.3.exe "d6edb4ff0a713f417ebd19baedfe07527c6e45e84a6c73ed8c66a33377cc0aca" "FirefoxSetup62.0.3-win32.exe"
w_try_7z "${W_TMP}/win32" "${W_CACHE}/d3dcompiler_47/FirefoxSetup62.0.3-win32.exe" "core/d3dcompiler_47.dll"
w_try_cp_dll "${W_TMP}/win32/core/d3dcompiler_47.dll" "${W_SYSTEM32_DLLS}/d3dcompiler_47.dll"
w_download https://raw.githubusercontent.com/mozilla/fxc2/master/dll/d3dcompiler_47_32.dll 2ad0d4987fc4624566b190e747c9d95038443956ed816abfd1e2d389b5ec0851
w_try_cp_dll "${W_CACHE}/d3dcompiler_47/d3dcompiler_47_32.dll" "${W_SYSTEM32_DLLS}/d3dcompiler_47.dll"
if [ "${W_ARCH}" = "win64" ]; then
w_download https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.3/win64/ach/Firefox%20Setup%2062.0.3.exe "721977f36c008af2b637aedd3f1b529f3cfed6feb10f68ebe17469acb1934986" "FirefoxSetup62.0.3-win64.exe"
w_try_7z "${W_TMP}/win64" "${W_CACHE}/d3dcompiler_47/FirefoxSetup62.0.3-win64.exe" "core/d3dcompiler_47.dll"
w_try_cp_dll "${W_TMP}/win64/core/d3dcompiler_47.dll" "${W_SYSTEM64_DLLS}/d3dcompiler_47.dll"
w_download https://raw.githubusercontent.com/mozilla/fxc2/master/dll/d3dcompiler_47.dll 4432bbd1a390874f3f0a503d45cc48d346abc3a8c0213c289f4b615bf0ee84f3
w_try_cp_dll "${W_CACHE}/d3dcompiler_47/d3dcompiler_47.dll" "${W_SYSTEM64_DLLS}/d3dcompiler_47.dll"
fi
w_override_dlls native d3dcompiler_47
......@@ -8428,7 +8487,7 @@ helper_vkd3d_proton()
{
_W_package_archive="${1}"
_W_dll_overrides="d3d12"
_W_dll_overrides="d3d12 d3d12core"
case "${_W_package_archive}" in
vkd3d-proton*)
......@@ -8486,7 +8545,8 @@ w_metadata vkd3d dlls \
publisher="Hans-Kristian Arntzen " \
year="2020" \
media="download" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/d3d12.dll"
installed_file1="${W_SYSTEM32_DLLS_WIN}/d3d12.dll" \
installed_file2="${W_SYSTEM32_DLLS_WIN}/d3d12core.dll"
load_vkd3d()
{
......@@ -9928,21 +9988,21 @@ w_metadata dotnet6 dlls \
publisher="Microsoft" \
year="2023" \
media="download" \
file1="dotnet-runtime-6.0.13-win-x86.exe" \
file1="dotnet-runtime-6.0.19-win-x86.exe" \
installed_file1="${W_PROGRAMS_WIN}/dotnet/dotnet.exe"
load_dotnet6()
{
# Official version, see https://dotnet.microsoft.com/en-us/download/dotnet/6.0
w_download https://download.visualstudio.microsoft.com/download/pr/5f095cbb-af6c-4d20-909d-87db53879370/d4c6f380a9a68fc853bd891189f3c975/dotnet-runtime-6.0.13-win-x86.exe 4ae439fe745e6ac404e346662b32d5f305aa2512b751fe6a4acb4c59e3a50a36
w_download https://download.visualstudio.microsoft.com/download/pr/6b04af90-1760-4f04-93bc-548cc03f1d4b/1479bfb3a68bd45bdce774e18449fe6c/dotnet-runtime-6.0.19-win-x86.exe cc1e7714b2f988c779de37c831857e5fa9d9f3d3a53d02298679a2c514c55649
w_try_cd "${W_CACHE}"/"${W_PACKAGE}"
w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/quiet}
if [ "${W_ARCH}" = "win64" ]; then
# Also install the 64-bit version
w_download https://download.visualstudio.microsoft.com/download/pr/436bce6a-f3e7-448e-9279-d58f1e39ab8a/9f5c7ed377294cc8e028e900540632d5/dotnet-runtime-6.0.13-win-x64.exe 59f853f718cb9d089e28393443d0db303934822290af4bf4023a0bf419cb0f9c
w_try "${WINE}" "" ${W_OPT_UNATTENDED:+/quiet}
w_download https://download.visualstudio.microsoft.com/download/pr/7bb7f85b-9bf0-4c6f-b3e4-a3832720f162/73e280cfd7f686c34748e0bf98d879c7/dotnet-runtime-6.0.19-win-x64.exe e9b1a354e9d207465fc635be80984d842f94d75171a141e51f3151bbfcb06945
w_try "${WINE}" "dotnet-runtime-6.0.19-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet}
fi
}
......@@ -9953,21 +10013,21 @@ w_metadata dotnetdesktop6 dlls \
publisher="Microsoft" \
year="2023" \
media="download" \
file1="windowsdesktop-runtime-6.0.13-win-x86.exe" \
file1="windowsdesktop-runtime-6.0.19-win-x86.exe" \
installed_file1="${W_PROGRAMS_WIN}/dotnet/dotnet.exe"
load_dotnetdesktop6()
{
# Official version, see https://dotnet.microsoft.com/en-us/download/dotnet/6.0
w_download https://download.visualstudio.microsoft.com/download/pr/d37ab8e6-095b-4f42-bea5-f519b3c62b68/3b87e1c571a3fc49607acc821d3f107a/windowsdesktop-runtime-6.0.13-win-x86.exe bf8f4a1dedf6a056e6139b28d8a9c23cf8893c7e26de8a82528efb652f6f6068
w_download https://download.visualstudio.microsoft.com/download/pr/1a0e6cd8-4c5b-4a25-8da6-6985792c5cad/aea270b977828772087496b7b073f383/windowsdesktop-runtime-6.0.19-win-x86.exe 9e0399dabe100ebe271b76615629891a10dc9b14aaedb3ec14d0e22e99925ddf
w_try_cd "${W_CACHE}"/"${W_PACKAGE}"
w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/quiet}
if [ "${W_ARCH}" = "win64" ]; then
# Also install the 64-bit version
w_download https://download.visualstudio.microsoft.com/download/pr/4c5e26cf-2512-4518-9480-aac8679b0d08/523f1967fd98b0cf4f9501855d1aa063/windowsdesktop-runtime-6.0.13-win-x64.exe a2e875d7734b468225da5786616bab5bede1b8c4e71c5dd2e4faffa83b34dec5
w_try "${WINE}" "windowsdesktop-runtime-6.0.13-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet}
w_download https://download.visualstudio.microsoft.com/download/pr/30841ca9-5538-40c3-9022-d1ba1e69f6e8/aa94715bc3d74ee0b2e27de757ef0cdb/windowsdesktop-runtime-6.0.19-win-x64.exe f95017731cd35fe71b27aa904fb64242b16f390c52ad6f9d464ddfe8c11325c9
w_try "${WINE}" "windowsdesktop-runtime-6.0.19-win-x64.exe" ${W_OPT_UNATTENDED:+/quiet}
fi
}
......@@ -10816,7 +10876,8 @@ load_icodecs()
# Work around bug in codec's installer?
# https://support.britannica.com/other/touchthesky/win/issues/TSTUw_150.htm
# https://appdb.winehq.org/objectManager.php?sClass=version&iId=7091
w_try_regsvr ir50_32.dll
w_override_dlls native,builtin ir50_32
w_try_regsvr ir50_32
# Apparently some codecs are missing, see https://github.com/Winetricks/winetricks/issues/302
# Download at https://www.moviecodec.com/download-codec-packs/indeo-codecs-legacy-package-31/
......@@ -13205,7 +13266,7 @@ w_metadata mfc140 dlls \
load_mfc140()
{
w_download_to vcrun2015 https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe fdd1e1f0dcae2d0aa0720895eff33b927d13076e64464bb7c7e5843b7667cd14
w_download_to vcrun2015 https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x86.exe dafb8b5f4b46bfaf7faa1d0ad05211f5c9855f0005cd603f8b5037b6a708d6b6
w_try_cabextract --directory="${W_TMP}/win32" "${W_CACHE}"/vcrun2015/vc_redist.x86.exe -F 'a11'
w_try_cabextract --directory="${W_TMP}/win32" "${W_TMP}/win32/a11"
......@@ -13216,7 +13277,7 @@ load_mfc140()
w_try_cp_dll "${W_TMP}/win32"/mfcm140u.dll "${W_SYSTEM32_DLLS}"/mfcm140u.dll
if [ "${W_ARCH}" = "win64" ]; then
w_download_to vcrun2015 https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe 5eea714e1f22f1875c1cb7b1738b0c0b1f02aec5ecb95f0fdb1c5171c6cd93a3
w_download_to vcrun2015 https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x64.exe d7257265dbc0635c96dd67ddf938a09abe0866cb2d4fa05f8b758c8644e724e4
w_try_cabextract --directory="${W_TMP}/win64" "${W_CACHE}"/vcrun2015/vc_redist.x64.exe -F 'a11'
w_try_cabextract --directory="${W_TMP}/win64" "${W_TMP}/win64/a11"
......@@ -13400,10 +13461,11 @@ load_vcrun2022()
# https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
# 2022-08-05: 14.32.31332 @ https://download.visualstudio.microsoft.com/download/pr/7331f052-6c2d-4890-8041-8058fee5fb0f/CF92A10C62FFAB83B4A2168F5F9A05E5588023890B5C0CC7BA89ED71DA527B0F/VC_redist.x86.exe cf92a10c62ffab83b4a2168f5f9a05e5588023890b5c0cc7ba89ed71da527b0f
# 2023-04-30: 14.34.31938 @ https://download.visualstudio.microsoft.com/download/pr/b2519016-4a13-4120-936c-cae003d567c4/8AE59D82845159DB3A70763F5CB1571E45EBF6A1ADFECC47574BA17B019483A0/VC_redist.x86.exe 8ae59d82845159db3a70763f5cb1571e45ebf6a1adfecc47574ba17b019483a0
# 2023/07/04: 14.36.32532 @ https://download.visualstudio.microsoft.com/download/pr/eaab1f82-787d-4fd7-8c73-f782341a0c63/5365A927487945ECB040E143EA770ADBB296074ECE4021B1D14213BDE538C490/VC_redist.x86.exe 5365a927487945ecb040e143ea770adbb296074ece4021b1d14213bde538c490
w_override_dlls native,builtin concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcp140_atomic_wait msvcp140_codecvt_ids vcamp140 vccorlib140 vcomp140 vcruntime140
w_download https://aka.ms/vs/17/release/vc_redist.x86.exe 8ae59d82845159db3a70763f5cb1571e45ebf6a1adfecc47574ba17b019483a0
w_download https://aka.ms/vs/17/release/vc_redist.x86.exe 5365a927487945ecb040e143ea770adbb296074ece4021b1d14213bde538c490
w_try_cd "${W_CACHE}"/"${W_PACKAGE}"
w_try_ms_installer "${WINE}" vc_redist.x86.exe ${W_OPT_UNATTENDED:+/q}
......@@ -13413,11 +13475,12 @@ load_vcrun2022()
# Also install the 64-bit version
# 2022/08/05: 14.32.31332 @ https://download.visualstudio.microsoft.com/download/pr/7331f052-6c2d-4890-8041-8058fee5fb0f/CE6593A1520591E7DEA2B93FD03116E3FC3B3821A0525322B0A430FAA6B3C0B4/VC_redist.x64.exe 8ae59d82845159db3a70763f5cb1571e45ebf6a1adfecc47574ba17b019483a0
# 2023/04/30: 14.34.31938 @ https://download.visualstudio.microsoft.com/download/pr/8b92f460-7e03-4c75-a139-e264a770758d/26C2C72FBA6438F5E29AF8EBC4826A1E424581B3C446F8C735361F1DB7BEFF72/VC_redist.x64.exe 26c2c72fba6438f5e29af8ebc4826a1e424581b3c446f8c735361f1db7beff72
# 2023/07/04: 14.36.32532 @ https://download.visualstudio.microsoft.com/download/pr/eaab1f82-787d-4fd7-8c73-f782341a0c63/917C37D816488545B70AFFD77D6E486E4DD27E2ECE63F6BBAAF486B178B2B888/VC_redist.x64.exe 917c37d816488545b70affd77d6e486e4dd27e2ece63f6bbaaf486b178b2b888
# vcruntime140_1 is only shipped on x64:
w_override_dlls native,builtin vcruntime140_1
w_download https://aka.ms/vs/17/release/vc_redist.x64.exe 26c2c72fba6438f5e29af8ebc4826a1e424581b3c446f8c735361f1db7beff72
w_download https://aka.ms/vs/17/release/vc_redist.x64.exe 917c37d816488545b70affd77d6e486e4dd27e2ece63f6bbaaf486b178b2b888
w_try_ms_installer "${WINE}" vc_redist.x64.exe ${W_OPT_UNATTENDED:+/q}
;;
esac
......@@ -14124,7 +14187,7 @@ w_metadata andale fonts \
load_andale()
{
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/andale32.exe" 0524fe42951adc3a7eb870e32f0920313c71f170c859b5f770d82b4ee111e970
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/7d/andale32.exe" 0524fe42951adc3a7eb870e32f0920313c71f170c859b5f770d82b4ee111e970
w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/andale32.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "AndaleMo.TTF"
w_register_font andalemo.ttf "Andale Mono"
......@@ -14142,8 +14205,8 @@ w_metadata arial fonts \
load_arial()
{
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/arial32.exe" 85297a4d146e9c87ac6f74822734bdee5f4b2a722d7eaa584b7f2cbf76f478f6
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/arialb32.exe" a425f0ffb6a1a5ede5b979ed6177f4f4f4fdef6ae7c302a7b7720ef332fec0a8
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/5e/arial32.exe" 85297a4d146e9c87ac6f74822734bdee5f4b2a722d7eaa584b7f2cbf76f478f6
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/5d/arialb32.exe" a425f0ffb6a1a5ede5b979ed6177f4f4f4fdef6ae7c302a7b7720ef332fec0a8
w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/arial32.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Arial*.TTF"
......@@ -14169,7 +14232,7 @@ w_metadata comicsans fonts \
load_comicsans()
{
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/comic32.exe" 9c6df3feefde26d4e41d4a4fe5db2a89f9123a772594d7f59afd062625cd204e
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/52/comic32.exe" 9c6df3feefde26d4e41d4a4fe5db2a89f9123a772594d7f59afd062625cd204e
w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/comic32.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Comic*.TTF"
w_register_font comicbd.ttf "Comic Sans MS Bold"
......@@ -14187,7 +14250,7 @@ w_metadata courier fonts \
installed_file1="${W_FONTSDIR_WIN}/cour.ttf"
load_courier()
{
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/courie32.exe" bb511d861655dde879ae552eb86b134d6fae67cb58502e6ff73ec5d9151f3384
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/1b/courie32.exe" bb511d861655dde879ae552eb86b134d6fae67cb58502e6ff73ec5d9151f3384
w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/courie32.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "cour*.ttf"
w_register_font courbd.ttf "Courier New Bold"
......@@ -14207,7 +14270,7 @@ w_metadata georgia fonts \
installed_file1="${W_FONTSDIR_WIN}/georgia.ttf"
load_georgia()
{
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/georgi32.exe" 2c2c7dcda6606ea5cf08918fb7cd3f3359e9e84338dc690013f20cd42e930301
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/f0/georgi32.exe" 2c2c7dcda6606ea5cf08918fb7cd3f3359e9e84338dc690013f20cd42e930301
w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/georgi32.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Georgia*.TTF"
w_register_font georgiab.ttf "Georgia Bold"
......@@ -14228,7 +14291,7 @@ w_metadata impact fonts \
load_impact()
{
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/impact32.exe" 6061ef3b7401d9642f5dfdb5f2b376aa14663f6275e60a51207ad4facf2fccfb
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/10/impact32.exe" 6061ef3b7401d9642f5dfdb5f2b376aa14663f6275e60a51207ad4facf2fccfb
w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/impact32.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Impact.TTF"
w_register_font impact.ttf "Impact"
......@@ -14246,7 +14309,7 @@ w_metadata times fonts \
load_times()
{
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/times32.exe" db56595ec6ef5d3de5c24994f001f03b2a13e37cee27bc25c58f6f43e8f807ab
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/fe/times32.exe" db56595ec6ef5d3de5c24994f001f03b2a13e37cee27bc25c58f6f43e8f807ab
w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/times32.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Times*.TTF"
w_register_font timesbd.ttf "Times New Roman Bold"
......@@ -14267,7 +14330,7 @@ w_metadata trebuchet fonts \
load_trebuchet()
{
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/trebuc32.exe" 5a690d9bb8510be1b8b4fe49f1f2319651fe51bbe54775ddddd8ef0bd07fdac9
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/fa/trebuc32.exe" 5a690d9bb8510be1b8b4fe49f1f2319651fe51bbe54775ddddd8ef0bd07fdac9
w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/trebuc32.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "[tT]rebuc*.ttf"
w_register_font trebucbd.ttf "Trebuchet MS Bold"
......@@ -14288,7 +14351,7 @@ w_metadata verdana fonts \
load_verdana()
{
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/verdan32.exe" c1cb61255e363166794e47664e2f21af8e3a26cb6346eb8d2ae2fa85dd5aad96
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/a1/verdan32.exe" c1cb61255e363166794e47664e2f21af8e3a26cb6346eb8d2ae2fa85dd5aad96
w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/verdan32.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Verdana*.TTF"
w_register_font verdanab.ttf "Verdana Bold"
......@@ -14309,7 +14372,7 @@ w_metadata webdings fonts \
load_webdings()
{
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/webdin32.exe" 64595b5abc1080fba8610c5c34fab5863408e806aafe84653ca8575bed17d75a
w_download_to corefonts "https://mirrors.kernel.org/gentoo/distfiles/95/webdin32.exe" 64595b5abc1080fba8610c5c34fab5863408e806aafe84653ca8575bed17d75a
w_try_cabextract -d "${W_TMP}" "${W_CACHE}"/corefonts/webdin32.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "Webdings.TTF"
w_register_font webdings.ttf "Webdings"
......@@ -14661,7 +14724,7 @@ w_metadata opensymbol fonts \
publisher="libreoffice.org" \
year="2022" \
media="download" \
file1="fonts-opensymbol_102.11+LibO7.0.4-4+deb11u4_all.deb" \
file1="fonts-opensymbol_102.11+LibO7.0.4-4+deb11u7_all.deb" \
installed_file1="${W_FONTSDIR_WIN}/opens___.ttf"
load_opensymbol()
......@@ -14669,7 +14732,7 @@ load_opensymbol()
# The OpenSymbol fonts are a replacement for the Windows Wingdings font from OpenOffice.org.
# Need to w_download Debian since I can't find a standalone download from OpenOffice
# Note: The source download package on debian is for _all_ of OpenOffice, which is 266 MB.
w_download https://cdn-aws.deb.debian.org/debian-security/pool/updates/main/libr/libreoffice/fonts-opensymbol_102.11+LibO7.0.4-4+deb11u4_all.deb 463127683fc56a8ba6ca2b92e2c2b0d969cbbca9ff561055b084e26a26d40345
w_download https://cdn-aws.deb.debian.org/debian-security/pool/updates/main/libr/libreoffice/fonts-opensymbol_102.11+LibO7.0.4-4+deb11u7_all.deb 56932af381469673cea780c452644c193ec963e37756a3030428445d8fbc67c3
w_try_cd "${W_TMP}"
w_try_ar "${W_CACHE}/${W_PACKAGE}/${file1}" data.tar.xz
w_try tar -Jxf "${W_TMP}/data.tar.xz" ./usr/share/fonts/truetype/libreoffice/opens___.ttf
......@@ -16399,104 +16462,60 @@ w_metadata origin apps \
year="2011" \
media="download" \
file1="OriginSetup.exe" \
file2="version_v2.dll" \
installed_file1="${W_PROGRAMS_X86_WIN}/Origin/Origin.exe" \
homepage="https://www.origin.com/"
helper_origin_dl()
{
# Skipping checksum as this changes too often
w_download_to origin https://origin-a.akamaihd.net/Origin-Client-Download/origin/live/OriginSetup.exe
}
load_origin()
{
# Need to force wine-6.0 as Origin doesn't run below WineCX21 (wine32on64)
if [ "$(uname -s)" = "Darwin" ] && w_wine_version_in ,6.0 ; then
w_die "${W_PACKAGE} requires wine version 6.0 (or newer)"
fi
w_download_to origin https://taskinoz.com/downloads/OriginSetup-10.5.119.52718.exe ed6ee5174f697744ac7c5783ff9021da603bbac42ae9836cd468d432cadc9779 OriginSetup.exe
w_download_to origin https://github.com/p0358/Fuck_off_EA_App/releases/download/v2/version.dll 5f0bbb15f7cff8540642c28739db0cd6b15e77e5935f4e6701351eea86d929ab version_v2.dll
if [ "${WINETRICKS_FORCE}" != 1 ] && w_workaround_wine_bug 44691 "Installer fails under wine, manually unpacking it instead" 6.7,; then
w_call originupdater
w_warn "${W_PACKAGE} might fail, to update use the originupdate verb"
else
helper_origin_dl
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" "${file1}" /NoLaunch ${W_OPT_UNATTENDED:+/SILENT}
fi
if w_workaround_wine_bug 32342 "QtWebEngineProcess.exe crashes when updating or launching Origin (missing fonts)"; then
w_call corefonts
fi
if w_workaround_wine_bug 44258 "Origin crashes on start."; then
w_override_app_dlls igoproxy.exe disabled d3d10
w_override_app_dlls igoproxy.exe disabled d3d10_1
w_override_app_dlls igoproxy.exe disabled d3d10core
w_override_app_dlls igoproxy.exe disabled d3d11
w_override_app_dlls igoproxy.exe disabled d3d12
w_override_app_dlls igoproxy.exe disabled dxgi
w_override_app_dlls igoproxy.exe disabled vulkan-1
w_override_app_dlls igoproxy.exe disabled winevulkan
if [ "${W_ARCH}" = "win64" ]; then
w_override_app_dlls igoproxy64.exe disabled d3d10
w_override_app_dlls igoproxy64.exe disabled d3d10_1
w_override_app_dlls igoproxy64.exe disabled d3d10core
w_override_app_dlls igoproxy64.exe disabled d3d11
w_override_app_dlls igoproxy64.exe disabled d3d12
w_override_app_dlls igoproxy64.exe disabled dxgi
w_override_app_dlls igoproxy64.exe disabled vulkan-1
w_override_app_dlls igoproxy64.exe disabled winevulkan
fi
if w_workaround_wine_bug 36863 "Disabling Origin In-game overlay."; then
w_override_dlls disabled igoproxy.exe
w_override_dlls disabled igoproxy64.exe
fi
if w_workaround_wine_bug 44985 "Disabling libglesv2 to make Store and Library function correctly."; then
w_override_dlls disabled libglesv2
w_override_app_dlls Origin.exe disabled libglesv2
fi
# Avoids "An unexpected error has occurred. Please try again in a few moments. Error: 327684:3"
# Games won't register correctly unless disabled
if w_workaround_wine_bug 52781 "Origin does not notice games exiting, does not allow them to be relaunched."; then
w_override_app_dlls origin.exe disabled gameux
w_override_app_dlls Origin.exe disabled gameux
fi
# Origin requirements
w_call vcrun2010
w_call vcrun2013
w_call vcrun2019
if w_wine_version_in ,6.3 ; then
w_call d3dcompiler_47
if [ "$(uname -s)" = "Darwin" ]; then
w_override_app_dlls EALink.exe disabled d3d10
w_override_app_dlls EALink.exe disabled d3d10core
w_override_app_dlls EALink.exe disabled d3d12
w_override_app_dlls EALink.exe disabled d3d11
w_override_app_dlls EALink.exe disabled dxgi
w_override_app_dlls Origin.exe disabled dxgi
fi
w_warn "Origin In-game overlay must be disabled"
}
#----------------------------------------------------------------
w_metadata originupdater apps \
title="EA Origin (updater)" \
publisher="EA" \
media="download" \
file1="../origin/OriginSetup.exe" \
homepage="https://www.origin.com/"
w_warn "Workaround Forced EA app upgrade."
w_try cp -f "${W_CACHE}/${W_PACKAGE}/version_v2.dll" "${W_PROGRAMS_X86_UNIX}/Origin/version.dll"
w_override_app_dlls Origin.exe native version
load_originupdater()
{
# Need to force wine-6.0 as Origin doesn't run below WineCX21 (wine32on64)
if [ "$(uname -s)" = "Darwin" ] && w_wine_version_in ,6.0 ; then
w_die "${W_PACKAGE} requires wine version 6.0 (or newer)"
fi
w_warn "Pretend EA app is installed"
cat > "${W_TMP}"/ea-app.reg <<_EOF_
REGEDIT4
# Remove cached installer as the checksum changes too often that is even more critical for the updater function
w_try rm -f "${W_CACHE}/origin/OriginSetup.exe"
[HKEY_LOCAL_MACHINE\\Software\\Electronic Arts\\EA Desktop]
"InstallSuccessful"="true"
helper_origin_dl
_EOF_
w_try_regedit "${W_TMP}"/ea-app.reg
w_try rm -rf "${W_PROGRAMS_X86_UNIX}"/Origin
w_try_7z "${W_CACHE}"/origin "${W_CACHE}"/origin/OriginSetup.exe update
w_try_7z "${W_PROGRAMS_X86_UNIX}"/Origin "${W_CACHE}"/origin/update/OriginUpdate_*_*_*_*.zip -aoa
w_try rm -rf "${W_CACHE}"/origin/update
}
#----------------------------------------------------------------
......@@ -19100,6 +19119,21 @@ load_winxp()
#---- Main Program ----
# In GUI mode, allow a user to select an arbitrary executable and start it
winetricks_misc_exe()
{
_W_title="Select the exectuable to run"
_W_filter="*.exe *.msi *.msu"
case "${WINETRICKS_GUI}" in
*zenity) _W_exe="$("${WINETRICKS_GUI}" --file-selection --file-filter="${_W_filter}" --title="${_W_title}")" ;;
*kdialog) _W_exe="$("${WINETRICKS_GUI}" --getopenfilename "${HOME}" "${_W_filter}")" ;;
*) w_die "winetricks_misc_exe only support zenity/kdialog at this time" ;;
esac
# Using start.exe so that .exe/.msi/.msu will work without extra fuss
"${WINE}" start.exe "$(w_winepath -w "${_W_exe}")"
}
winetricks_stats_save()
{
# Save opt-in status
......@@ -19259,6 +19293,8 @@ winetricks_stats_log_command()
winetricks_shell()
{
(
_W_escape() { printf "'%s'\\n" "$(printf '%s' "$1" | sed -e "s/'/'\\\\''/g")"; }
w_try_cd "${W_DRIVE_C}"
export WINE
......@@ -19270,7 +19306,14 @@ winetricks_shell()
for term in gnome-terminal konsole Terminal xterm; do
if test "$(command -v ${term} 2>/dev/null)"; then
if [ -n "${*}" ]; then
WINEDEBUG=-all ${term} -e "${*}"
# Convert the list of arguments into a single
# string while single quoting each argument.
_W_args=""
for arg in "$@"; do
_W_args="${_W_args}$(_W_escape "${arg}") "
done
WINEDEBUG=-all ${term} -e "${_W_args}"
else
WINEDEBUG=-all ${term}
fi
......@@ -19333,6 +19376,7 @@ execute_command()
uninstaller) "${WINE}" uninstaller ;;
shell) winetricks_shell ;;
winecmd) winetricks_shell "${WINE}" "cmd.exe" ;;
wine_misc_exe) winetricks_misc_exe ;;
# These have to come before *=disabled to avoid looking like DLLs
cfc=disable*) w_call cfc=disabled ;;
......
......@@ -27,7 +27,7 @@ Set country code to CC and don't detect your IP address
when retrying downloads
.TP
.B
\-\-force
\-f, \-\-force
Don't check whether packages were already installed
.TP
.B
......@@ -35,10 +35,22 @@ Don't check whether packages were already installed
Show GUI diagnostics even when driven by the command-line interface
.TP
.B
\-\-gui=OPT
Set OPT to kdialog or zenity to override GUI engine
.TP
.B
\-\-isolate
Install each app or game in its own bottle
.TP
.B
\-\-self\-update
Update this application to the last version
.TP
.B
\-\-update\-rollback
Rollback the last self update
.TP
.B
\-k, \-\-keep_isos
Cache ISOs (allows later installation without disc)
.TP
......@@ -51,6 +63,14 @@ Don't install each app or game in its own bottle (default)
Don't delete temp directories (useful during debugging)
.TP
.B
\-\-optin
Opt in to reporting which verbs you use to the Winetricks maintainers
.TP
.B
\-\-optout
Opt out of reporting which verbs you use to the Winetricks maintainers
.TP
.B
\-q, \-\-unattended
Don't ask any questions, just install automatically
.TP
......@@ -59,10 +79,18 @@ Don't ask any questions, just install automatically
Retry hard when caching scratched discs
.TP
.B
\-t, \-\-torify
Run downloads under torify, if available
.TP
.B
\-v, \-\-verbose
Echo all commands as they are executed
.TP
.B
\-\-verify
Run (automated) GUI tests for verbs, if available
.TP
.B
\-h, \-\-help
Display this message and exit
.TP
......@@ -85,10 +113,6 @@ dlls list
list verbs in category 'dlls'
.TP
.B
games list
list verbs in category 'games'
.TP
.B
fonts list
list verbs in category 'fonts'
.TP
......@@ -172,17 +196,20 @@ See <https://www.gnu.org/licenses/>.
.SH BUGS
.PP
Bugs may be reported at
.I https://github.com/Winetricks/winetricks
.I https://github.com/Winetricks/winetricks/issues
.PP
.SH AVAILABILITY
The most recent version of
.B winetricks
can be downloaded from
.I https://github.com/Winetricks/winetricks/releases
.I https://github.com/Winetricks/winetricks/releases/latest
.PP
The latest snapshot of the code may be obtained via git; see
.I https://github.com/Winetricks/winetricks/
.PP
Documentation for Winetricks can be found at
.I https://github.com/Winetricks/winetricks/wiki
.PP
For further information about
.B winetricks
see
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment