Commit 72b9b7ad authored by Vitaly Lipatov's avatar Vitaly Lipatov

just import winetricks-20210815.tar with rpmgs script

parent 7fd194eb
on: [push, pull_request]
jobs:
macos:
name: make install (with prefix)
runs-on: macos-latest
steps:
- name: checkout project
uses: actions/checkout@v2
# 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)"
linux:
name: make install (with prefix)
runs-on: ubuntu-latest
steps:
- name: checkout project
uses: actions/checkout@v2
- name: run make install (with PREFIX)
run: time make install PREFIX="$(mktemp -d)"
- name: run make install (without PREFIX)
run: time sudo make install
on: [push, pull_request]
jobs:
shellcheck:
name: shellcheck
runs-on: ubuntu-latest
steps:
- name: checkout project
uses: actions/checkout@v2
- name: run shell-checks
run: sudo apt-get -y install shellcheck python3-bashate && time ./tests/shell-checks
on: [push, pull_request]
jobs:
update:
name: self-update-test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
steps:
- name: checkout project
uses: actions/checkout@v2
- name: run self-update-test
run: ./tests/self-update-test
language: shell
os:
- linux
- osx
arch:
- amd64
- ppc64le
sudo: required
dist: bionic
# Note: needed by winetricks-test, which not yet supported in TravisCI
# - cabextract
# - p7zip
# - unrar
# - unzip
# - wine
addons:
apt:
packages:
# for bashate
- python-tz
# for checkbashisms
- devscripts
# Ubuntu notes:
# * ShellCheck is already installed in TravisCI (but not on ppc64le, see below)
# * bashate is not available on Trusty and we need to install it manually
# macOS note:
# * Homebrew doesn't provide bashate, they don't package things
# that are on pypi
#
# We use a script that installs bashate by unpacking .deb files built for
# Ubuntu Bionic (18.04) because:
# 1. python-bashate 0.3.1-2 (for Artful) can be installed but
# Artful will not be supported after July 2018
# 2. python-bashate 0.5.1-1 (for Bionic) can't be installed on Trusty
# because it contains "control.tar.xz"
# > dpkg-deb: error: archive '/var/cache/apt/archives/python-bashate_0.5.1-1_all.deb' has premature member 'control.tar.xz' before 'control.tar.gz', giving up
# > dpkg: error processing archive /var/cache/apt/archives/python-bashate_0.5.1-1_all.deb (--unpack):
# > subprocess dpkg-deb --control returned error exit status 2
# 3. Adding apt-line for newer Ubuntu release breaks dependencies
# e.g. can't install Official Wine package on Ubuntu
# > The following packages have unmet dependencies:
# > winehq-stable : Depends: wine-stable (= 3.0.0~trusty)
# > E: Unable to correct problems, you have held broken packages.
# 4. Ubuntu Bionic is an LTS release and will be supported until April 2023
# This means that we can use version 0.5.1-1 until April 2023
# 5. The installation via the script is quick
# (simply download and unpack files)
#
# If the script fails, install pip and use it to install bashate
before_install:
- time sh ./misc/travis-install-bashate-deb.sh || time sh ./misc/travis-install-bashate-pip.sh
# "brew update" (or auto-update when installing) takes a long time,
# but checkbashisms and shellcheck can (usually) be installed without this
# So try installing with "HOMEBREW_NO_AUTO_UPDATE=1", which considerably reduces job time on macOS
# If it fails retry each individually with auto-update enabled
- |
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
for pkg in checkbashisms shellcheck yq; do
if HOMEBREW_NO_AUTO_UPDATE=1 brew install "$pkg"; then
# everything worked, nothing more to do:
:
else
# Allow failure, since homebrew can be flaky (the tests will still run on linux).
time brew install "$pkg" || true
fi
done
fi
# Install shellcheck for power job
- |
if [[ "$TRAVIS_CPU_ARCH" == "ppc64le" ]]; then
time sudo apt update;
time sudo apt install -y shellcheck;
fi
# Note if testing on a branch, you can replace this with your desired command, e.g.,:
# script: time sh ./src/winetricks -q comctl32
# Some tests require a working $DISPLAY, and not just Xvfb. See tests/winetricks-test for the list.
# Either skip those / test manually, or run them on OS X.
# Also note:
# Installing wine on the vms is a pain.
# Linux: currently can't get 1.8.x / 1.9.x installed :/
# OS X: 38 minutes
script:
# shell-checks is quick and works, no display or compiles needed
- time sh ./tests/shell-checks
# Keep updates working
- time sh ./tests/self-update-test
# OS X doesn't allow writing to /usr/bin, skip non-PREFIX make install test there
install:
- if [[ "$TRAVIS_OS_NAME" != "osx" ]] ; then time sudo make install ; fi
- time make install PREFIX="$(mktemp -d)"
......@@ -83,8 +83,8 @@ check:
echo 'To suppress tests in debuild, export DEB_BUILD_OPTIONS=nocheck'
echo ''
echo 'FIXME: this should kill stray wine processes before and after, but some leak through, you might need to kill them.'
# Check for checkbashisms/shellcheck issues first:
echo "Running checkbashisms/shellcheck:"
# Check for shellcheck issues first:
echo "Running shellcheck:"
sh ./tests/shell-checks || exit 1
# Check all script dependencies before starting tests:
echo "Checking dependencies.."
......@@ -97,7 +97,7 @@ check-coverage:
WINETRICKS_ENABLE_KCOV=1 $(MAKE) check
shell-checks:
echo "This runs shell checks only. Currently, these are checkbashisms and shellcheck."
echo "This runs shell checks only. Currently, this is mostly shellcheck."
echo "This is relatively fast and doesn't download anything."
sh ./tests/shell-checks || exit 1
......@@ -122,8 +122,8 @@ test:
echo 'To suppress tests in debuild, export DEB_BUILD_OPTIONS=nocheck'
echo ''
echo 'FIXME: this should kill stray wine processes before and after, but some leak through, you might need to kill them.'
# Check for checkbashisms/shellcheck issues first:
echo "Running checkbashisms/shellcheck:"
# Check for shellcheck issues first:
echo "Running shellcheck:"
sh ./tests/shell-checks || exit 1
# Check all script dependencies before starting tests:
echo "Checking dependencies.."
......
# Winetricks
[![Build Status](https://travis-ci.org/Winetricks/winetricks.svg?branch=master)](https://travis-ci.org/Winetricks/winetricks) [![License](http://img.shields.io/:license-lgpl-green.svg)](https://tldrlegal.com/license/gnu-lesser-general-public-license-v2.1-(lgpl-2.1))
[![License](http://img.shields.io/:license-lgpl-green.svg)](https://tldrlegal.com/license/gnu-lesser-general-public-license-v2.1-(lgpl-2.1))
Homepage of Winetricks, previously hosted at <https://code.google.com/p/winetricks>.
......@@ -78,6 +78,13 @@ wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetric
# Move the winetricks BASH completion script to a standard location for BASH completion modules. See:
# https://www.tldp.org/LDP/abs/html/tabexpansion.html
sudo mv winetricks.bash-completion /usr/share/bash-completion/completions/winetricks
# Download the latest winetricks MAN page (master="latest version") from Github.
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks.1
# Move the winetricks MAN page to a standard location for MAN pages. See:
# https://www.pathname.com/fhs/pub/fhs-2.3.html#USRSHAREMANMANUALPAGES
sudo mv winetricks.1 /usr/share/man/man1/winetricks.1
_EOF_SCRIPT
###### create update_winetricks FINISH ########
......@@ -199,7 +206,7 @@ load_icecat()
Note that the file prefix (icecat.verb) and command name (icecat) must match. All metadata fields are optional, only the command name and category are required.
# Tests
The tests need `bashate`, `checkbashisms`, and `shellcheck>=0.4.4` installed.
The tests need `bashate` and `shellcheck>=0.4.4` installed.
Makefile supports a few test targets:
* `check` - runs './tests/winetricks-tests quick' (without first clearing $WINETRICKS_CACHE)
......
#!/bin/sh
#
# This script is public domain.
# This script installs bashate by unpacking .deb files built for Ubuntu 18.04.
# This is intended to install/use bashate in TravisCI.
# Usage (.travis.yml):
# ...
# os:
# - linux
# - ...
# sudo: required
# dist: trusty
# ...
# addons:
# apt:
# packages:
# - python-tz
# - ...
# ...
# before_install:
# - time sh ./misc/travis-install-bashate-deb.sh
# - ...
set -eux
# "us-central1.gce.archive.ubuntu.com" is used by "apt" addon
# (See "Installing APT Packages" in logs), assuming it's fast
UBUNTU_POOL=http://us-central1.gce.archive.ubuntu.com/ubuntu/pool
DEB_BABEL_LOCALEDATA=${UBUNTU_POOL}/main/p/python-babel/python-babel-localedata_2.4.0+dfsg.1-2ubuntu1_all.deb
DEB_BABEL=${UBUNTU_POOL}/main/p/python-babel/python-babel_2.4.0+dfsg.1-2ubuntu1_all.deb
DEB_BASHATE=${UBUNTU_POOL}/universe/p/python-bashate/python-bashate_0.5.1-1_all.deb
DEB_PBR=${UBUNTU_POOL}/main/p/python-pbr/python-pbr_3.1.1-3ubuntu3_all.deb
DEB_SIX=${UBUNTU_POOL}/main/s/six/python-six_1.11.0-2_all.deb
if command -v bashate >/dev/null; then
echo "bashate is already installed."
exit 1
fi
if test -d /Library; then
# macOS: "six" is already installed
curl --remote-name-all ${DEB_BABEL_LOCALEDATA} ${DEB_BABEL} ${DEB_BASHATE} ${DEB_PBR}
BINDIR=/usr/local/bin
PACKAGESDIR=/Library/Python/2.7/site-packages
else
# Ubuntu
curl --remote-name-all ${DEB_BABEL_LOCALEDATA} ${DEB_BABEL} ${DEB_BASHATE} ${DEB_PBR} ${DEB_SIX}
BINDIR=/usr/bin
PACKAGESDIR=/usr/lib/python2.7/dist-packages
fi
for f in *.deb; do
ar p "${f}" data.tar.xz | tar -Jvxf -
done
sudo cp -R usr/lib/python2.7/dist-packages/* ${PACKAGESDIR}/
sudo install -m 755 usr/bin/python2-bashate ${BINDIR}/bashate
#!/bin/sh
#
# This script is public domain.
#
# This file is intended to install bashate via pip.
set -ex
if test -d /Library; then
# macOS
curl https://bootstrap.pypa.io/get-pip.py | sudo python
else
# Ubuntu
sudo apt-get install python-pip
fi
sudo -H pip install bashate
......@@ -6,7 +6,7 @@
# Name of this version of winetricks (YYYYMMDD)
# (This doesn't change often, use the sha256sum of the file when reporting problems)
WINETRICKS_VERSION=20210206
WINETRICKS_VERSION=20210206-next
# This is a UTF-8 file
# You should see an o with two dots over it here [ö]
......@@ -99,7 +99,6 @@ WINETRICKS_VERSION=20210206
# - No bash, zsh, or csh extensions; only use features from
# the POSIX standard shell and utilities; see
# https://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html
# - 'checkbashisms -p -x winetricks' should show no warnings (per Debian policy)
# - Prefer classic sh idioms as described in e.g.
# "Portable Shell Programming" by Bruce Blinn, ISBN: 0-13-451494-7
# - If there is no universally available program for a needed function,
......@@ -1027,12 +1026,16 @@ w_verify_sha256sum()
w_get_sha256sum "${_W_vs_file}"
if [ "${_W_gotsha256sum}"x != "${_W_vs_wantsum}"x ] ; then
if [ "${WINETRICKS_FORCE}" = 1 ]; then
w_warn "sha256sum mismatch! However --force was used, so trying anyway. Caveat emptor."
else
case ${LANG} in
pl*) w_die "Niezgodność sumy sha256sum! Zmień nazwę ${_W_vs_file} i spróbuj ponownie." ;;
ru*) w_die "Контрольная сумма sha256sum не совпадает! Переименуйте файл ${_W_vs_file} и попробуйте еще раз." ;;
*) w_die "sha256sum mismatch! Rename ${_W_vs_file} and try again." ;;
*) w_die "sha256sum mismatch! Rename ${_W_vs_file} and try again. Alternatively, use --force to ignore this check." ;;
esac
fi
fi
unset _W_vs_wantsum _W_vs_file _W_gotsha256sum
}
......@@ -1338,13 +1341,17 @@ w_download_to()
;;
esac
if test ! "${WINETRICKS_CONTINUE_DOWNLOAD}" ; then
if test "${WINETRICKS_FORCE}" != 1; then
case ${LANG} in
pl*) w_warn "Niezgodność sum kontrolnych dla ${_W_cache}/${_W_file}, pobieram ponownie" ;;
ru*) w_warn "Контрольная сумма файла ${_W_cache}/${_W_file} не совпадает, попытка повторной загрузки" ;;
*) w_warn "Checksum for ${_W_cache}/${_W_file} did not match, retrying download" ;;
esac
mv -f "${_W_cache}/${_W_file}" "${_W_cache}/${_W_file}".bak
else
w_warn "Checksum for ${_W_cache}/${_W_file} did not match, but --force was used, so ignoring and trying anyway."
checksum_ok=1
break
fi
else
# file exists, no checksum known, declare success and exit loop
......@@ -5564,18 +5571,18 @@ Angegebene Verben ausführen.
Jedes Verb installiert eine Anwendung oder ändert eine Einstellung.
Optionen:
--country=CC Set country code to CC and don't detect your IP address
--country=CC Ländercode auf CC setzen und IP Adresse nicht auslesen
-f, --force Nicht prüfen ob Pakete bereits installiert wurden
--gui GUI Diagnosen anzeigen, auch wenn von der Kommandozeile gestartet
--isolate Jedes Programm oder Spiel in eigener Bottle (WINEPREFIX) installieren
--self-update Update this application to the last version
--update-rollback Rollback the last self update
--self-update Dieses Programm auf die neueste Version aktualisieren
--update-rollback Rollback des letzten Self Update
-k, --keep_isos ISOs local speichern (erlaubt spätere Installation ohne Disk)
--no-clean Temp Verzeichnisse nicht löschen (nützlich beim debuggen)
-q, --unattended Keine Fragen stellen, alles automatisch installieren
-r, --ddrescue Alternativer Zugriffsmodus (hilft bei zerkratzten Disks)
-t --torify Run downloads under torify, if available
--verify Wenn Möglisch automatische GUI Tests für Verben starten
-t --torify Wenn möglich Downloads unter torify ausführen
--verify Wenn möglich automatische GUI Tests für Verben starten
-v, --verbose Alle ausgeführten Kommandos anzeigen
-h, --help Diese Hilfemeldung anzeigen
-V, --version Programmversion anzeigen und Beenden
......@@ -6053,7 +6060,7 @@ w_metadata comctl32 dlls \
publisher="Microsoft" \
year="2001" \
media="download" \
file1="cc32inst.exe" \
file1="CC32inst.exe" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/comctl32.dll"
load_comctl32()
......@@ -6066,7 +6073,7 @@ load_comctl32()
w_download https://downloads.sourceforge.net/project/pocmin/Win%2095_98%20Controls/Win%2095_98%20Controls/CC32inst.exe d68c0cca721870aed39f5f2efd80dfb74f3db66d5f9a49e7578b18279edfa4a7
w_try "${WINE}" "${W_CACHE}"/comctl32/cc32inst.exe "/T:${W_TMP_WIN}" /c ${W_OPT_UNATTENDED:+/q}
w_try "${WINE}" "${W_CACHE}/${W_PACKAGE}/${file1}" "/T:${W_TMP_WIN}" /c ${W_OPT_UNATTENDED:+/q}
w_try_unzip "${W_TMP}" "${W_TMP}"/comctl32.exe
w_try "${WINE}" "${W_TMP}"/x86/50ComUpd.Exe "/T:${W_TMP_WIN}" /c ${W_OPT_UNATTENDED:+/q}
w_try cp "${W_TMP}"/comcnt.dll "${W_SYSTEM32_DLLS}"/comctl32.dll
......@@ -8349,50 +8356,98 @@ load_dxvk173()
helper_dxvk_d9vk "${file1}" "5.8" "1.2.140" "dxgi,d3d9,d3d10core,d3d11"
}
#----------------------------------------------------------------
w_metadata dxvk180 dlls \
title="Vulkan-based D3D9/D3D10/D3D11 implementation for Linux / Wine (1.8)" \
publisher="Philip Rebohle" \
year="2017" \
media="download" \
file1="dxvk-1.8.tar.gz" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/d3d9.dll" \
installed_file2="${W_SYSTEM32_DLLS_WIN}/d3d10core.dll" \
installed_file3="${W_SYSTEM32_DLLS_WIN}/d3d11.dll" \
installed_file4="${W_SYSTEM32_DLLS_WIN}/dxgi.dll"
w_metadata dxvk dlls \
title="Vulkan-based D3D9/D3D10/D3D11 implementation for Linux / Wine (latest)" \
load_dxvk180()
{
# https://github.com/doitsujin/dxvk
w_download "https://github.com/doitsujin/dxvk/releases/download/v1.8/dxvk-1.8.tar.gz" e84f7ac494ac7f5013976744470899226d145e29617c407ff52870055bda476e
helper_dxvk_d9vk "${file1}" "5.14" "1.2.140" "dxgi,d3d9,d3d10core,d3d11"
}
w_metadata dxvk181 dlls \
title="Vulkan-based D3D9/D3D10/D3D11 implementation for Linux / Wine (1.8.1)" \
publisher="Philip Rebohle" \
year="2017" \
media="download" \
file1="dxvk-1.8.1.tar.gz" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/d3d9.dll" \
installed_file2="${W_SYSTEM32_DLLS_WIN}/d3d10core.dll" \
installed_file3="${W_SYSTEM32_DLLS_WIN}/d3d11.dll" \
installed_file4="${W_SYSTEM32_DLLS_WIN}/dxgi.dll"
load_dxvk()
load_dxvk181()
{
# https://github.com/doitsujin/dxvk
_W_dxvk_version="$(w_get_github_latest_release doitsujin dxvk)"
_W_dxvk_version="${_W_dxvk_version#v}"
w_linkcheck_ignore=1 w_download "https://github.com/doitsujin/dxvk/releases/download/v${_W_dxvk_version}/dxvk-${_W_dxvk_version}.tar.gz"
helper_dxvk_d9vk "dxvk-${_W_dxvk_version}.tar.gz" "5.8" "1.2.140" "dxgi,d3d9,d3d10core,d3d11"
unset _W_dxvk_version
w_download "https://github.com/doitsujin/dxvk/releases/download/v1.8.1/dxvk-1.8.1.tar.gz" 756a09c46f8279ade84456e3af038f64613a51e00a2d4cfffa4c91c10ede60e8
helper_dxvk_d9vk "${file1}" "5.14" "1.2.140" "dxgi,d3d9,d3d10core,d3d11"
}
w_metadata dxvk190 dlls \
title="Vulkan-based D3D9/D3D10/D3D11 implementation for Linux / Wine (1.9)" \
publisher="Philip Rebohle" \
year="2017" \
media="download" \
file1="dxvk-1.9.tar.gz" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/d3d9.dll" \
installed_file2="${W_SYSTEM32_DLLS_WIN}/d3d10core.dll" \
installed_file3="${W_SYSTEM32_DLLS_WIN}/d3d11.dll" \
installed_file4="${W_SYSTEM32_DLLS_WIN}/dxgi.dll"
load_dxvk190()
{
# https://github.com/doitsujin/dxvk
w_download "https://github.com/doitsujin/dxvk/releases/download/v1.9/dxvk-1.9.tar.gz" 433868f8783887192a04b788203d6b4effe3168be762dd60df1c1b564421a6ed
helper_dxvk_d9vk "${file1}" "5.14" "1.2.140" "dxgi,d3d9,d3d10core,d3d11"
}
w_metadata dxvk191 dlls \
title="Vulkan-based D3D9/D3D10/D3D11 implementation for Linux / Wine (1.9.1)" \
publisher="Philip Rebohle" \
year="2017" \
media="download" \
file1="dxvk-1.9.1.tar.gz" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/d3d9.dll" \
installed_file2="${W_SYSTEM32_DLLS_WIN}/d3d10core.dll" \
installed_file3="${W_SYSTEM32_DLLS_WIN}/d3d11.dll" \
installed_file4="${W_SYSTEM32_DLLS_WIN}/dxgi.dll"
load_dxvk191()
{
# https://github.com/doitsujin/dxvk
w_download "https://github.com/doitsujin/dxvk/releases/download/v1.9.1/dxvk-1.9.1.tar.gz" ef7591d6effcca8a8352cea4fa50fe73aa1f10fd89cb475f2f14236e4340a007
helper_dxvk_d9vk "${file1}" "5.14" "1.2.140" "dxgi,d3d9,d3d10core,d3d11"
}
#----------------------------------------------------------------
w_metadata dxvk_master dlls \
title="Vulkan-based D3D9/D3D10/D3D11 implementation for Linux / Wine (master)" \
w_metadata dxvk dlls \
title="Vulkan-based D3D9/D3D10/D3D11 implementation for Linux / Wine (latest)" \
publisher="Philip Rebohle" \
year="2017" \
media="download" \
file1="dxvk_master.zip" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/d3d9.dll" \
installed_file2="${W_SYSTEM32_DLLS_WIN}/d3d10core.dll" \
installed_file3="${W_SYSTEM32_DLLS_WIN}/d3d11.dll" \
installed_file4="${W_SYSTEM32_DLLS_WIN}/dxgi.dll"
load_dxvk_master()
load_dxvk()
{
# https://git.froggi.es/doitsujin/dxvk
# FIXME: Delete cached file, when verb is forced. Gitlab artifacts do not supply any version/commit hash information.
if test "${WINETRICKS_FORCE}" = 1 && test -f "${W_CACHE}/${W_PACKAGE}/${file1}"; then
w_try rm -f "${W_CACHE}/${W_PACKAGE}/${file1}"
fi
w_linkcheck_ignore=1 w_download_to "${W_CACHE}/${W_PACKAGE}" "https://git.froggi.es/doitsujin/dxvk/-/jobs/artifacts/master/download?job=dxvk" "" "dxvk_master.zip"
helper_dxvk_d9vk "${file1}" "5.8" "1.2.140" "dxgi,d3d9,d3d10core,d3d11"
# https://github.com/doitsujin/dxvk
_W_dxvk_version="$(w_get_github_latest_release doitsujin dxvk)"
_W_dxvk_version="${_W_dxvk_version#v}"
w_linkcheck_ignore=1 w_download "https://github.com/doitsujin/dxvk/releases/download/v${_W_dxvk_version}/dxvk-${_W_dxvk_version}.tar.gz"
helper_dxvk_d9vk "dxvk-${_W_dxvk_version}.tar.gz" "5.14" "1.2.140" "dxgi,d3d9,d3d10core,d3d11"
unset _W_dxvk_version
}
#----------------------------------------------------------------
......@@ -8621,7 +8676,7 @@ load_dotnet11()
w_package_unsupported_win64
# https://www.microsoft.com/en-us/download/details.aspx?id=26
w_download https://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe ba0e58ec93f2ffd54fc7c627eeca9502e11ab3c6fc85dcbeff113bd61d995bce
w_download https://web.archive.org/web/20210505032023/http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe ba0e58ec93f2ffd54fc7c627eeca9502e11ab3c6fc85dcbeff113bd61d995bce
w_call remove_mono
w_call corefonts
......@@ -8978,11 +9033,11 @@ load_dotnet20sp2()
if [ "${W_ARCH}" = "win32" ]; then
# https://www.microsoft.com/en-us/download/details.aspx?id=1639
w_download https://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe 6e3f363366e7d0219b7cb269625a75d410a5c80d763cc3d73cf20841084e851f
w_download https://web.archive.org/web/20210329003118/http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe 6e3f363366e7d0219b7cb269625a75d410a5c80d763cc3d73cf20841084e851f
exe="NetFx20SP2_x86.exe"
elif [ "${W_ARCH}" = "win64" ]; then
# https://www.microsoft.com/en-us/download/details.aspx?id=1639
w_download https://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x64.exe
w_download https://web.archive.org/web/20210328110521/http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x64.exe 430315c97c57ac158e7311bbdbb7130de3e88dcf5c450a25117c74403e558fbe
exe="NetFx20SP2_x64.exe"
fi
......@@ -9231,8 +9286,22 @@ load_dotnet35sp1()
w_set_winver winxp
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_override_dlls native mscoree mscorwks
w_wineserver -w
# The installer is braindead and picks the lowest drive letter that's writable
# winetricks_set_wineprefix(), which is called by w_do_call() sets up this symlink so that wine
# can make a windows path to the cache (which is removed during cleanup).
# To avoid that, we sylmink the executable directly and remove the symlink
# and then the installer leaves the cruft on C:\ instead (assuming there's no other drives mounted).
#
# If the user has other drives mounted (or maybe if Z:\ is writable),
# then they have to clean up the mess themselves, sorry.
w_try rm "${WINETRICKS_CACHE_SYMLINK}"
w_try_cd "${W_TMP}"
w_try ln -s "${W_CACHE}/${W_PACKAGE}/${file1}" .
w_try_ms_installer "${WINE}" dotnetfx35.exe /lang:ENU ${W_OPT_UNATTENDED:+/q}
w_try rm dotnetfx35.exe
w_set_winver 'default'
......@@ -9346,7 +9415,7 @@ w_metadata dotnet45 dlls \
load_dotnet45()
{
w_package_broken "https://bugs.winehq.org/show_bug.cgi?id=49532" 5.12 5.18
w_package_broken "https://bugs.winehq.org/show_bug.cgi?id=49897" 5.18
w_package_broken "https://bugs.winehq.org/show_bug.cgi?id=49897" 5.18 6.6
w_package_warn_win64
......@@ -9396,7 +9465,7 @@ w_metadata dotnet452 dlls \
load_dotnet452()
{
w_package_broken "https://bugs.winehq.org/show_bug.cgi?id=49532" 5.12 5.18
w_package_broken "https://bugs.winehq.org/show_bug.cgi?id=49897" 5.18
w_package_broken "https://bugs.winehq.org/show_bug.cgi?id=49897" 5.18 6.6
w_package_warn_win64
......@@ -9640,7 +9709,7 @@ w_metadata dotnet48 dlls \
load_dotnet48()
{
w_package_broken "https://bugs.winehq.org/show_bug.cgi?id=49532" 5.12 5.18
w_package_broken "https://bugs.winehq.org/show_bug.cgi?id=49897" 5.18
w_package_broken "https://bugs.winehq.org/show_bug.cgi?id=49897" 5.18 6.6
w_package_warn_win64
......@@ -10191,6 +10260,22 @@ load_galliumnine07()
helper_galliumnine "${file1}"
}
w_metadata galliumnine08 dlls \
title="Gallium Nine Standalone (v0.8)" \
publisher="Gallium Nine Team" \
year="2021" \
media="download" \
file1="gallium-nine-standalone-v0.8.tar.gz" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/d3d9-nine.dll" \
installed_file2="${W_SYSTEM32_DLLS_WIN}/ninewinecfg.exe" \
homepage="https://github.com/iXit/wine-nine-standalone"
load_galliumnine08()
{
w_download "https://github.com/iXit/wine-nine-standalone/releases/download/v0.8/gallium-nine-standalone-v0.8.tar.gz" 8d73dcf78e4b5edf7a3aea8c339459b5138acd1c957c91c5c06432cb2fc51893
helper_galliumnine "${file1}"
}
w_metadata galliumnine dlls \
title="Gallium Nine Standalone (latest)" \
publisher="Gallium Nine Team" \
......@@ -10308,9 +10393,9 @@ load_gfw()
# http://www.next-gen.biz/features/should-games-for-windows-live-die
w_download https://web.archive.org/web/20140730232216/https://download.microsoft.com/download/5/5/8/55846E20-4A46-4EF8-B272-7F988BC9090A/gfwlivesetupmin.exe b14609508e2f8dba0886ded84e2817ad532ebfa31f8a6d4be2e6a5a03a9d7c23
# FIXME: Depends on .NET 20, but is it really needed? For now, skip it.
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" gfwlivesetupmin.exe /nodotnet ${W_OPT_UNATTENDED:+/q}
# Otherwise it leaves an arbitrarily named empty directory in ${W_CACHE}
w_try cp "${W_CACHE}/${W_PACKAGE}/gfwlivesetupmin.exe" "${W_TMP}"
w_try "${WINE}" "${W_TMP_WIN}\gfwlivesetupmin.exe" /nodotnet ${W_OPT_UNATTENDED:+/q}
w_call msasn1
}
......@@ -10351,10 +10436,13 @@ load_gmdls()
w_try_cabextract -d "${W_TMP}" -F DirectX.cab "${W_CACHE}"/directx9/directx_apr2006_redist.exe
w_try_cabextract -d "${W_TMP}" -F gm16.dls "${W_TMP}"/DirectX.cab
# When running in a 64bit prefix, syswow64/drivers doesn't exist
w_try mkdir -p "${W_SYSTEM32_DLLS}"/drivers
w_try mv "${W_TMP}"/gm16.dls "${W_SYSTEM32_DLLS}"/drivers/gm.dls
if test "${W_ARCH}" = "win64"; then
w_try_cd "${W_SYSTEM64_DLLS}"/drivers
w_try ln -s ../../syswow64/drivers/gm.dls
w_try ln -s "${W_SYSTEM32_DLLS}"/drivers/gm.dls "${W_SYSTEM64_DLLS}"/drivers
fi
}
......@@ -10655,7 +10743,8 @@ load_cinepak()
w_try_unzip "${W_SYSTEM32_DLLS}" "${W_CACHE}/${W_PACKAGE}/${file1}" ICCVID.DLL
w_try mv -f "${W_SYSTEM32_DLLS}/ICCVID.DLL" "${W_SYSTEM32_DLLS}/iccvid.dll"
w_try mv -f "${W_SYSTEM32_DLLS}/ICCVID.DLL" "${W_SYSTEM32_DLLS}/iccvid_.dll"
w_try mv -f "${W_SYSTEM32_DLLS}/iccvid_.dll" "${W_SYSTEM32_DLLS}/iccvid.dll"
w_override_dlls native iccvid
}
......@@ -10681,7 +10770,7 @@ load_jet40()
# https://support.microsoft.com/kb/239114
# See also https://bugs.winehq.org/show_bug.cgi?id=6085
# FIXME: "failed with error 2"
w_download https://download.microsoft.com/download/4/3/9/4393c9ac-e69e-458d-9f6d-2fe191c51469/jet40sp8_9xnt.exe b060246cd499085a31f15873689d5fa7df817e407c8261a5c71fa6b9f7042560
w_download https://web.archive.org/web/20210225171713/http://download.microsoft.com/download/4/3/9/4393c9ac-e69e-458d-9f6d-2fe191c51469/Jet40SP8_9xNT.exe b060246cd499085a31f15873689d5fa7df817e407c8261a5c71fa6b9f7042560
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" jet40sp8_9xnt.exe ${W_OPT_UNATTENDED:+/q}
......@@ -11275,7 +11364,7 @@ load_msxml4()
# MS07-042: https://www.microsoft.com/en-us/download/details.aspx?id=2386
# w_download https://download.microsoft.com/download/9/4/2/9422e6b6-08ee-49cb-9f05-6c6ee755389e/msxml4-KB936181-enu.exe 1ce9ff868816cfc9bf33e93fdf1552afce5b491443892babb521e74c05e45242
# SP3 (2009): https://www.microsoft.com/en-us/download/details.aspx?id=15697
w_download https://download.microsoft.com/download/A/2/D/A2D8587D-0027-4217-9DAD-38AFDB0A177E/msxml.msi 47c2ae679c37815da9267c81fc3777de900ad2551c11c19c2840938b346d70bb
w_download https://web.archive.org/web/20210506101448/http://download.microsoft.com/download/A/2/D/A2D8587D-0027-4217-9DAD-38AFDB0A177E/msxml.msi 47c2ae679c37815da9267c81fc3777de900ad2551c11c19c2840938b346d70bb
w_override_dlls native,builtin msxml4
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" msiexec /i msxml.msi ${W_OPT_UNATTENDED:+/q}
......@@ -11400,6 +11489,7 @@ w_metadata pdh dlls \
publisher="Microsoft" \
year="2011" \
media="download" \
conflicts="pdh_nt4" \
file1="../win7sp1/windows6.1-KB976932-X86.exe" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/pdh.dll"
......@@ -11418,6 +11508,31 @@ load_pdh()
#----------------------------------------------------------------
w_metadata pdh_nt4 dlls \
title="MS pdh.dll (Performance Data Helper); WinNT 4.0 Version" \
publisher="Microsoft" \
year="1997" \
media="download" \
conflicts="pdh" \
file1="nt4pdhdll.exe" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/pdh.dll"
load_pdh_nt4()
{
if [ "${W_ARCH}" = "win64" ]; then
w_warn "There is no 64-bit version of the WinNT 4.0 pdh.dll. If your program doesn't work then try a 32-bit wineprefix or use 'winetricks pdh' instead."
fi
w_download http://download.microsoft.com/download/winntsrv40/update/5.0.2195.2668/nt4/en-us/nt4pdhdll.exe a0a45ea8f4b82daaebcff7ad5bd1b7f5546e527e04790ca8c4c9b71b18c73e32
w_try_unzip "${W_TMP}/${W_PACKAGE}" "${W_CACHE}/${W_PACKAGE}"/nt4pdhdll.exe
w_try cp "${W_TMP}/${W_PACKAGE}/pdh.dll" "${W_SYSTEM32_DLLS}/pdh.dll"
w_override_dlls native,builtin pdh
}
#----------------------------------------------------------------
w_metadata peverify dlls \
title="MS peverify (from .NET 2.0 SDK)" \
publisher="Microsoft" \
......@@ -11443,16 +11558,16 @@ load_peverify()
w_metadata physx dlls \
title="PhysX" \
publisher="Nvidia" \
year="2014" \
year="2019" \
media="download" \
file1="PhysX-9.14.0702-SystemSoftware.msi" \
installed_file1="${W_PROGRAMS_X86_WIN}/NVIDIA Corporation/PhysX/Engine/v2.8.3/PhysXCore.dll"
file1="PhysX-9.19.0218-SystemSoftware.exe" \
installed_file1="${W_PROGRAMS_X86_WIN}/NVIDIA Corporation/PhysX/Engine/86C5F4F22ECD/APEX_Particles_x64.dll"
load_physx()
{
w_download https://uk.download.nvidia.com/Windows/9.14.0702/PhysX-9.14.0702-SystemSoftware.msi 0a022e28accf5851be9d6577487cdcd3d3a3e2a8a21a64456b72b415c217f03c
w_download https://uk.download.nvidia.com/Windows/9.19.0218/PhysX-9.19.0218-SystemSoftware.exe 4f36389fcbfbdef4781fb85e7a68373542903235f65d93f7143693738324917c
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" msiexec /i PhysX-9.14.0702-SystemSoftware.msi ${W_OPT_UNATTENDED:+/q}
w_try "${WINE}" PhysX-9.19.0218-SystemSoftware.exe ${W_OPT_UNATTENDED:+/s}
}
#----------------------------------------------------------------
......@@ -12199,7 +12314,7 @@ load_vb6run()
{
# https://support.microsoft.com/kb/290887
if test ! -f "${W_CACHE}"/vb6run/vbrun60sp6.exe; then
w_download https://download.microsoft.com/download/5/a/d/5ad868a0-8ecd-4bb0-a882-fe53eb7ef348/VB6.0-KB290887-X86.exe 467b5a10c369865f2021d379fc0933cb382146b702bbca4bcb703fc86f4322bb
w_download https://lon-01.lo4d.com/files/visual-basic-runtime-files/VB6.0-KB290887-X86.exe 467b5a10c369865f2021d379fc0933cb382146b702bbca4bcb703fc86f4322bb
w_try "${WINE}" "${W_CACHE}"/vb6run/VB6.0-KB290887-X86.exe "/T:${W_TMP_WIN}" /c ${W_OPT_UNATTENDED:+/q}
if test ! -f "${W_TMP}"/vbrun60sp6.exe; then
......@@ -12231,7 +12346,7 @@ winetricks_vcrun6_helper() {
if test ! -f "${W_CACHE}"/vcrun6/vcredist.exe; then
w_download_to vcrun6 https://download.microsoft.com/download/vc60pro/Update/2/W9XNT4/EN-US/VC6RedistSetup_deu.exe c2eb91d9c4448d50e46a32fecbcc3b418706d002beab9b5f4981de552098cee7
w_try "${WINE}" "${W_CACHE}"/vcrun6/vc6redistsetup_deu.exe "/T:${W_TMP_WIN}" /c ${W_OPT_UNATTENDED:+/q}
w_try "${WINE}" "${W_CACHE}"/vcrun6/VC6RedistSetup_deu.exe "/T:${W_TMP_WIN}" /c ${W_OPT_UNATTENDED:+/q}
if test ! -f "${W_TMP}"/vcredist.exe; then
w_die vcredist.exe not found
fi
......@@ -12244,7 +12359,7 @@ w_metadata vcrun6 dlls \
publisher="Microsoft" \
year="2000" \
media="download" \
file1="vc6redistsetup_deu.exe" \
file1="VC6RedistSetup_deu.exe" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/mfc42.dll"
load_vcrun6()
......@@ -12276,7 +12391,7 @@ w_metadata mfc42 dlls \
publisher="Microsoft" \
year="2000" \
media="download" \
file1="../vcrun6/vc6redistsetup_deu.exe" \
file1="../vcrun6/VC6RedistSetup_deu.exe" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/mfc42u.dll"
load_mfc42()
......@@ -12291,7 +12406,7 @@ w_metadata msvcirt dlls \
publisher="Microsoft" \
year="2000" \
media="download" \
file1="../vcrun6/vc6redistsetup_deu.exe" \
file1="../vcrun6/VC6RedistSetup_deu.exe" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/msvcirt.dll"
load_msvcirt()
......@@ -12312,16 +12427,16 @@ w_metadata vcrun6sp6 dlls \
publisher="Microsoft" \
year="2004" \
media="download" \
file1="Vs6sp6.exe" \
file1="VS6SP6.EXE" \
installed_file1="${W_SYSTEM32_DLLS_WIN}/mfc42.dll"
load_vcrun6sp6()
{
w_download https://download.microsoft.com/download/1/9/f/19fe4660-5792-4683-99e0-8d48c22eed74/Vs6sp6.exe 7fa1d1778824b55a5fceb02f45c399b5d4e4dce7403661e67e587b5f455edbf3
w_download https://www.ddsystem.com.br/update/setup/vb6+sp6/VS6SP6.EXE 7fa1d1778824b55a5fceb02f45c399b5d4e4dce7403661e67e587b5f455edbf3
# No EULA is presented when passing command-line extraction arguments,
# so we'll simplify extraction with cabextract.
w_try_cabextract "${W_CACHE}"/vcrun6sp6/Vs6sp6.exe -d "${W_TMP}" -F vcredist.exe
w_try_cabextract "${W_CACHE}/${W_PACKAGE}/${file1}" -d "${W_TMP}" -F vcredist.exe
w_try_cd "${W_TMP}"
# Delete some fake DLLs to avoid vcredist installer warnings
......@@ -12401,7 +12516,9 @@ load_vcrun2005()
# 2011/06: Security update, see
# https://technet.microsoft.com/library/security/ms11-025 or
# https://support.microsoft.com/kb/2538242
w_download https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.EXE 4ee4da0fe62d5fa1b5e80c6e6d88a4a2f8b3b140c35da51053d0d7b72a381d29
# Originally: 4ee4da0fe62d5fa1b5e80c6e6d88a4a2f8b3b140c35da51053d0d7b72a381d29
# 2021/05/25: 8648c5fc29c44b9112fe52f9a33f80e7fc42d10f3b5b42b2121542a13e44adfd
w_download https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.EXE 8648c5fc29c44b9112fe52f9a33f80e7fc42d10f3b5b42b2121542a13e44adfd
# For native to be used, msvc* dlls must either be set to native only, OR
# set to native, builtin and remove wine's builtin manifest. Setting to native only breaks several apps,
......@@ -12416,7 +12533,9 @@ load_vcrun2005()
w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/q}
if [ "${W_ARCH}" = "win64" ] ;then
w_download https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x64.EXE 0551a61c85b718e1fa015b0c3e3f4c4eea0637055536c00e7969286b4fa663e0
# Originally: 0551a61c85b718e1fa015b0c3e3f4c4eea0637055536c00e7969286b4fa663e0
# 2021/05/25: 4487570bd86e2e1aac29db2a1d0a91eb63361fcaac570808eb327cd4e0e2240d
w_download https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x64.EXE 4487570bd86e2e1aac29db2a1d0a91eb63361fcaac570808eb327cd4e0e2240d
w_try "${WINE}" vcredist_x64.exe ${W_OPT_UNATTENDED:+/q}
fi
}
......@@ -12431,7 +12550,7 @@ w_metadata mfc80 dlls \
load_mfc80()
{
w_download_to vcrun2005 https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.EXE 4ee4da0fe62d5fa1b5e80c6e6d88a4a2f8b3b140c35da51053d0d7b72a381d29
w_download_to vcrun2005 https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.EXE 8648c5fc29c44b9112fe52f9a33f80e7fc42d10f3b5b42b2121542a13e44adfd
w_try_cabextract --directory="${W_TMP}/win32" "${W_CACHE}"/vcrun2005/vcredist_x86.EXE -F 'vcredist.msi'
w_try_cabextract --directory="${W_TMP}/win32" "${W_TMP}/win32/vcredist.msi"
......@@ -12442,7 +12561,7 @@ load_mfc80()
w_try cp "${W_TMP}/win32"/mfcm80u.dll.8.0.50727.6195.9BAE13A2_E7AF_D6C3_FF1F_C8B3B9A1E18E "${W_SYSTEM32_DLLS}"/mfcm80u.dll
if [ "${W_ARCH}" = "win64" ]; then
w_download_to vcrun2005 https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x64.EXE 0551a61c85b718e1fa015b0c3e3f4c4eea0637055536c00e7969286b4fa663e0
w_download_to vcrun2005 https://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x64.EXE 4487570bd86e2e1aac29db2a1d0a91eb63361fcaac570808eb327cd4e0e2240d
w_try_cabextract --directory="${W_TMP}/win64" "${W_CACHE}"/vcrun2005/vcredist_x64.EXE -F 'vcredist.msi'
w_try_cabextract --directory="${W_TMP}/win64" "${W_TMP}/win64/vcredist.msi"
......@@ -12469,7 +12588,9 @@ load_vcrun2008()
# June 2011 security update, see
# https://technet.microsoft.com/library/security/ms11-025 or
# https://support.microsoft.com/kb/2538242
w_download https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe 6b3e4c51c6c0e5f68c8a72b497445af3dbf976394cbb62aa23569065c28deeb6
# Originally: 6b3e4c51c6c0e5f68c8a72b497445af3dbf976394cbb62aa23569065c28deeb6
# 2021/05/23: 8742bcbf24ef328a72d2a27b693cc7071e38d3bb4b9b44dec42aa3d2c8d61d92
w_download https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe 8742bcbf24ef328a72d2a27b693cc7071e38d3bb4b9b44dec42aa3d2c8d61d92
# For native to be used, msvc* dlls must either be set to native only, OR
# set to native, builtin and remove wine's builtin manifest. Setting to native only breaks several apps,
......@@ -12487,7 +12608,8 @@ load_vcrun2008()
win64)
# Also install the 64-bit version
# 2016/11/15: b811f2c047a3e828517c234bd4aa4883e1ec591d88fad21289ae68a6915a6665
w_download https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe b811f2c047a3e828517c234bd4aa4883e1ec591d88fad21289ae68a6915a6665
# 2021/05/23: c5e273a4a16ab4d5471e91c7477719a2f45ddadb76c7f98a38fa5074a6838654
w_download https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe c5e273a4a16ab4d5471e91c7477719a2f45ddadb76c7f98a38fa5074a6838654
w_try "${WINE}" vcredist_x64.exe ${W_OPT_UNATTENDED:+/q}
;;
esac
......@@ -12503,7 +12625,7 @@ w_metadata mfc90 dlls \
load_mfc90()
{
w_download_to vcrun2008 https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe 6b3e4c51c6c0e5f68c8a72b497445af3dbf976394cbb62aa23569065c28deeb6
w_download_to vcrun2008 https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe 8742bcbf24ef328a72d2a27b693cc7071e38d3bb4b9b44dec42aa3d2c8d61d92
w_try_cabextract --directory="${W_TMP}/win32" "${W_CACHE}"/vcrun2008/vcredist_x86.exe -F 'vc_red.cab'
w_try_cabextract --directory="${W_TMP}/win32" "${W_TMP}/win32/vc_red.cab"
......@@ -12514,7 +12636,7 @@ load_mfc90()
w_try cp "${W_TMP}/win32"/mfcm90u.dll.30729.6161.Microsoft_VC90_MFC_x86.QFE "${W_SYSTEM32_DLLS}"/mfcm90u.dll
if [ "${W_ARCH}" = "win64" ]; then
w_download_to vcrun2008 https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe b811f2c047a3e828517c234bd4aa4883e1ec591d88fad21289ae68a6915a6665
w_download_to vcrun2008 https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe c5e273a4a16ab4d5471e91c7477719a2f45ddadb76c7f98a38fa5074a6838654
w_try_cabextract --directory="${W_TMP}/win64" "${W_CACHE}"/vcrun2008/vcredist_x64.exe -F 'vc_red.cab'
w_try_cabextract --directory="${W_TMP}/win64" "${W_TMP}/win64/vc_red.cab"
......@@ -12539,7 +12661,9 @@ w_metadata vcrun2010 dlls \
load_vcrun2010()
{
# See https://www.microsoft.com/en-us/download/details.aspx?id=5555
w_download https://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe 8162b2d665ca52884507ede19549e99939ce4ea4a638c537fa653539819138c8
# Originally: 8162b2d665ca52884507ede19549e99939ce4ea4a638c537fa653539819138c8
# 2021/04/24: 31d32fa39d52cac9a765a43660431f7a127eee784b54b2f5e2af3e2b763a1af8
w_download https://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe 31d32fa39d52cac9a765a43660431f7a127eee784b54b2f5e2af3e2b763a1af8
w_override_dlls native,builtin msvcp100 msvcr100 vcomp100 atl100
w_try_cd "${W_CACHE}/${W_PACKAGE}"
......@@ -12549,7 +12673,9 @@ load_vcrun2010()
win64)
# Also install the 64-bit version
# https://www.microsoft.com/en-us/download/details.aspx?id=13523
w_download https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe c6cd2d3f0b11dc2a604ffdc4dd97861a83b77e21709ba71b962a47759c93f4c8
# Originally: c6cd2d3f0b11dc2a604ffdc4dd97861a83b77e21709ba71b962a47759c93f4c8
# 2021/04/24: 2fddbc3aaaab784c16bc673c3bae5f80929d5b372810dbc28649283566d33255
w_download https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe 2fddbc3aaaab784c16bc673c3bae5f80929d5b372810dbc28649283566d33255
w_try "${WINE}" vcredist_x64.exe ${W_OPT_UNATTENDED:+/q}
;;
esac
......@@ -12565,7 +12691,7 @@ w_metadata mfc100 dlls \
load_mfc100()
{
w_download_to vcrun2010 https://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe 8162b2d665ca52884507ede19549e99939ce4ea4a638c537fa653539819138c8
w_download_to vcrun2010 https://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe 31d32fa39d52cac9a765a43660431f7a127eee784b54b2f5e2af3e2b763a1af8
w_try_cabextract --directory="${W_TMP}/win32" "${W_CACHE}"/vcrun2010/vcredist_x86.exe -F '*.cab'
w_try_cabextract --directory="${W_TMP}/win32" "${W_TMP}/win32/vc_red.cab"
......@@ -12576,7 +12702,7 @@ load_mfc100()
w_try cp "${W_TMP}/win32"/F_CENTRAL_mfcm100u_x86 "${W_SYSTEM32_DLLS}"/mfcm100u.dll
if [ "${W_ARCH}" = "win64" ]; then
w_download_to vcrun2010 https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe c6cd2d3f0b11dc2a604ffdc4dd97861a83b77e21709ba71b962a47759c93f4c8
w_download_to vcrun2010 https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe 2fddbc3aaaab784c16bc673c3bae5f80929d5b372810dbc28649283566d33255
w_try_cabextract --directory="${W_TMP}/win64" "${W_CACHE}"/vcrun2010/vcredist_x64.exe -F '*.cab'
w_try_cabextract --directory="${W_TMP}/win64" "${W_TMP}/win64/vc_red.cab"
......@@ -12734,21 +12860,26 @@ load_vcrun2015()
w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-convert-l1-1-0 api-ms-win-crt-environment-l1-1-0 api-ms-win-crt-filesystem-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-multibyte-l1-1-0 api-ms-win-crt-process-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-string-l1-1-0 api-ms-win-crt-utility-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcr140 ucrtbase vcomp140 vcruntime140
# Otherwise ucrtbase doesn't get replaced
# See https://bugs.winehq.org/show_bug.cgi?id=46317
if w_workaround_wine_bug 50894 "Working around failing wusa.exe lookup via C:\windows\SysNative"; then
w_set_winver winxp
w_try rm -f "${W_SYSTEM32_DLLS}"/ucrtbase.dll
fi
# Setup will refuse to install ucrtbase because builtin's version number is higher, so manually replace it
# See https://bugs.winehq.org/show_bug.cgi?id=46317
w_try_cabextract --directory="${W_TMP}/win32" "${W_CACHE}"/vcrun2015/vc_redist.x86.exe -F 'a10'
w_try_cabextract --directory="${W_SYSTEM32_DLLS}" "${W_TMP}/win32/a10" -F 'ucrtbase.dll'
w_try_cd "${W_CACHE}"/"${W_PACKAGE}"
w_try "${WINE}" vc_redist.x86.exe ${W_OPT_UNATTENDED:+/q}
case "${W_ARCH}" in
win64)
# Also remove the 64-bit version
w_try rm -f "${W_SYSTEM64_DLLS}"/ucrtbase.dll
# Also install the 64-bit version
# 2015/10/12: 5eea714e1f22f1875c1cb7b1738b0c0b1f02aec5ecb95f0fdb1c5171c6cd93a3
w_download https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe 5eea714e1f22f1875c1cb7b1738b0c0b1f02aec5ecb95f0fdb1c5171c6cd93a3
# Also replace 64-bit ucrtbase.dll
w_try_cabextract --directory="${W_TMP}/win64" "${W_CACHE}"/vcrun2015/vc_redist.x64.exe -F 'a10'
w_try_cabextract --directory="${W_SYSTEM64_DLLS}" "${W_TMP}/win64/a10" -F 'ucrtbase.dll'
w_try "${WINE}" vc_redist.x64.exe ${W_OPT_UNATTENDED:+/q}
;;
esac
......@@ -12810,24 +12941,29 @@ load_vcrun2017()
w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcr140 ucrtbase vcomp140 vcruntime140
# Otherwise ucrtbase doesn't get replaced
# See https://bugs.winehq.org/show_bug.cgi?id=46317
if w_workaround_wine_bug 50894 "Working around failing wusa.exe lookup via C:\windows\SysNative"; then
w_set_winver winxp
w_try rm -f "${W_SYSTEM32_DLLS}"/ucrtbase.dll
fi
# Setup will refuse to install ucrtbase because builtin's version number is higher, so manually replace it
# See https://bugs.winehq.org/show_bug.cgi?id=46317
w_try_cabextract --directory="${W_TMP}/win32" "${W_CACHE}"/vcrun2017/vc_redist.x86.exe -F 'a10'
w_try_cabextract --directory="${W_SYSTEM32_DLLS}" "${W_TMP}/win32/a10" -F 'ucrtbase.dll'
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" vc_redist.x86.exe ${W_OPT_UNATTENDED:+/q}
case "${W_ARCH}" in
win64)
# Also remove the 64-bit version
w_try rm -f "${W_SYSTEM64_DLLS}"/ucrtbase.dll
# Also install the 64-bit version
# https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads
# 2017/10/02: 7434bf559290cccc3dd3624f10c9e6422cce9927d2231d294114b2f929f0e465
# 2019/03/17: b192e143d55257a0a2f76be42e44ff8ee14014f3b1b196c6e59829b6b3ec453c
# 2019/08/14: 5b0cbb977f2f5253b1ebe5c9d30edbda35dbd68fb70de7af5faac6423db575b5
w_download https://aka.ms/vs/15/release/vc_redist.x64.exe 5b0cbb977f2f5253b1ebe5c9d30edbda35dbd68fb70de7af5faac6423db575b5
# Also replace 64-bit ucrtbase.dll
w_try_cabextract --directory="${W_TMP}/win64" "${W_CACHE}"/vcrun2017/vc_redist.x64.exe -F 'a10'
w_try_cabextract --directory="${W_SYSTEM64_DLLS}" "${W_TMP}/win64/a10" -F 'ucrtbase.dll'
w_try "${WINE}" vc_redist.x64.exe ${W_OPT_UNATTENDED:+/q}
;;
esac
......@@ -12855,22 +12991,27 @@ load_vcrun2019()
# 2020/08/05: b4d433e2f66b30b478c0d080ccd5217ca2a963c16e90caf10b1e0592b7d8d519
# 2020/10/03: caa38fd474164a38ab47ac1755c8ccca5ccfacfa9a874f62609e6439924e87ec
# 2020/11/13: 50a3e92ade4c2d8f310a2812d46322459104039b9deadbd7fdd483b5c697c0c8
w_download https://aka.ms/vs/16/release/vc_redist.x86.exe 50a3e92ade4c2d8f310a2812d46322459104039b9deadbd7fdd483b5c697c0c8
# 2021/03/09: 4521ed84b9b1679a706e719423d54ef5e413dc50dde1cf362232d7359d7e89c4
# 2021/03/28: e830c313aa99656748f9d2ed582c28101eaaf75f5377e3fb104c761bf3f808b2
# 2021/04/05: e830c313aa99656748f9d2ed582c28101eaaf75f5377e3fb104c761bf3f808b2
# 2021/04/13: 14563755ac24a874241935ef2c22c5fce973acb001f99e524145113b2dc638c1
# 2021/06/06: 91c21c93a88dd82e8ae429534dacbc7a4885198361eae18d82920c714e328cf9
w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcr140 ucrtbase vcomp140 vcruntime140
w_warn "ucrtbase.dll is no longer included in vcrun2019. For details see: https://github.com/Winetricks/winetricks/issues/1770"
# Otherwise ucrtbase doesn't get replaced
# See https://bugs.winehq.org/show_bug.cgi?id=46317
w_override_dlls native,builtin api-ms-win-crt-private-l1-1-0 api-ms-win-crt-conio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-math-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-time-l1-1-0 atl140 concrt140 msvcp140 msvcp140_1 msvcp140_2 msvcr140 vcomp140 vcruntime140
w_download https://aka.ms/vs/16/release/vc_redist.x86.exe 91c21c93a88dd82e8ae429534dacbc7a4885198361eae18d82920c714e328cf9
if w_workaround_wine_bug 50894 "Working around failing wusa.exe lookup via C:\windows\SysNative"; then
w_set_winver winxp
w_try rm -f "${W_SYSTEM32_DLLS}"/ucrtbase.dll
fi
w_try_cd "${W_CACHE}"/"${W_PACKAGE}"
w_try "${WINE}" vc_redist.x86.exe ${W_OPT_UNATTENDED:+/q}
case "${W_ARCH}" in
win64)
# Also remove the 64-bit version
w_try rm -f "${W_SYSTEM64_DLLS}"/ucrtbase.dll
# Also install the 64-bit version
# 2019/12/26: 40ea2955391c9eae3e35619c4c24b5aaf3d17aeaa6d09424ee9672aa9372aeed
# 2020/03/23: b6c82087a2c443db859fdbeaae7f46244d06c3f2a7f71c35e50358066253de52
......@@ -12878,11 +13019,16 @@ load_vcrun2019()
# 2020/08/05: 952a0c6cb4a3dd14c3666ef05bb1982c5ff7f87b7103c2ba896354f00651e358
# 2020/10/03: 4b5890eb1aefdf8dfa3234b5032147eb90f050c5758a80901b201ae969780107
# 2020/11/13: b1a32c71a6b7d5978904fb223763263ea5a7eb23b2c44a0d60e90d234ad99178
# 2021/03/09: f299953673de262fefad9dd19bfbe6a5725a03ae733bebfec856f1306f79c9f7
# 2021/03/28: b6c82087a2c443db859fdbeaae7f46244d06c3f2a7f71c35e50358066253de52
# 2021/04/05: 015edd4e5d36e053b23a01adb77a2b12444d3fb6eccefe23e3a8cd6388616a16
# 2021/04/13: 52b196bbe9016488c735e7b41805b651261ffa5d7aa86eb6a1d0095be83687b2
# 2021/06/06: a1592d3da2b27230c087a3b069409c1e82c2664b0d4c3b511701624702b2e2a3
# vcruntime140_1 is only shipped on x64:
w_override_dlls native,builtin vcruntime140_1
w_download https://aka.ms/vs/16/release/vc_redist.x64.exe b1a32c71a6b7d5978904fb223763263ea5a7eb23b2c44a0d60e90d234ad99178
w_download https://aka.ms/vs/16/release/vc_redist.x64.exe a1592d3da2b27230c087a3b069409c1e82c2664b0d4c3b511701624702b2e2a3
w_try "${WINE}" vc_redist.x64.exe ${W_OPT_UNATTENDED:+/q}
;;
esac
......@@ -12907,7 +13053,7 @@ load_vjrun20()
w_call dotnet20
# See https://www.microsoft.com/en-us/download/details.aspx?id=18084
w_download https://download.microsoft.com/download/9/2/3/92338cd0-759f-4815-8981-24b437be74ef/vjredist.exe cf8f3dd4ad41453a302870b74de1c6489e7ed255ad3f652ce4af0b424a933b41
w_download https://web.archive.org/web/20200803205240/https://download.microsoft.com/download/9/2/3/92338cd0-759f-4815-8981-24b437be74ef/vjredist.exe cf8f3dd4ad41453a302870b74de1c6489e7ed255ad3f652ce4af0b424a933b41
w_try_cd "${W_CACHE}"/"${W_PACKAGE}"
w_try "${WINE}" vjredist.exe ${W_OPT_UNATTENDED:+/q /C:"install /qnt"}
}
......@@ -12994,83 +13140,6 @@ _EOF_
#----------------------------------------------------------------
w_metadata vulkanrt dlls \
title="Vulkan Runtime (latest)" \
publisher="LunarG" \
year="2020" \
media="download" \
file1="vulkan-rt.exe" \
installed_exe1="${W_SYSTEM32_DLLS_WIN}/vulkaninfo.exe"
load_vulkanrt()
{
# https://vulkan.lunarg.com/sdk/home
# Thankfully, they provide a sha256, see https://github.com/Winetricks/winetricks/issues/1368
_W_vulkan_shafile="vulkan-RT-sha.txt"
# Don't cache the shasum, we want to check it each time it's run. If the sha doesn't change, it won't download the binary again.
w_download_to "${W_TMP_EARLY}" "https://sdk.lunarg.com/sdk/sha/latest/windows/vulkan-RT-sha.txt?Human=true;u=" "" "${_W_vulkan_shafile}"
_W_vulkan_sha256="$(cut -d ' ' -f1 "${W_TMP}/${_W_vulkan_shafile}")"
w_download "https://sdk.lunarg.com/sdk/download/latest/windows/vulkan-rt.exe?Human=true;u=" "${_W_vulkan_sha256}" "${file1}"
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/S}
}
#----------------------------------------------------------------
w_metadata vulkansdk apps \
title="Vulkan SDK (latest) (developers only)" \
publisher="LunarG" \
year="2018" \
media="download" \
file1="vulkan-sdk.exe" \
installed_file1="C:/VulkanSDK/latest/vulkan.ico"
load_vulkansdk()
{
# https://vulkan.lunarg.com/sdk/home
_W_vulkan_version="${file1%-*.exe}"
_W_vulkan_version="${_W_vulkan_version#*-}"
# Thankfully, they provide a sha256, see https://github.com/Winetricks/winetricks/issue
_W_vulkan_shafile="vulkan-sha.txt"
# Don't cache the shasum, we want to check it each time it's run. If the sha doesn't change, it won't download the binary again.
w_download_to "${W_TMP}" "https://sdk.lunarg.com/sdk/sha/latest/windows/vulkan-sha.txt?Human=true;u=" "" "${_W_vulkan_shafile}"
_W_vulkan_sha256="$(cut -d ' ' -f1 "${W_TMP}/${_W_vulkan_shafile}")"
w_download "https://sdk.lunarg.com/sdk/download/latest/windows/vulkan-sdk.exe?Human=true;u=" "${_W_vulkan_sha256}" "${file1}"
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" "${file1}" ${W_OPT_UNATTENDED:+/S}
echo "Creating C:\\windows\\winevulkan.json winevulkan json file"
cat > "${W_WINDIR_UNIX}"/winevulkan.json <<_EOF_
{
"file_format_version": "1.0.0",
"ICD": {
"library_path": "c:\\\\windows\\\\system32\\\\winevulkan.dll",
"api_version": "${_W_vulkan_version}"
}
}
_EOF_
echo "Creating winevulkan registry settings"
cat > "${W_TMP}"/winevulkan.reg <<_EOF_
REGEDIT4
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Khronos\\Vulkan\\Drivers\\]
"C:\\\\Windows\\\\winevulkan.json"=dword:00000000
_EOF_
w_try_regedit "${W_TMP_WIN}"\\winevulkan.reg
w_try_cd "${W_DRIVE_C}/VulkanSDK"
# We're assuming here that only the sdks are installed here. This is really only for the installed_file check,
# as there are no files with non-versioned filenames installed
w_try ln -sf "$(find . -maxdepth 1 -mindepth 1 -type d | grep -v latest | sort -V | tail -n 1)" latest
}
#----------------------------------------------------------------
w_metadata webio dlls \
title="MS Windows Web I/O" \
publisher="Microsoft" \
......@@ -13450,7 +13519,7 @@ w_metadata xna31 dlls \
load_xna31()
{
w_call dotnet20sp2
w_download https://download.microsoft.com/download/5/9/1/5912526C-B950-4662-99B6-119A83E60E5C/xnafx31_redist.msi 187e7e6b08fe35428d945612a7d258bfed25fad53cc54882983abdc73fe60f91
w_download https://web.archive.org/web/20120325004645/https://download.microsoft.com/download/5/9/1/5912526C-B950-4662-99B6-119A83E60E5C/xnafx31_redist.msi 187e7e6b08fe35428d945612a7d258bfed25fad53cc54882983abdc73fe60f91
w_try_cd "${W_CACHE}/${W_PACKAGE}"
w_try "${WINE}" msiexec ${W_OPT_UNATTENDED:+/quiet} /i "${file1}"
}
......@@ -14238,7 +14307,8 @@ w_metadata lucida fonts \
load_lucida()
{
w_download "https://ftpmirror.your.org/pub/misc/ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40TSE/hotfixes-postSP3/Euro-fix/eurofixi.exe" 41f272a33521f6e15f2cce9ff1e049f2badd5ff0dc327fc81b60825766d5b6c7
# The site supports https with Let's Encrypt, but that cert fails with curl (which breaks src/linkcheck.sh)
w_download "http://ftpmirror.your.org/pub/misc/ftp.microsoft.com/bussys/winnt/winnt-public/fixes/usa/NT40TSE/hotfixes-postSP3/Euro-fix/eurofixi.exe" 41f272a33521f6e15f2cce9ff1e049f2badd5ff0dc327fc81b60825766d5b6c7
w_try_cabextract -d "${W_TMP}" -F "lucon.ttf" "${W_CACHE}"/lucida/eurofixi.exe
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}"
w_register_font lucon.ttf "Lucida Console"
......@@ -14272,15 +14342,17 @@ load_opensymbol()
w_metadata sourcehansans fonts \
title="Source Han Sans fonts" \
publisher="Adobe" \
year="2019" \
year="2021" \
media="download" \
file1="SourceHanSans.ttc" \
file1="SourceHanSans.ttc.zip" \
installed_file1="${W_FONTSDIR_WIN}/sourcehansans.ttc"
load_sourcehansans()
{
w_download "https://github.com/adobe-fonts/source-han-sans/releases/download/2.001R/SourceHanSans.ttc" 9e94fe493685a7c99ce61e4488169007e3b97badb9f1ef43d3c13da501463780
w_try cp "${W_CACHE}/${W_PACKAGE}/${file1}" "${W_TMP}/sourcehansans.ttc"
w_download "https://github.com/adobe-fonts/source-han-sans/releases/download/2.004R/SourceHanSans.ttc.zip" 6f59118a9adda5a7fe4e9e6bb538309f7e1d3c5411f9a9d32af32a79501b7e4f
w_try_unzip "${W_TMP}" "${W_CACHE}/${W_PACKAGE}/${file1}"
w_try mv "${W_TMP}/SourceHanSans.ttc" "${W_TMP}/sourcehansans_.ttc"
w_try mv "${W_TMP}/sourcehansans_.ttc" "${W_TMP}/sourcehansans.ttc"
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}" "*.ttc"
# Simplified Chinese
......@@ -14475,16 +14547,16 @@ load_wenquanyizenhei()
w_metadata unifont fonts \
title="Unifont alternative to Arial Unicode MS" \
publisher="Roman Czyborra / GNU" \
year="2019" \
year="2021" \
media="download" \
file1="unifont-12.1.02.ttf" \
file1="unifont-13.0.06.ttf" \
installed_file1="${W_FONTSDIR_WIN}/unifont.ttf"
load_unifont()
{
# The GNU Unifont provides glyphs for just about everything in common language. It is intended for multilingual usage.
# See http://unifoundry.com/unifont.html for project page
w_download "http://unifoundry.com/pub/unifont/unifont-12.1.02/font-builds/unifont-12.1.02.ttf" da4961540b9d02e01fb8755924db730db233c360b20ee321fda8ab7d0b9ca549
# See https://unifoundry.com/unifont/index.html for project page.
w_download "https://unifoundry.com/pub/unifont/unifont-13.0.06/font-builds/unifont-13.0.06.ttf" d73c0425811ffd366b0d1973e9338bac26fe7cf085760a12e10c61241915e742
w_try cp "${W_CACHE}/${W_PACKAGE}/${file1}" "${W_TMP}/unifont.ttf"
w_try_cp_font_files "${W_TMP}" "${W_FONTSDIR_UNIX}"
......@@ -14634,25 +14706,26 @@ load_autohotkey()
#----------------------------------------------------------------
w_metadata busybox apps \
title="BusyBox FRP-2121" \
title="BusyBox FRP-3902-g61e53aa93" \
publisher="Ron Yorston / Busybox authors" \
year="2015" \
year="2021" \
media="download" \
file1="busybox-w32-FRP-2121-ga316078ad.exe" \
installed_exe1=""
file1="busybox-w32-FRP-3902-g61e53aa93.exe" \
installed_exe1="${W_SYSTEM32_DLLS_WIN}/busybox.exe"
load_busybox()
{
# Could use https://frippery.org/files/busybox/busybox.exe, but it hasn't updated in last 3 years..
w_download https://frippery.org/files/busybox/busybox-w32-FRP-2121-ga316078ad.exe 1bab530f2fd2a9d69528bc2b35ba1f9f75481ae053443b47cb23ad2c2740d887
w_download https://frippery.org/files/busybox/busybox-w32-FRP-3902-g61e53aa93.exe 5595ff92795dba4717df671c0b17fe3419c332986b2cf5e6a92b4a0f83312fa3
if test "${W_ARCH}" = "win64"; then
w_download https://frippery.org/files/busybox/busybox-w64-FRP-2121-ga316078ad.exe dcb2faf17f996fda8d273d513bc195aec615ef468e3d55b8b4dc9c089b22e035
w_download https://frippery.org/files/busybox/busybox-w64-FRP-3902-g61e53aa93.exe 901f5125fd35df11102df65c70b8877f0d06aad5ac3a27bf9e5d50a43644744b
w_try cp "${W_CACHE}/${W_PACKAGE}/${file1}" "${W_SYSTEM32_DLLS}/busybox.exe"
w_try cp "${W_CACHE}/${W_PACKAGE}/busybox-w64-FRP-2121-ga316078ad.exe" "${W_SYSTEM64_DLLS}/busybox.exe"
else
w_try cp "${W_CACHE}/${W_PACKAGE}/${file1}" "${W_SYSTEM32_DLLS}/busybox.exe"
fi
w_warn "There are known issues with busybox under wine. For https://bugs.winehq.org/show_bug.cgi?id=49780, set BB_SKIP_ANSI_EMULATION=0. For https://github.com/rmyorston/busybox-w32/issues/210, set BB_ALT_BUFFER=0. I.e., \`BB_SKIP_ANSI_EMULATION=0 BB_ALT_BUFFER=0 ${WINE} busybox.exe\`"
}
#----------------------------------------------------------------
......@@ -15237,16 +15310,6 @@ load_ie8()
# Bundled updspapi cannot work on Wine
w_override_dlls builtin updspapi
# Remove the fake DLLs from the existing WINEPREFIX
if [ -f "${W_PROGRAMS_X86_UNIX}/Internet Explorer/iexplore.exe" ]; then
w_try mv "${W_PROGRAMS_X86_UNIX}/Internet Explorer/iexplore.exe" "${W_PROGRAMS_X86_UNIX}/Internet Explorer/iexplore.exe.bak"
fi
for dll in browseui inseng itircl itss jscript msctf mshtml shdoclc shdocvw shlwapi urlmon; do
test -f "${W_SYSTEM32_DLLS}"/${dll}.dll &&
w_try mv "${W_SYSTEM32_DLLS}"/${dll}.dll "${W_SYSTEM32_DLLS}"/${dll}.dll.bak
done
# See https://bugs.winehq.org/show_bug.cgi?id=16013
# Find instructions to create this file in dlls/wintrust/tests/crypt.c
w_download https://github.com/Winetricks/winetricks/raw/master/files/winetest.cat 5d18ab44fc289100ccf4b51cf614cc2d36f7ca053e557e2ba973811293c97d38
......@@ -15257,6 +15320,18 @@ load_ie8()
w_download https://download.microsoft.com/download/C/C/0/CC0BD555-33DD-411E-936B-73AC6F95AE11/IE8-WindowsXP-x86-ENU.exe 5a2c6c82774bfe99b175f50a05b05bcd1fac7e9d0e54db2534049209f50cd6ef
# Remove the fake DLLs from the existing WINEPREFIX
if [ -f "${W_PROGRAMS_X86_UNIX}/Internet Explorer/iexplore.exe" ]; then
w_try mv "${W_PROGRAMS_X86_UNIX}/Internet Explorer/iexplore.exe" "${W_PROGRAMS_X86_UNIX}/Internet Explorer/iexplore.exe.bak"
fi
# Replace the fake DLLs by copies from the bundle
for dll in browseui inseng itircl itss jscript mshtml shdoclc shdocvw shlwapi urlmon; do
test -f "${W_SYSTEM32_DLLS}"/${dll}.dll &&
w_try mv "${W_SYSTEM32_DLLS}"/${dll}.dll "${W_SYSTEM32_DLLS}"/${dll}.dll.bak &&
w_try_cabextract --directory="${W_SYSTEM32_DLLS}" "${W_CACHE}"/ie8/IE8-WindowsXP-x86-ENU.exe -F ${dll}.dll
done
# KLUDGE: if / is writable (as on OS X?), having a Z: mapping to it
# causes ie7 to put temporary directories on Z:\.
# So hide it temporarily. This is not very robust!
......@@ -15935,7 +16010,8 @@ load_protectionid()
w_try_unrar "${W_CACHE}/${W_PACKAGE}/${file1}"
# ProtectionId.685.December.2016 has a different executable name than usual, this may need to be disabled on next update:
w_try mv Protection_ID.eXe protection_id.exe
w_try mv Protection_ID.eXe protection_id_.exe
w_try mv protection_id_.exe protection_id.exe
}
#----------------------------------------------------------------
......@@ -16199,32 +16275,11 @@ load_steam()
{
# 2016/10/28: 029f918a29b2b311711788e8a477c8de529c11d7dba3caf99cbbde5a983efdad
# 2018/06/01: 3bc6942fe09f10ed3447bccdcf4a70ed369366fef6b2c7f43b541f1a3c5d1c51
w_download http://media.steampowered.com/client/installer/SteamSetup.exe 3bc6942fe09f10ed3447bccdcf4a70ed369366fef6b2c7f43b541f1a3c5d1c51
# 2021/03/27: 874788b45dfc043289ba05387e83f27b4a046004a88a4c5ee7c073187ff65b9d
w_download http://media.steampowered.com/client/installer/SteamSetup.exe 874788b45dfc043289ba05387e83f27b4a046004a88a4c5ee7c073187ff65b9d
w_try_cd "${W_CACHE}/${W_PACKAGE}"
if [ -n "${W_OPT_UNATTENDED}" ]; then
w_ahk_do "
run, SteamSetup.exe
SetTitleMatchMode, 2
WinWait, Steam, Using Steam
sleep 1000
ControlClick, Button2
WinWait, Steam, Select the language
sleep 1000
ControlClick, Button2
WinWait, Steam, Choose the folder
sleep 1000
ControlClick, Button2
WinWait, Steam, Steam has been installed
sleep 1000
ControlClick, Button4
sleep 1000
ControlClick, Button2
WinWaitClose
"
else
w_try "${WINE}" SteamSetup.exe
fi
w_try "${WINE}" SteamSetup.exe ${W_OPT_UNATTENDED:+ /S}
# Not all users need this disabled, but let's play it safe for now
if w_workaround_wine_bug 22053 "Disabling gameoverlayrenderer to prevent game crashes on some machines."; then
......@@ -16234,6 +16289,9 @@ load_steam()
if w_workaround_wine_bug 44985 "Disabling libglesv2 to make Store and Library function correctly."; then
w_override_dlls disabled libglesv2
fi
# Otherwise Steam Store and Library don't show
w_call corefonts
}
#----------------------------------------------------------------
......@@ -16361,7 +16419,7 @@ load_vc2005expresssp1()
w_warn "Installer currently fails"
fi
w_download https://download.microsoft.com/download/7/7/3/7737290f-98e8-45bf-9075-85cc6ae34bf1/VS80sp1-KB926748-X86-INTL.exe a959d1ea52674b5338473be32a1370f9ec80df84629a2ed3471aa911b42d9e50
w_try ${WINE} "${W_CACHE}"/vc2005expresssp1/VS80sp1-KB926748-X86-INTL.exe
w_try ${WINE} "${W_CACHE}"/vc2005expresssp1/VS80sp1-KB926748-X86-INTL.exe ${W_OPT_UNATTENDED:+/q}
}
#----------------------------------------------------------------
......@@ -18803,10 +18861,6 @@ load_dragonage()
cp -f "${ini}" "${ini}.old"
fi
if w_workaround_wine_bug 22383 "use strictdrawordering to avoid video problems" ,4.15; then
w_call strictdrawordering=enabled
fi
if w_workaround_wine_bug 22557 "Setting UseVSync=0 to avoid black menu" ,4.15; then
sed 's,UseVSync=1,UseVSync=0,' < "${ini}" > "${ini}.new"
mv -f "${ini}.new" "${ini}"
......@@ -18876,10 +18930,6 @@ load_dragonage_ue()
winwaitclose
"
if w_workaround_wine_bug 22383 "use strictdrawordering to avoid video problems" ,4.15; then
w_call strictdrawordering=enabled
fi
if w_workaround_wine_bug 23730 "Run with WINEDEBUG=-all to reduce flickering" ,4.15; then
:
fi
......@@ -21965,7 +22015,7 @@ winetricks_set_wined3d_var()
enable*) arg=enabled;;
hard*) arg=hardware;;
repack) arg=repack;;
backbuffer|fbo|gdi|gl|no3d|none|readdraw|readtex|texdraw|textex|vulkan|auto) arg=$2;;
arb|backbuffer|fbo|gdi|gl|glsl|no3d|none|readdraw|readtex|texdraw|textex|vulkan|auto) arg=$2;;
[0-9]*) arg=$2;;
*) w_die "illegal value $2 for $1";;
esac
......@@ -21982,27 +22032,12 @@ _EOF_
}
#----------------------------------------------------------------
# AlwaysOffscreen settings
w_metadata ao=enabled settings \
title_uk="Увімкнути AlwaysOffscreen" \
title="Enable AlwaysOffscreen"
w_metadata ao=disabled settings \
title_uk="Вимкнути AlwaysOffscreen (за замовчуванням)" \
title="Disable AlwaysOffscreen (default)"
load_ao()
{
winetricks_set_wined3d_var AlwaysOffscreen "$1"
}
#----------------------------------------------------------------
# CheckFloatConstants settings
w_metadata cfc=enabled settings \
title_uk="Увімкнути CheckFloatConstants" \
title="Enable CheckFloatConstants"
w_metadata cfc=disable settings \
w_metadata cfc=disabled settings \
title_uk="Вимкнути CheckFloatConstants (за замовчуванням)" \
title="Disable CheckFloatConstants (default)"
......@@ -22013,6 +22048,9 @@ load_cfc()
#----------------------------------------------------------------
# CSMT settings
w_metadata csmt=force settings \
title_uk="Увімкнути та примусити серіалізацію команд OpenGL або Vulkan між кількома потоками команд в одній програмі" \
title="Enable and force serialisation of OpenGL or Vulkan commands between multiple command streams in the same application"
w_metadata csmt=on settings \
title_uk="Увімкнути Command Stream Multithreading (за замовчуванням)" \
title="Enable Command Stream Multithreading (default)"
......@@ -22025,6 +22063,7 @@ load_csmt()
case "$1" in
off) arg=0;;
on) arg=1;;
force) arg=3;;
*) w_die "illegal value $1 for csmt";;
esac
......@@ -22042,20 +22081,6 @@ _EOF_
#----------------------------------------------------------------
# DirectDraw settings
w_metadata glsl=enabled settings \
title_uk="Увімкнути GLSL шейдери (за замовчуванням)" \
title="Enable GLSL shaders (default)"
w_metadata glsl=disabled settings \
title_uk="Вимкнути GLSL шейдери та використовувати ARB шейдери (іноді впливає на швидкодію)" \
title="Disable GLSL shaders, use ARB shaders (faster, but sometimes breaks)"
load_glsl()
{
winetricks_set_wined3d_var UseGLSL "$1"
}
#----------------------------------------------------------------
w_metadata gsm=0 settings \
title_uk="Встановити MaxShaderModelGS на 0" \
title="Set MaxShaderModelGS to 0"
......@@ -22076,20 +22101,6 @@ load_gsm()
#----------------------------------------------------------------
w_metadata multisampling=enabled settings \
title_uk="Увімкнути Direct3D мультисемплінг" \
title="Enable Direct3D multisampling"
w_metadata multisampling=disabled settings \
title_uk="Вимкнути Direct3D мультисемплінг" \
title="Disable Direct3D multisampling"
load_multisampling()
{
winetricks_set_wined3d_var Multisampling "$1"
}
#----------------------------------------------------------------
w_metadata npm=repack settings \
title_uk="Встановити NonPower2Mode на repack" \
title="Set NonPower2Mode to repack"
......@@ -22135,16 +22146,47 @@ load_psm()
#----------------------------------------------------------------
w_metadata strictdrawordering=enabled settings \
title_uk="Увімкнути StrictDrawOrdering" \
title="Enable StrictDrawOrdering"
w_metadata strictdrawordering=disabled settings \
title_uk="Вимкнути StrictDrawOrdering (за замовчуванням)" \
title="Disable StrictDrawOrdering (default)"
w_metadata shader_backend=glsl settings \
title_uk="Встановити shader_backend на glsl" \
title="Set shader_backend to glsl"
w_metadata shader_backend=arb settings \
title_uk="Встановити shader_backend на arb" \
title="Set shader_backend to arb"
w_metadata shader_backend=none settings \
title_uk="Встановити shader_backend на none" \
title="Set shader_backend to none"
load_strictdrawordering()
load_shader_backend()
{
winetricks_set_wined3d_var StrictDrawOrdering "$1"
winetricks_set_wined3d_var shader_backend "$1"
}
#----------------------------------------------------------------
w_metadata ssm=disabled settings \
title_uk="Вимкнути Struct Shader Math (за замовчуванням)" \
title="Disable Struct Shader Math (default)"
w_metadata ssm=enabled settings \
title_uk="Увімкнути Struct Shader Math"\
title="Enable Struct Shader Math"
load_ssm()
{
case "$1" in
disabled) arg=0;;
enabled) arg=1;;
*) w_die "illegal value $1 for csmt";;
esac
echo "Setting strict_shader_math to ${arg}"
cat > "${W_TMP}"/set-ssm.reg <<_EOF_
REGEDIT4
[HKEY_CURRENT_USER\\Software\\Wine\\Direct3D]
"strict_shader_math"=dword:${arg}
_EOF_
w_try_regedit "${W_TMP}"/set-ssm.reg
}
#----------------------------------------------------------------
......@@ -22192,6 +22234,29 @@ load_rtlm()
{
winetricks_set_wined3d_var RenderTargetLockMode "$1"
}
#----------------------------------------------------------------
w_metadata set_mididevice settings \
title="Set MIDImap device to the value specified in the MIDI_DEVICE environment variable"
load_set_mididevice()
{
if [ -z "${MIDI_DEVICE}" ]; then
MIDI_DEVICE=$(w_question "Please specify MIDImap device: ")
[ -z "${MIDI_DEVICE}" ] && w_die "Please specify device in MIDI_DEVICE environment variable."
fi
echo "Setting MIDI device to \"${MIDI_DEVICE}\""
cat > "${W_TMP}"/set-mididevice.reg <<_EOF_
REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap]
"CurrentInstrument"="${MIDI_DEVICE}"
_EOF_
w_try_regedit "${W_TMP_WIN}"\\set-mididevice.reg
}
#----------------------------------------------------------------
w_metadata videomemorysize=default settings \
......@@ -23036,22 +23101,12 @@ execute_command()
shell) winetricks_shell ;;
# These have to come before *=disabled to avoid looking like DLLs
cfc=disable*) w_call cfc=disabled ;;
fontsmooth=disable*) w_call fontsmooth=disable ;;
glsl=disable*) w_call glsl=disabled ;;
multisampling=disable*) w_call multisampling=disabled ;;
mwo=disable*) w_call mwo=disable ;; # FIXME: relax matching so we can handle these spelling differences in verb instead of here
rtlm=disable*) w_call rtlm=disabled ;;
sound=disable*) w_call sound=disabled ;;
ao=disable*) w_call ao=disabled ;;
strictdrawordering=disable*) w_call strictdrawordering=disabled ;;
# Use winecfg if you want a GUI for plain old DLL overrides
alldlls=*) w_call "$1" ;;
*=native) w_do_call native "${cmd}";;
*=builtin) w_do_call builtin "${cmd}";;
*=default) w_do_call default "${cmd}";;
*=disabled) w_do_call disabled "${cmd}";;
vd=*) w_do_call "${cmd}";;
ssm=disable*) w_call ssm=disabled ;;
# Hacks for backwards compatibility
# 2017/03/22: add deprecation notices
......@@ -23059,7 +23114,6 @@ execute_command()
comdlg32.ocx) w_warn "Calling comdlg32.ocx is deprecated, please use comdlg32ocx instead" ; w_call comdlg32ocx ;;
dotnet1) w_warn "Calling dotnet1 is deprecated, please use dotnet11 instead" ; w_call dotnet11 ;;
dotnet2) w_warn "Calling dotnet2 is deprecated, please use dotnet20 instead" ; w_call dotnet20 ;;
d9vk_master) w_warn "Calling d9vk_master is deprecated, please use dxvk_master instead" ; w_call dxvk_master ;;
ddr=gdi) w_warn "Calling ddr=gdi is deprecated, please use renderer=gdi or renderer=no3d instead" ; w_call renderer=gdi ;;
ddr=opengl) w_warn "Calling ddr=opengl is deprecated, please use renderer=gl instead" ; w_call renderer=gl ;;
dxvk54) w_warn "Calling dxvk54 is deprecated, please use dxvk054 instead" ; w_call dxvk054 ;;
......@@ -23087,6 +23141,8 @@ execute_command()
fontsmooth-disable) w_warn "Calling fontsmooth-disable is deprecated, please use fontsmooth=disable instead" ; w_call fontsmooth=disable ;;
fontsmooth-gray) w_warn "Calling fontsmooth-gray is deprecated, please use fontsmooth=gray instead" ; w_call fontsmooth=gray ;;
fontsmooth-rgb) w_warn "Calling fontsmooth-rgb is deprecated, please use fontsmooth=rgb instead" ; w_call fontsmooth=rgb ;;
glsl=enabled) w_warn "Calling glsl=enabled is deprecated, please use shader_backend=glsl instead" ; w_call shader_backend=glsl ;;
glsl=disabled) w_warn "Calling glsl=disabled is deprecated, please use shader_backend=arb instead" ; w_call shader_backend=arb ;;
glsl-disable) w_warn "Calling glsl-disable is deprecated, please use glsl=disabled instead" ; w_call glsl=disabled ;;
glsl-enable) w_warn "Calling glsl-enable is deprecated, please use glsl=enabled instead" ; w_call glsl=enabled ;;
ie6_full) w_warn "Calling ie6_full is deprecated, please use ie6 instead" ; w_call ie6 ;;
......@@ -23096,6 +23152,8 @@ execute_command()
oss) w_warn "Calling oss is deprecated, please use sound=oss instead" ; w_call sound=oss ;;
psdkwin7) w_warn "psdkwin7 has been removed, use psdkwin71 instead"; w_call psdkwin71 ;;
python) w_warn "Calling python is deprecated, please use python26 instead" ; w_call python26 ;;
strictdrawordering=enabled) w_warn "Calling strictdrawordering=enabled is deprecated, please use csmt=enabled instead" ; w_call csmt=enabled ;;
strictdrawordering=disabled) w_warn "Calling strictdrawordering=disabled is deprecated, please use csmt=disabled instead" ; w_call csmt=disabled ;;
vbrun60) w_warn "Calling vbrun60 is deprecated, please use vb6run instead" ; w_call vb6run ;;
vcrun2005sp1) w_warn "Calling vcrun2005sp1 is deprecated, please use vcrun2005 instead" ; w_call vcrun2005 ;;
vcrun2008sp1) w_warn "Calling vcrun2008sp1 is deprecated, please use vcrun2008 instead" ; w_call vcrun2008 ;;
......@@ -23104,6 +23162,14 @@ execute_command()
xact_jun2010) w_warn "Calling xact_jun2010 is deprecated, please use xact instead" ; w_call xact ;;
xlive) w_warn "Calling xlive is deprecated, please use gfw instead" ; w_call gfw ;;
# Use winecfg if you want a GUI for plain old DLL overrides
alldlls=*) w_call "$1" ;;
*=native) w_do_call native "${cmd}";;
*=builtin) w_do_call builtin "${cmd}";;
*=default) w_do_call default "${cmd}";;
*=disabled) w_do_call disabled "${cmd}";;
vd=*) w_do_call "${cmd}";;
# Normal verbs, with metadata and load_ functions
*)
if winetricks_metadata_exists "$1"; then
......
#!/bin/sh
# Wrapper around checkbashisms/shellcheck/whatever other shell checkers I can find
# Wrapper around shellcheck/whatever other shell checkers I can find
#
# Copyright (C) 2016 Austin English
# Copyright (C) 2016-2021 Austin English
#
# This software comes with ABSOLUTELY NO WARRANTY.
#
......@@ -47,10 +47,6 @@ trap 'rm -fr "$temp"' EXIT
# tests using bashate
test_bashate() {
if [ ! -x "$(command -v bashate 2>/dev/null)" ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then
echo "On OSX and bashate not available, skipping."
return
else
bashate="$(command -v bashate)"
#echo "======================== Begin bashate version info ==========================="
......@@ -66,63 +62,6 @@ test_bashate() {
# E044=Use [[ for non-POSIX comparisions
echo "Checking ${shellscript} with bashate:"
w_try "${bashate}" -i E006,E010,E044 "${shellscript}"
fi
}
# tests using checkbashisms
test_checkbashisms() {
if [ ! -x "$(command -v checkbashisms 2>/dev/null)" ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then
echo "On OSX and checkbashisms not available, skipping."
return
else
checkbashisms="$(command -v checkbashisms)"
echo "======================== Begin checkbashisms version info ==========================="
"${checkbashisms}" --help > /dev/null || w_die "checkbashisms must be installed!"
"${checkbashisms}" --version
echo "======================== End checkbashisms version info ==========================="
# Check if checkbashisms supports `command -v`. If not, warn, or if on travis, patch it:
cat > "${temp}/command.sh" <<_EOF
#!/bin/sh
command -v grep
_EOF
if ! "${checkbashisms}" --posix "${temp}/command.sh"; then
echo "Use a sed expression, to add checkbashisms support for 'command -v', based on the patch from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=733511"
echo "Creating a copy of the checkbashisms script, in ${temp}, to workaround this issue"
# /usr/bin/ (or /usr/local/bin on OSX) isn't writable on Travis, so we have to patch it in /tmp and use that:
(
sed -e '/qr'\''command\\s+\-\[\^p\]\\s'\''/ { ' -e 's|\[\^p\]|[^pvV]|' -e 's| \-p>| -p/-v/-V>|' -e '}' "${checkbashisms}" > "${temp}/checkbashisms.patched" && \
chmod +x "${temp}/checkbashisms.patched"
)
checkbashisms="${temp}/checkbashisms.patched"
else
echo "checkbashisms workaround not needed, using vanilla script"
fi
# FIXME: if we add a third patch, clean this up
# Check if checkbashisms supports `command -v`. If not, warn, or if on travis, patch it:
cat > "${temp}/kill.sh" <<_EOF
#!/bin/sh
sleep 5 & spid="$!"
kill -HUP \$spid
_EOF
if ! "${checkbashisms}" --posix "${temp}/kill.sh"; then
echo "Disabling the kill -signal warning"
echo "Creating a copy of the checkbashisms script, in ${temp}, to workaround this issue"
# /usr/bin/ (or /usr/local/bin on OSX) isn't writable on Travis, so we have to patch it in /tmp and use that:
(
sed -e '/bashisms.*kill/d' "${checkbashisms}" > "${temp}/checkbashisms.patched.kill" && \
chmod +x "${temp}/checkbashisms.patched.kill"
)
checkbashisms="${temp}/checkbashisms.patched.kill"
fi
echo "Checking ${shellscript} for bashisms:"
w_try "${checkbashisms}" --posix "${shellscript}"
fi
}
# check formatting, (no trailing whitespace, no tabs)
......@@ -152,10 +91,6 @@ test_formatting() {
# tests using shellcheck
test_shellcheck() {
if [ ! -x "$(command -v shellcheck 2>/dev/null)" ] && [ "${TRAVIS_OS_NAME}" = "osx" ]; then
echo "On OSX and shellcheck not available, skipping."
return
else
shellcheck="$(command -v shellcheck)"
echo "======================== Begin shellcheck version info ==========================="
......@@ -165,7 +100,6 @@ test_shellcheck() {
echo "Checking ${shellscript} with shellcheck:"
w_try "${shellcheck}" -s sh "${shellscript}"
fi
}
# tests for linkcheck
......@@ -180,21 +114,6 @@ test_linkcheck() {
fi
}
test_travis_yml() {
if [ ! -x "$(command -v yq 2>/dev/null)" ]; then
echo "warning: yq unavilable, skipping .travis.yml validation"
else
yq="$(command -v yq)"
if [ -n "${yq}" ]; then
echo "yq available, validating .travis.yml"
yq . .travis.yml || true
else
echo "warning: yq not available, not validating .travis.yml"
fi
fi
}
###################################################################################################
# Test wrapper
......@@ -214,16 +133,10 @@ main() {
# really, this checks winetricks, to make sure it doesn't break linkcheck.sh:
test_linkcheck
# make sure yq (if present), can validate .travis_yml.
# Available in brew, not ubuntu (without snap), but if .travis_yml is invalid,
# travis won't run anyway. Only useful when running locally.
test_travis_yml
# Generic shellscript checks:
for shellscript in ${files_to_check}; do
test_formatting
test_bashate
test_checkbashisms
test_shellcheck
done
}
......
......@@ -102,21 +102,6 @@ BLACKLIST="${BLACKLIST}|ffdshow|python26|python27"
BLACKLIST="${BLACKLIST}|dirac"
# https://bugs.winehq.org/show_bug.cgi?id=50061 / https://github.com/Winetricks/winetricks/issues/1644
BLACKLIST="${BLACKLIST}|quicktime76"
# https://github.com/Winetricks/winetricks/issues/1638
BLACKLIST="${BLACKLIST}|dxvk_master"
# Travis CI is apparently blocking archive.org, which breaks several verbs:
# https://github.com/travis-ci/travis-ci/issues/6798
# Blacklist those verbs on those hosts:
# FIXME: setup another test target for torify, use it to d/l these?
ARCHIVE_ORG_BLACKLIST="atmlib|avifil32|cabinet|cmd|comctl32ocx|comdgl32ocx|gmdls|mdac27|mfc40|msflxgrd|mshflxgd"
ARCHIVE_ORG_BLACKLIST="${ARCHIVE_ORG_BLACKLIST}|msls31ms|msmask|msscript|msxml3|pdh|pngfilt|riched30"
ARCHIVE_ORG_BLACKLIST="${ARCHIVE_ORG_BLACKLIST}|richtx32|secur32|tabctl32|usp10|"
# See https://docs.travis-ci.com/user/environment-variables/#Default-Environment-Variables
if [ "${TRAVIS}" = "true" ] ; then
BLACKLIST="${ARCHIVE_ORG_BLACKLIST}|${BLACKLIST}"
fi
# Tests that fail under Xvfb
XVFB_DOTNET_BLACKLIST="dotnet11|dotnet11sp1|dotnet20|dotnet20sdk|dotnet20sp1|dotnet30|dotnet40|dotnet46"
......@@ -836,7 +821,7 @@ test_xvfb() {
export BLACKLIST
# Not test_quick() since some tests fail without proper X, but test_quick() doesn't respect $BLACKLIST
# Also, we don't really want to duplicate those tests twice, as this is for TravisCI where time is limited..
# Also, we don't really want to duplicate those tests twice, as this is for CI/CD where time is limited..
test_category dlls
test_category fonts
test_category settings
......
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