mirror of
https://abf.rosa.ru/djam/wine2.git
synced 2025-02-23 16:42:54 +00:00
Updated to 2.0
This commit is contained in:
parent
208b372b6a
commit
48eeaa8019
6 changed files with 6188 additions and 186 deletions
7
.abf.yml
7
.abf.yml
|
@ -1,5 +1,4 @@
|
|||
sources:
|
||||
wine-1.9.23.tar.bz2: 8fe86ae157986a38e4883639e4c900f30af6967e
|
||||
wine-1.9.23.tar.bz2.sign: 8ff5205bb15259008f790f9399f399173436180b
|
||||
wine-d3d9-patches-wine-d3d9-1.9.8.tar.bz2: 3c91f74106ff08f084f4b77516dfd06c06580819
|
||||
wine-staging-1.9.23.tar.gz: f83a3d6cd9ac2f07d5e0e749e25c35bc1b9b265f
|
||||
wine-2.0.tar.bz2: 3f433d564eb661e7d384871bc4a102eee12638b9
|
||||
wine-2.0.tar.bz2.sign: eb9c3ae5bcfaa2b8bf4e4e01e366a3f1561d7df8
|
||||
wine-staging-2.0.tar.gz: b6ad25e8cd2054d0ecb86a4b4410365502bd8ea1
|
||||
|
|
123
staging-helper.patch
Normal file
123
staging-helper.patch
Normal file
|
@ -0,0 +1,123 @@
|
|||
From b47606c13908f702b955ff7f6cbe94cde8de3139 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Sarnie <commendsarnex@gmail.com>
|
||||
Date: Wed, 25 Jan 2017 15:05:02 -0500
|
||||
Subject: [PATCH] Staging Helper
|
||||
|
||||
Signed-off-by: Nick Sarnie <commendsarnex@gmail.com>
|
||||
---
|
||||
dlls/ntdll/loadorder.c | 2 ++
|
||||
programs/winecfg/resource.h | 1 +
|
||||
programs/winecfg/staging.c | 29 +++++++++++++++++++++++++++++
|
||||
programs/winecfg/winecfg.rc | 1 +
|
||||
4 files changed, 33 insertions(+)
|
||||
|
||||
diff --git a/dlls/ntdll/loadorder.c b/dlls/ntdll/loadorder.c
|
||||
index 50688123f3..0e05a0dab2 100644
|
||||
--- a/dlls/ntdll/loadorder.c
|
||||
+++ b/dlls/ntdll/loadorder.c
|
||||
@@ -633,8 +633,10 @@ WCHAR* get_redirect( const WCHAR *app_name, const WCHAR *path, BYTE *buffer, ULO
|
||||
goto done;
|
||||
|
||||
/* then module basename without '*' (only if explicit path) */
|
||||
+ /*
|
||||
if (basename != module+1 && (ret = get_redirect_value( std_key, app_key, basename, buffer, size )))
|
||||
goto done;
|
||||
+ */
|
||||
|
||||
/* and last the hard-coded default */
|
||||
ret = NULL;
|
||||
diff --git a/programs/winecfg/resource.h b/programs/winecfg/resource.h
|
||||
index b94e773b60..028dbb730b 100644
|
||||
--- a/programs/winecfg/resource.h
|
||||
+++ b/programs/winecfg/resource.h
|
||||
@@ -218,6 +218,7 @@
|
||||
#define IDC_ENABLE_EAX 9003
|
||||
#define IDC_ENABLE_HIDEWINE 9004
|
||||
#define IDC_ENABLE_GTK3 9005
|
||||
+#define IDC_ENABLE_NATIVE_D3D9 9006
|
||||
|
||||
/* About tab */
|
||||
#define IDC_ABT_OWNER 8432
|
||||
diff --git a/programs/winecfg/staging.c b/programs/winecfg/staging.c
|
||||
index a96bdcaab4..7eec5e9608 100644
|
||||
--- a/programs/winecfg/staging.c
|
||||
+++ b/programs/winecfg/staging.c
|
||||
@@ -122,6 +122,23 @@ static void gtk3_set(BOOL status)
|
||||
#endif
|
||||
}
|
||||
|
||||
+/*
|
||||
+ * Gallium nine
|
||||
+ */
|
||||
+static BOOL nine_get(void)
|
||||
+{
|
||||
+ BOOL ret;
|
||||
+ char *value = get_reg_key(config_key, keypath("DllRedirects"), "d3d9", NULL);
|
||||
+ ret = (value && !strcmp(value, "d3d9-nine.dll"));
|
||||
+ HeapFree(GetProcessHeap(), 0, value);
|
||||
+ return ret;
|
||||
+}
|
||||
+
|
||||
+static void nine_set(BOOL status)
|
||||
+{
|
||||
+ set_reg_key(config_key, keypath("DllRedirects"), "d3d9", status ? "d3d9-nine.dll" : NULL);
|
||||
+}
|
||||
+
|
||||
static void load_staging_settings(HWND dialog)
|
||||
{
|
||||
CheckDlgButton(dialog, IDC_ENABLE_CSMT, csmt_get() ? BST_CHECKED : BST_UNCHECKED);
|
||||
@@ -129,6 +146,7 @@ static void load_staging_settings(HWND dialog)
|
||||
CheckDlgButton(dialog, IDC_ENABLE_EAX, eax_get() ? BST_CHECKED : BST_UNCHECKED);
|
||||
CheckDlgButton(dialog, IDC_ENABLE_HIDEWINE, hidewine_get() ? BST_CHECKED : BST_UNCHECKED);
|
||||
CheckDlgButton(dialog, IDC_ENABLE_GTK3, gtk3_get() ? BST_CHECKED : BST_UNCHECKED);
|
||||
+ CheckDlgButton(dialog, IDC_ENABLE_NATIVE_D3D9, nine_get() ? BST_CHECKED : BST_UNCHECKED);
|
||||
|
||||
#ifndef HAVE_VAAPI
|
||||
disable(IDC_ENABLE_VAAPI);
|
||||
@@ -136,6 +154,9 @@ static void load_staging_settings(HWND dialog)
|
||||
#ifndef HAVE_GTK3
|
||||
disable(IDC_ENABLE_GTK3);
|
||||
#endif
|
||||
+#if !defined(HAVE_D3D9NINE)
|
||||
+ disable(IDC_ENABLE_NATIVE_D3D9);
|
||||
+#endif
|
||||
}
|
||||
|
||||
INT_PTR CALLBACK StagingDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
@@ -163,6 +184,8 @@ INT_PTR CALLBACK StagingDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||
{
|
||||
case IDC_ENABLE_CSMT:
|
||||
csmt_set(IsDlgButtonChecked(hDlg, IDC_ENABLE_CSMT) == BST_CHECKED);
|
||||
+ nine_set(FALSE);
|
||||
+ CheckDlgButton(hDlg, IDC_ENABLE_NATIVE_D3D9, BST_UNCHECKED);
|
||||
SendMessageW(GetParent(hDlg), PSM_CHANGED, 0, 0);
|
||||
return TRUE;
|
||||
case IDC_ENABLE_VAAPI:
|
||||
@@ -181,6 +204,12 @@ INT_PTR CALLBACK StagingDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPar
|
||||
gtk3_set(IsDlgButtonChecked(hDlg, IDC_ENABLE_GTK3) == BST_CHECKED);
|
||||
SendMessageW(GetParent(hDlg), PSM_CHANGED, 0, 0);
|
||||
return TRUE;
|
||||
+ case IDC_ENABLE_NATIVE_D3D9:
|
||||
+ nine_set(IsDlgButtonChecked(hDlg, IDC_ENABLE_NATIVE_D3D9) == BST_CHECKED);
|
||||
+ csmt_set(FALSE);
|
||||
+ CheckDlgButton(hDlg, IDC_ENABLE_CSMT, BST_UNCHECKED);
|
||||
+ SendMessageW(GetParent(hDlg), PSM_CHANGED, 0, 0);
|
||||
+ return TRUE;
|
||||
}
|
||||
break;
|
||||
}
|
||||
diff --git a/programs/winecfg/winecfg.rc b/programs/winecfg/winecfg.rc
|
||||
index c375217d71..31cc9bae0d 100644
|
||||
--- a/programs/winecfg/winecfg.rc
|
||||
+++ b/programs/winecfg/winecfg.rc
|
||||
@@ -320,6 +320,7 @@ BEGIN
|
||||
CONTROL "Enable Environmental Audio E&xtensions (EAX)",IDC_ENABLE_EAX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,70,230,8
|
||||
CONTROL "&Hide Wine version from applications",IDC_ENABLE_HIDEWINE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,85,230,8
|
||||
CONTROL "Enable >K3 Theming",IDC_ENABLE_GTK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,100,230,8
|
||||
+ CONTROL "Enable Gallium &Nine for better D3D9 graphic performance",IDC_ENABLE_NATIVE_D3D9,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,115,230,8
|
||||
END
|
||||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
--
|
||||
2.11.0
|
||||
|
5658
wine-d3d9.patch
Normal file
5658
wine-d3d9.patch
Normal file
File diff suppressed because it is too large
Load diff
62
wine.spec
62
wine.spec
|
@ -1,17 +1,15 @@
|
|||
%ifarch x86_64
|
||||
%define wine wine64
|
||||
%define mark64 ()(64bit)
|
||||
%define wine wine64
|
||||
%define mark64 ()(64bit)
|
||||
%else
|
||||
%define wine wine
|
||||
%define mark64 %{nil}
|
||||
%define wine wine
|
||||
%define mark64 %{nil}
|
||||
%endif
|
||||
|
||||
%define major 1
|
||||
%define libname %mklibname %{name} %{major}
|
||||
%define devname %mklibname %{name} -d
|
||||
|
||||
%define d3d_version 1.9.8
|
||||
|
||||
# On 32-bit we have
|
||||
# wine32 - those 32-bit binaries that are also used on 64-bit for 32-bit support
|
||||
# wine - all other files (requires 'wine32')
|
||||
|
@ -21,7 +19,7 @@
|
|||
|
||||
Summary: WINE Is Not An Emulator - runs MS Windows programs
|
||||
Name: wine
|
||||
Version: 1.9.23
|
||||
Version: 2.0
|
||||
Release: 1
|
||||
Epoch: 2
|
||||
License: LGPLv2+
|
||||
|
@ -29,15 +27,19 @@ Group: Emulators
|
|||
Url: http://www.winehq.com/
|
||||
Source0: http://mirrors.ibiblio.org/wine/source/%(echo %{version} |cut -d. -f1-2)/%{name}-%{version}.tar.bz2
|
||||
Source1: http://mirrors.ibiblio.org/wine/source/%(echo %{version} |cut -d. -f1-2)/%{name}-%{version}.tar.bz2.sign
|
||||
# RH stuff
|
||||
# FIXME: provide a systemd-based solution
|
||||
# See: https://wiki.archlinux.org/index.php/wine (Using Wine as an interpreter for Win16/Win32 binaries)
|
||||
# Old RH stuff
|
||||
Source2: wine.init
|
||||
Source3: wine.systemd
|
||||
# Wine-Compholio, from github by tag
|
||||
# https://github.com/compholio/wine-compholio/archive/v%{version}.tar.gz
|
||||
Source3: wine-staging-%{version}.tar.gz
|
||||
# Wine Gallium Nine, from github by tag
|
||||
# https://github.com/NP-Hardass/wine-d3d9-patches/archive/wine-d3d9-%{version}.tar.gz
|
||||
# 1.9.8 tarball is master snapshot rebased against wine-staging 1.9.8
|
||||
Source4: wine-d3d9-patches-wine-d3d9-%{d3d_version}.tar.bz2
|
||||
# https://github.com/compholio/wine-compholio/archive/v%%{version}.tar.gz
|
||||
Source4: wine-staging-%{version}.tar.gz
|
||||
# Wine Gallium Nine patches for wine-staging %%{version}
|
||||
# from https://github.com/sarnex/wine-d3d9-patches.
|
||||
# Install staging-helper before wine-d3d9
|
||||
Source6: staging-helper.patch
|
||||
Source7: wine-d3d9.patch
|
||||
Source10: wine.rpmlintrc
|
||||
Source11: https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
|
||||
Source12: http://kegel.com/wine/wisotool
|
||||
|
@ -45,7 +47,7 @@ Source12: http://kegel.com/wine/wisotool
|
|||
# (Anssi 05/2008) Adds:
|
||||
# a: => /media/floppy (/mnt/floppy on 2007.1 and older)
|
||||
# d: => $HOME (at config_dir creation time, not refreshed if $HOME changes;
|
||||
# note that Wine also provides $HOME in My Documents)
|
||||
# note that Wine also provides $HOME in My Documents)
|
||||
# only on 2008.0: e: => /media/cdrom (does not exist on 2008.1+)
|
||||
# com4 => /dev/ttyUSB0 (replaces /dev/ttyS3)
|
||||
# have to substitute @MDKVERSION@ in dlls/ntdll/server.c
|
||||
|
@ -249,6 +251,7 @@ Wine is often updated.
|
|||
%{_libdir}/libwine*.so
|
||||
%{_libdir}/%{name}/*.def
|
||||
%{_includedir}/*
|
||||
#%%{_bindir}/fnt2bdf
|
||||
%{_bindir}/wmc
|
||||
%{_bindir}/wrc
|
||||
%{_bindir}/winebuild
|
||||
|
@ -272,16 +275,18 @@ Wine is often updated.
|
|||
#----------------------------------------------------------------------------
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%setup -qn %{name}-%{version}
|
||||
%patch0 -p1 -b .conf
|
||||
|
||||
# Wine-Compholio
|
||||
gzip -dc "%{SOURCE3}" | /bin/tar -xf - --strip-components=1
|
||||
make -C "patches" DESTDIR="%{_builddir}/wine-%{version}" install
|
||||
# Wine-staging
|
||||
gzip -dc "%{SOURCE4}" | /bin/tar -xf - --strip-components=1
|
||||
#make -C "patches" DESTDIR="%%{_builddir}/wine-%%{version}-rc4" install
|
||||
# See patchinstall.sh --help for all the options
|
||||
./patches/patchinstall.sh DESTDIR="%{_builddir}/wine-%{version}" --all
|
||||
|
||||
# Gallium Nine
|
||||
tar -xf %{SOURCE4}
|
||||
patch -p1 < wine-d3d9-patches-wine-d3d9-%{d3d_version}/wine-d3d9.patch
|
||||
# Gallium Nine support
|
||||
patch -p1 < %{SOURCE6}
|
||||
patch -p1 < %{SOURCE7}
|
||||
|
||||
sed -i 's,@MDKVERSION@,%{mdvver},' dlls/ntdll/server.c
|
||||
|
||||
|
@ -299,13 +304,12 @@ export CFLAGS="%{optflags} -fno-omit-frame-pointer"
|
|||
# not change build behaviour.
|
||||
export ICOTOOL=false
|
||||
|
||||
autoreconf -fi
|
||||
autoreconf -vfi
|
||||
%configure2_5x \
|
||||
--with-d3dadapter \
|
||||
--with-pulse \
|
||||
%ifarch x86_64
|
||||
--enable-win64
|
||||
--enable-win64 \
|
||||
%endif
|
||||
--with-pulse
|
||||
|
||||
make depend
|
||||
make
|
||||
|
@ -316,6 +320,9 @@ make
|
|||
install -m 0755 %{SOURCE11} %{buildroot}%{_bindir}/
|
||||
install -m 0755 %{SOURCE12} %{buildroot}%{_bindir}/
|
||||
|
||||
# Danny: dirty:
|
||||
# install -m755 tools/fnt2bdf -D %%{buildroot}%%{_bindir}/fnt2bdf
|
||||
|
||||
# Allow users to launch Windows programs by just clicking on the .exe file...
|
||||
install -m755 %{SOURCE2} -D %{buildroot}%{_initrddir}/%{name}
|
||||
|
||||
|
@ -453,7 +460,7 @@ EOF
|
|||
%{_bindir}/wineserver
|
||||
%{_bindir}/wineboot
|
||||
%{_bindir}/function_grep.pl
|
||||
#%{_bindir}/wineprefixcreate
|
||||
#%%{_bindir}/wineprefixcreate
|
||||
%{_bindir}/msidb
|
||||
%{_bindir}/msiexec
|
||||
%{_bindir}/notepad
|
||||
|
@ -481,6 +488,7 @@ EOF
|
|||
%{_mandir}/man1/winemine.1*
|
||||
%{_mandir}/man1/winepath.1*
|
||||
%dir %{_datadir}/%{name}
|
||||
#{_datadir}/%%{name}/generic.ppd
|
||||
%{_datadir}/%{name}/%{name}.inf
|
||||
%{_datadir}/%{name}/l_intl.nls
|
||||
%{_datadir}/applications/*.desktop
|
||||
|
|
5
wine.systemd
Normal file
5
wine.systemd
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Pre-PE Windows Executables
|
||||
:windows:M::MZ::/usr/bin/wine:
|
||||
|
||||
# PE Windows Executables
|
||||
:windowsPE:M::PE::/usr/bin/wine:
|
519
winetricks
519
winetricks
|
@ -1,8 +1,12 @@
|
|||
#!/bin/sh
|
||||
# shellcheck disable=SC2030,SC2031
|
||||
# SC2030: Modification of WINE is local (to subshell caused by (..) group).
|
||||
# SC2031: WINE was modified in a subshell. That change might be lost
|
||||
# This has to be right after the shebang, see: https://github.com/koalaman/shellcheck/issues/779
|
||||
|
||||
# Name of this version of winetricks (YYYYMMDD)
|
||||
# (This doesn't change often, use the sha1sum of the file when reporting problems)
|
||||
WINETRICKS_VERSION=20161012
|
||||
WINETRICKS_VERSION=20170101
|
||||
|
||||
# This is a UTF-8 file
|
||||
# You should see an o with two dots over it here [ö]
|
||||
|
@ -137,12 +141,23 @@ WINETRICKS_VERSION=20161012
|
|||
# *) echo "This is the English message" ;;
|
||||
# esac
|
||||
#
|
||||
# Support:
|
||||
# - Winetricks is maintained by Austin English <austinenglish!$gmail.com>.
|
||||
# - If winetricks has helped you out, then please consider donating to the FSF/EFF as a thank you
|
||||
# - If winetricks has helped you out, then please consider donating to the FSF/EFF as a thank you:
|
||||
# * EFF - https://supporters.eff.org/donate/button
|
||||
# * FSF - https://my.fsf.org/donate
|
||||
# - Donations towards electricity bill and developer beer fund can be sent via Paypal to above address.
|
||||
# - I try to actively respond to bugs and pull requests on GitHub:
|
||||
# - Bugs: https://github.com/Winetricks/winetricks/issues/new
|
||||
# - Pull Requests: https://github.com/Winetricks/winetricks/pulls
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# FIXME: XDG_CACHE_HOME is defined twice, clean this up
|
||||
XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
|
||||
XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
|
||||
|
||||
W_COUNTRY=""
|
||||
W_PREFIXES_ROOT="${WINE_PREFIXES:-$XDG_DATA_HOME/wineprefixes}"
|
||||
|
||||
# For temp files before $WINEPREFIX is available:
|
||||
|
@ -627,6 +642,8 @@ w_dotnet_verify()
|
|||
dotnet45) version="4.5" ;;
|
||||
dotnet452) version="4.5.2" ;;
|
||||
dotnet46) version="4.6" ;;
|
||||
dotnet461) version="4.6.1" ;;
|
||||
dotnet462) version="4.6.2" ;;
|
||||
*) echo error ; exit 1 ;;
|
||||
esac
|
||||
w_call dotnet_verifier
|
||||
|
@ -748,11 +765,11 @@ winetricks_selfupdate_rollback()
|
|||
}
|
||||
|
||||
# Download a file
|
||||
# Usage: w_download_to packagename url [sha1sum [filename [cookie jar]]]
|
||||
# Usage: w_download_to (packagename|path to download file) url [sha1sum [filename [cookie jar]]]
|
||||
# Caches downloads in winetrickscache/$packagename
|
||||
w_download_to()
|
||||
{
|
||||
_W_packagename="$1"
|
||||
_W_packagename="$1" # or path to download file to
|
||||
_W_url="$2"
|
||||
_W_sum="$3"
|
||||
_W_file="$4"
|
||||
|
@ -771,10 +788,14 @@ w_download_to()
|
|||
_W_file=$(basename "$_W_url")
|
||||
fi
|
||||
|
||||
if [ -z "${_W_packagename%%/*}" ] && pathchk -P "$_W_packagename" ; then
|
||||
_W_cache="$_W_packagename"
|
||||
if echo "${_W_packagename}" | grep -q -e '\/-' -e '^-'; then
|
||||
w_die "Invalid path ${_W_packagename} given"
|
||||
else
|
||||
_W_cache="$W_CACHE/$_W_packagename"
|
||||
if ! echo "${_W_packagename}" | grep -q '^/' ; then
|
||||
_W_cache="$W_CACHE/$_W_packagename"
|
||||
else
|
||||
_W_cache="$_W_packagename"
|
||||
fi
|
||||
fi
|
||||
|
||||
if test ! -d "$_W_cache"
|
||||
|
@ -782,11 +803,41 @@ w_download_to()
|
|||
w_try mkdir -p "$_W_cache"
|
||||
fi
|
||||
|
||||
# If WINETRICKS_DOWNLOADER is set, ensure it is to a valid value (aria2c, curl, wget), if not, error.
|
||||
# If unset, fallback to checking for them in $PATH as before:
|
||||
|
||||
# shellcheck disable=2104
|
||||
case "${WINETRICKS_DOWNLOADER}" in
|
||||
aria2c|curl|wget) : ;;
|
||||
"") if [ -x "$(which aria2c 2>/dev/null)" ] ; then
|
||||
WINETRICKS_DOWNLOADER="aria2c"
|
||||
elif [ -x "$(which wget 2>/dev/null)" ] ; then
|
||||
WINETRICKS_DOWNLOADER="wget"
|
||||
elif [ -x "$(which curl 2>/dev/null)" ] ; then
|
||||
WINETRICKS_DOWNLOADER="curl"
|
||||
else
|
||||
w_die "Please install wget or aria2c (or, if those aren't available, curl)"
|
||||
fi
|
||||
;;
|
||||
*) w_die "Invalid value ${WINETRICKS_DOWNLOADER} given for WINETRICKS_DOWNLOADER. Possible values: aria2c, curl, wget"
|
||||
|
||||
esac
|
||||
|
||||
# FIXME: move these variables and common download options to a global place that can be shared as
|
||||
# downloaders may be used outside of w_download_to() (e.g., winetricks_stats_report() and winetricks_dl_url_to_stdout())
|
||||
# Common values for aria2c/curl/wget
|
||||
# Connection timeout time (in seconds):
|
||||
WINETRICKS_DOWNLOADER_TIMEOUT=${WINETRICKS_DOWNLOADER_TIMEOUT:-15}
|
||||
# Number of retry attempts:
|
||||
WINETRICKS_DOWNLOADER_RETRIES=${WINETRICKS_DOWNLOADER_RETRIES:-3}
|
||||
|
||||
# Try download twice
|
||||
checksum_ok=""
|
||||
tries=0
|
||||
while test $tries -lt 2
|
||||
do
|
||||
# Warn on a second try
|
||||
test "$tries" -eq 1 && winetricks_dl_warning
|
||||
tries=$((tries + 1))
|
||||
|
||||
if test -s "$_W_cache/$_W_file"
|
||||
|
@ -850,8 +901,10 @@ w_download_to()
|
|||
aria2c_torify_opts="" ;;
|
||||
esac
|
||||
|
||||
if [ -x "$(which aria2c 2>/dev/null)" ]
|
||||
if [ "${WINETRICKS_DOWNLOADER}" = "aria2c" ]
|
||||
then
|
||||
# Note: aria2c wants = for most options or silently fails
|
||||
|
||||
# (Slightly fancy) aria2c support
|
||||
# See https://github.com/Winetricks/winetricks/issues/612
|
||||
# --daemon=false --enable-rpc=false to ensure aria2c doesnt go into the background after starting
|
||||
|
@ -862,17 +915,19 @@ w_download_to()
|
|||
# ovewritten by the new aria2 process
|
||||
$torify aria2c \
|
||||
$aria2c_torify_opts \
|
||||
--connect-timeout="${WINETRICKS_DOWNLOADER_TIMEOUT}" \
|
||||
--continue \
|
||||
--daemon=false \
|
||||
--dir "$_W_cache" \
|
||||
--dir="$_W_cache" \
|
||||
--enable-rpc=false \
|
||||
--input-file='' \
|
||||
--max-connection-per-server=5 \
|
||||
--out "$_W_file" \
|
||||
--max-tries="$WINETRICKS_DOWNLOADER_RETRIES" \
|
||||
--out="$_W_file" \
|
||||
--save-session='' \
|
||||
--stream-piece-selector=geom \
|
||||
"$_W_url"
|
||||
elif [ -x "$(which wget 2>/dev/null)" ]
|
||||
elif [ "${WINETRICKS_DOWNLOADER}" = "wget" ]
|
||||
then
|
||||
# Use -nd to insulate ourselves from people who set -x in WGETRC
|
||||
# [*] --retry-connrefused works around the broken sf.net mirroring
|
||||
|
@ -885,25 +940,31 @@ w_download_to()
|
|||
-O "$_W_file" \
|
||||
-nd \
|
||||
-c\
|
||||
--read-timeout=300 \
|
||||
--read-timeout 300 \
|
||||
--retry-connrefused \
|
||||
--timeout "${WINETRICKS_DOWNLOADER_TIMEOUT}" \
|
||||
--tries "$WINETRICKS_DOWNLOADER_RETRIES" \
|
||||
${_W_cookiejar:+--load-cookies "$_W_cookiejar"} \
|
||||
${_W_agent:+--user-agent="$_W_agent"} \
|
||||
"$_W_url"
|
||||
elif [ -x "$(which curl 2>/dev/null)" ]
|
||||
elif [ "${WINETRICKS_DOWNLOADER}" = "curl" ]
|
||||
then
|
||||
# Note: curl does not accept '=' when passing options
|
||||
|
||||
# curl doesn't get filename from the location given by the server!
|
||||
# fortunately, we know it
|
||||
# shellcheck disable=SC2086
|
||||
$torify curl \
|
||||
--connect-timeout "${WINETRICKS_DOWNLOADER_TIMEOUT}" \
|
||||
-L \
|
||||
-o "$_W_file" \
|
||||
-C - \
|
||||
--retry "$WINETRICKS_DOWNLOADER_RETRIES" \
|
||||
${_W_cookiejar:+--cookie "$_W_cookiejar"} \
|
||||
${_W_agent:+--user-agent "$_W_agent"} \
|
||||
"$_W_url"
|
||||
else
|
||||
w_die "Please install wget or aria2c (or, if those aren't available, curl)"
|
||||
w_die "Here be dragons"
|
||||
fi
|
||||
if test $? = 0
|
||||
then
|
||||
|
@ -1578,13 +1639,14 @@ w_ahk_do()
|
|||
chmod +x "$W_CACHE/ahk/AutoHotkey.exe"
|
||||
fi
|
||||
|
||||
_W_CR=$(printf \\\\r)
|
||||
cat <<_EOF_ | sed "s/\$/$_W_CR/" > "$W_TMP"/tmp.ahk
|
||||
# Previously this used printf + sed, but that was broken with BSD sed (FreeBSD/OS X):
|
||||
# https://github.com/Winetricks/winetricks/issues/697
|
||||
# So now using trying awk instead (next, perl):
|
||||
cat <<_EOF_ | awk 'sub("$", "\r")' > "$W_TMP"/tmp.ahk
|
||||
w_opt_unattended = ${W_OPT_UNATTENDED:-0}
|
||||
$@
|
||||
_EOF_
|
||||
w_try "$WINE" "$W_CACHE_WIN\\ahk\\AutoHotkey.exe" "$W_TMP_WIN"\\tmp.ahk
|
||||
unset _W_CR
|
||||
}
|
||||
|
||||
# Function to protect Wine-specific sections of code.
|
||||
|
@ -2123,7 +2185,9 @@ w_set_app_winver()
|
|||
# fi
|
||||
w_wine_version()
|
||||
{
|
||||
# Parse major/minor/micro/nano fields of VALUE. Ignore nano. Abort if major is not 1.
|
||||
# Note, there are also hacks for major releases (1.6/1.8/2.0/etc. and RCs) in winetricks_init()
|
||||
#
|
||||
# Parse major/minor/micro/nano fields of VALUE. Ignore nano.
|
||||
case $2 in
|
||||
0*|1.0|1.0.*) w_die "bug: $2 is before 1.1, we don't bother with bugs fixed that long ago" ;;
|
||||
1.1.*) _W_minor=1; _W_micro=$(echo "$2" | sed 's/.*\.//');;
|
||||
|
@ -2138,6 +2202,13 @@ w_wine_version()
|
|||
1.7.*) _W_minor=7; _W_micro=$(echo "$2" | sed 's/.*\.//');;
|
||||
1.8.*) _W_minor=8; _W_micro=$(echo "$2" | sed 's/.*\.//');;
|
||||
1.9.*) _W_minor=9; _W_micro=$(echo "$2" | sed 's/.*\.//');;
|
||||
|
||||
# Rather than rework numbering system to handle both, just consider 2.x+ as 1.10, 1.11, etc.
|
||||
2.0|2.0-rc*) _W_minor=10; _W_micro=0;;
|
||||
2.0.*|2.*) _W_minor=10; _W_micro=$(echo "$2" | sed 's/.*\.//');;
|
||||
3.0|3.0-rc*) _W_minor=11; _W_micro=0;;
|
||||
3.0.*|3.*) _W_minor=11; _W_micro=$(echo "$2" | sed 's/.*\.//');;
|
||||
|
||||
*) w_die "bug: unrecognized version $2";;
|
||||
esac
|
||||
|
||||
|
@ -2157,6 +2228,7 @@ w_wine_version()
|
|||
#WINETRICKS_WINE_MINOR=3 WINETRICKS_WINE_MICRO=4 w_wine_version -gt 1.2 || w_die "fail test case wine-1.3.4 > wine-1.2"
|
||||
#echo Verify that version 1.6 is greater than 1.2
|
||||
#WINETRICKS_WINE_MINOR=6 WINETRICKS_WINE_MICRO=0 w_wine_version -gt 1.2 || w_die "fail test case wine-1.6 > wine-1.2"
|
||||
# FIXME: 2.x tests
|
||||
|
||||
# Usage: w_wine_version_in range ...
|
||||
# True if wine version in any of the given ranges
|
||||
|
@ -2402,7 +2474,7 @@ w_do_call()
|
|||
;;
|
||||
*)
|
||||
# shellcheck disable=SC2154
|
||||
case "$category"-"$WINETRICKS_OPT_SHAREDPREFIX" in
|
||||
case "${category}-${WINETRICKS_OPT_SHAREDPREFIX}" in
|
||||
apps-0|benchmarks-0|games-0)
|
||||
winetricks_set_wineprefix "$cmd"
|
||||
# If it's a new wineprefix, give it metadata
|
||||
|
@ -2505,6 +2577,7 @@ REGEDIT4
|
|||
_EOF_
|
||||
# too verbose
|
||||
w_try_regedit "$W_TMP_WIN"\\_register-font.reg
|
||||
# shellcheck disable=SC1037
|
||||
cp "$W_TMP"/*.reg "$W_TMP_EARLY"/_reg$$.reg
|
||||
|
||||
# Wine also updates the win9x fonts key, so let's do that, too
|
||||
|
@ -2515,6 +2588,7 @@ REGEDIT4
|
|||
"$font"="$file"
|
||||
_EOF_
|
||||
w_try_regedit "$W_TMP_WIN"\\_register-font.reg
|
||||
# shellcheck disable=SC1037
|
||||
cp "$W_TMP"/*.reg "$W_TMP_EARLY"/_reg$$-2.reg
|
||||
}
|
||||
|
||||
|
@ -2541,6 +2615,7 @@ w_append_path()
|
|||
_W_NEW_PATH="$(printf %s "$1" | sed 's,\\\\,\\\\\\\\,g')"
|
||||
_W_WIN_PATH="$(w_expand_env PATH | sed 's,\\\\,\\\\\\\\,g')"
|
||||
|
||||
# FIXME: OS X? https://github.com/Winetricks/winetricks/issues/697
|
||||
sed 's/$/\r/' > "$W_TMP"/path.reg <<_EOF_
|
||||
REGEDIT4
|
||||
|
||||
|
@ -2555,6 +2630,64 @@ _EOF_
|
|||
|
||||
#---- Private Functions ----
|
||||
|
||||
winetricks_dl_url_to_stdout()
|
||||
{
|
||||
# FIXME: get common downloader variables supported
|
||||
# FIXME: --torify support as well
|
||||
if [ "${WINETRICKS_DOWNLOADER}" = "wget" ] ; then
|
||||
w_try wget -q -O - "$1"
|
||||
elif [ "${WINETRICKS_DOWNLOADER}" = "curl" ] ; then
|
||||
w_try curl -s "$1"
|
||||
elif [ "${WINETRICKS_DOWNLOADER}" = "aria2c" ] ; then
|
||||
# aria2c doesn't have support downloading to stdout:
|
||||
# https://github.com/aria2/aria2/issues/190
|
||||
# So instead, download to a temporary directory and cat the file:
|
||||
stdout_tmpfile="${W_TMP_EARLY}/stdout.tmp"
|
||||
|
||||
if [ -e "${stdout_tmpfile}" ] ; then
|
||||
w_try rm "${stdout_tmpfile}"
|
||||
fi
|
||||
aria2c \
|
||||
--continue \
|
||||
--daemon=false \
|
||||
--dir="${W_TMP_EARLY}" \
|
||||
--enable-rpc=false \
|
||||
--input-file='' \
|
||||
--max-connection-per-server=5 \
|
||||
--out="stdout.tmp" \
|
||||
--save-session='' \
|
||||
--stream-piece-selector=geom \
|
||||
"$1" > /dev/null
|
||||
w_try cat "${stdout_tmpfile}"
|
||||
w_try rm "${stdout_tmpfile}"
|
||||
else
|
||||
w_die "Please install aria2c, curl, or wget"
|
||||
fi
|
||||
}
|
||||
|
||||
winetricks_dl_warning() {
|
||||
case $LANG in
|
||||
ru*) _W_countrymsg="Скрипт определил, что ваш IP адрес принадлежит России. Если во время загрузки файлов вы увидите ошибки несоответствия сертификата, перезапустите скрипт с опцией '--torify' или скачайте файлы вручную, например, используя VPN." ;;
|
||||
*) _W_countrymsg="Your IP address has been determined to belong to Russia. If you encounter a certificate error while downloading, please relaunch with the '--torify' option, or download files manually, for instance using VPN." ;;
|
||||
esac
|
||||
|
||||
# Lookup own country via IP address only once (i.e. don't run this function for every download invocation)
|
||||
if [ -z "$W_COUNTRY" ] ; then
|
||||
W_COUNTRY="$(winetricks_dl_url_to_stdout "http://ipinfo.io/$(winetricks_dl_url_to_stdout "http://ipinfo.io/ip")" | awk -F '"' '/country/{print $4}')"
|
||||
export W_COUNTRY
|
||||
|
||||
if [ -z "$W_COUNTRY" ] ; then
|
||||
export W_COUNTRY="unknown"
|
||||
fi
|
||||
fi
|
||||
|
||||
# TODO: Resolve a full country name via https://github.com/umpirsky/country-list/tree/master/data
|
||||
case "$W_COUNTRY" in
|
||||
"RU") w_warn "$_W_countrymsg" ;;
|
||||
*) : ;;
|
||||
esac
|
||||
}
|
||||
|
||||
winetricks_get_sha1sum_prog() {
|
||||
# Mac folks tend to not have sha1sum, but we can make do with openssl
|
||||
if [ -x "$(which sha1sum 2>/dev/null)" ]
|
||||
|
@ -2590,18 +2723,12 @@ winetricks_latest_version_check()
|
|||
return
|
||||
fi
|
||||
|
||||
latest_file="${W_TMP_EARLY}/LATEST"
|
||||
latest_version="$(winetricks_dl_url_to_stdout https://raw.githubusercontent.com/Winetricks/winetricks/master/files/LATEST)"
|
||||
|
||||
# Obviously, always redownload:
|
||||
if [ -e "$latest_file" ] ; then
|
||||
w_try rm "${latest_file}"
|
||||
fi
|
||||
# Also check that $latest_version is an actual number in case github is down
|
||||
if [ ! -z "${latest_version}" ] && [ ! "$WINETRICKS_VERSION" = "${latest_version}" ] && \
|
||||
echo "${latest_version}" | grep -E "[0-9]{8}" ; then
|
||||
|
||||
w_download_to ${W_TMP_EARLY} https://raw.githubusercontent.com/Winetricks/winetricks/master/files/LATEST
|
||||
|
||||
latest_version="$(cat "${latest_file}")"
|
||||
|
||||
if [ ! "$WINETRICKS_VERSION" = "${latest_version}" ] ; then
|
||||
if [ -f "${WINETRICKS_CONFIG}/enable-auto-update" ] ; then
|
||||
w_info "You are running winetricks-${WINETRICKS_VERSION}."
|
||||
w_info "New upstream release winetricks-${latest_version} is available."
|
||||
|
@ -2816,7 +2943,7 @@ winetricks_prefixmenu()
|
|||
else
|
||||
_W_msg_name="$p"
|
||||
fi
|
||||
case $LANG in
|
||||
case $LANG in
|
||||
zh_CN*) printf %s " FALSE prefix='$p' '选择管理 $_W_msg_name' " ;;
|
||||
zh_TW*|zh_HK*) printf %s " FALSE prefix='$p' '選擇管理 $_W_msg_name' " ;;
|
||||
de*) printf %s " FALSE prefix='$p' '$_W_msg_name auswählen' " ;;
|
||||
|
@ -3382,7 +3509,7 @@ winetricks_showmenu()
|
|||
;;
|
||||
esac > "$WINETRICKS_WORKDIR"/zenity.sh
|
||||
|
||||
> "$WINETRICKS_WORKDIR"/installed.txt
|
||||
true > "$WINETRICKS_WORKDIR"/installed.txt
|
||||
for metadatafile in "$WINETRICKS_METADATA"/$WINETRICKS_CURMENU/*.vars
|
||||
do
|
||||
code=$(winetricks_metadata_basename "$metadatafile")
|
||||
|
@ -3504,7 +3631,7 @@ winetricks_is_installed()
|
|||
;;
|
||||
*)
|
||||
# Compute wineprefix for this app
|
||||
case "$category"-"$WINETRICKS_OPT_SHAREDPREFIX" in
|
||||
case "${category}-${WINETRICKS_OPT_SHAREDPREFIX}" in
|
||||
apps-0|benchmarks-0|games-0)
|
||||
_W_prefix="$W_PREFIXES_ROOT/$1"
|
||||
;;
|
||||
|
@ -3892,20 +4019,20 @@ winetricks_cache_iso()
|
|||
WINETRICKS_DD_PID=$!
|
||||
;;
|
||||
esac
|
||||
echo $WINETRICKS_DD_PID > "$WINETRICKS_WORKDIR"/dd-pid
|
||||
echo "$WINETRICKS_DD_PID" > "$WINETRICKS_WORKDIR"/dd-pid
|
||||
|
||||
# Note: if user presses ^C, winetricks_cleanup will call winetricks_iso_cleanup
|
||||
# FIXME: add progress bar for kde, too
|
||||
case $WINETRICKS_GUI in
|
||||
none|kdialog)
|
||||
while ps -p $WINETRICKS_DD_PID > /dev/null 2>&1
|
||||
while ps -p "$WINETRICKS_DD_PID" > /dev/null 2>&1
|
||||
do
|
||||
sleep 5
|
||||
ls -l "$W_CACHE"/temp.iso
|
||||
done
|
||||
;;
|
||||
zenity)
|
||||
while ps -p $WINETRICKS_DD_PID > /dev/null 2>&1
|
||||
while ps -p "$WINETRICKS_DD_PID" > /dev/null 2>&1
|
||||
do
|
||||
echo 1
|
||||
sleep 2
|
||||
|
@ -4488,6 +4615,7 @@ winetricks_init()
|
|||
W_ISO_MOUNT_LETTER=i
|
||||
|
||||
WINETRICKS_WINE_VERSION=$(winetricks_early_wine --version | sed 's/.*wine/wine/')
|
||||
# See also w_wine_version()
|
||||
# A small hack...
|
||||
case "$WINETRICKS_WINE_VERSION" in
|
||||
wine-1.4-*) WINETRICKS_WINE_VERSION="wine-1.4.40"; export WINETRICKS_WINE_VERSION;;
|
||||
|
@ -4496,12 +4624,16 @@ winetricks_init()
|
|||
wine-1.6) WINETRICKS_WINE_VERSION="wine-1.6.0"; export WINETRICKS_WINE_VERSION;;
|
||||
wine-1.8-*) WINETRICKS_WINE_VERSION="wine-1.8.0"; export WINETRICKS_WINE_VERSION;;
|
||||
wine-1.8) WINETRICKS_WINE_VERSION="wine-1.8.0"; export WINETRICKS_WINE_VERSION;;
|
||||
wine-2.0-*) WINETRICKS_WINE_VERSION="wine-1.10.0"; export WINETRICKS_WINE_VERSION;;
|
||||
wine-2.0) WINETRICKS_WINE_VERSION="wine-1.10.0"; export WINETRICKS_WINE_VERSION;;
|
||||
wine-3.0-*) WINETRICKS_WINE_VERSION="wine-1.11.0"; export WINETRICKS_WINE_VERSION;;
|
||||
wine-3.0) WINETRICKS_WINE_VERSION="wine-1.11.0"; export WINETRICKS_WINE_VERSION;;
|
||||
esac
|
||||
WINETRICKS_WINE_MINOR=$(echo $WINETRICKS_WINE_VERSION | sed 's/wine-1\.\([0-9]*\)\..*/\1/')
|
||||
WINETRICKS_WINE_MICRO=$(echo $WINETRICKS_WINE_VERSION | sed 's/wine-1.[0-9][0-9]*\.\([0-9]*\).*/\1/')
|
||||
|
||||
if [ ! "$WINETRICKS_SUPER_QUIET" ] ; then
|
||||
echo "Using winetricks $(winetricks_print_version) with $WINETRICKS_WINE_VERSION"
|
||||
echo "Using winetricks $(winetricks_print_version) with ${WINETRICKS_WINE_VERSION} and WINEARCH=${W_ARCH}"
|
||||
fi
|
||||
|
||||
winetricks_latest_version_check
|
||||
|
@ -5605,7 +5737,7 @@ load_directx9()
|
|||
w_override_dlls native d3dx9_30 d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37
|
||||
w_override_dlls native d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dx9_42 d3dx9_43 d3dxof
|
||||
w_override_dlls native dciman32 ddrawex devenum dmband dmcompos dmime dmloader dmscript dmstyle
|
||||
w_override_dlls native dmsynth dmusic dmusic32 dnsapi dplay dplayx dpnaddr dpnet dpnhpast dpnlobby
|
||||
w_override_dlls native dmsynth dmusic dmusic32 dplay dplayx dpnaddr dpnet dpnhpast dpnlobby
|
||||
w_override_dlls native dswave dxdiagn msdmo qcap quartz streamci
|
||||
w_override_dlls native dxdiag.exe
|
||||
w_override_dlls builtin d3d8 d3d9 dinput dinput8 dsound
|
||||
|
@ -5869,12 +6001,6 @@ load_dotnet20()
|
|||
# and http://bugs.winehq.org/show_bug.cgi?id=30845#c10
|
||||
w_set_winver win2k
|
||||
|
||||
# FIXME: verify on pristine Windows XP:
|
||||
if w_workaround_wine_bug 34803
|
||||
then
|
||||
"$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' /f
|
||||
fi
|
||||
|
||||
w_try_cd "$W_CACHE"/"$W_PACKAGE"
|
||||
w_try "$WINE" dotnetfx.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"}
|
||||
w_unset_winver
|
||||
|
@ -6049,13 +6175,6 @@ load_dotnet20sp2()
|
|||
w_call dotnet20
|
||||
$WINESERVER -w
|
||||
|
||||
# FIXME: verify on pristine Windows XP:
|
||||
if w_workaround_wine_bug 34803
|
||||
then
|
||||
"$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' /f
|
||||
fi
|
||||
$WINESERVER -w
|
||||
|
||||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
w_ahk_do "
|
||||
SetTitleMatchMode, 2
|
||||
|
@ -6133,8 +6252,6 @@ load_dotnet30()
|
|||
|
||||
w_call dotnet20
|
||||
|
||||
w_warn "Installing .NET 3.0 runtime takes 3 minutes on a very fast machine, and the Finished dialog may hide in the taskbar."
|
||||
|
||||
# AF's workaround to avoid long pause
|
||||
LANGPACKS_BASE_PATH="${W_WINDIR_UNIX}/SYSMSICache/Framework/v3.0"
|
||||
test -d "${LANGPACKS_BASE_PATH}" || mkdir -p "${LANGPACKS_BASE_PATH}"
|
||||
|
@ -6154,7 +6271,8 @@ load_dotnet30()
|
|||
WINEDLLOVERRIDES="ngen.exe,mscorsvw.exe=b;$WINEDLLOVERRIDES"
|
||||
|
||||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
w_try "$WINE" "$file1" ${W_OPT_UNATTENDED:+ /q /c:"install.exe /q"}
|
||||
w_warn "Installing .NET 3.0 runtime silently, as otherwise it gets hidden behind taskbar. Installation usually takes about 3 minutes."
|
||||
w_try "$WINE" "$file1" /q /c:"install.exe /q"
|
||||
|
||||
# Doesn't install any ngen.exe
|
||||
# W_NGEN_CMD=""
|
||||
|
@ -6244,8 +6362,6 @@ load_dotnet35()
|
|||
w_call msxml3
|
||||
fi
|
||||
|
||||
"$WINE" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" /f
|
||||
|
||||
# See also http://blogs.msdn.com/astebner/archive/2008/07/17/8745415.aspx
|
||||
w_try_cd "$W_TMP"
|
||||
w_try_cabextract $W_UNATTENDED_DASH_Q "$W_CACHE"/dotnet35/dotnetfx35.exe
|
||||
|
@ -6355,11 +6471,6 @@ load_dotnet40()
|
|||
|
||||
w_call remove_mono
|
||||
|
||||
# Remove Mono registry entry:
|
||||
"$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f
|
||||
|
||||
w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll"
|
||||
|
||||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
|
||||
WINEDLLOVERRIDES=fusion=b "$WINE" dotNetFx40_Full_x86_x64.exe ${W_OPT_UNATTENDED:+/q /c:"install.exe /q"} || true
|
||||
|
@ -6403,11 +6514,6 @@ load_dotnet45()
|
|||
|
||||
w_call remove_mono
|
||||
|
||||
# Remove Mono registry entry:
|
||||
"$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f
|
||||
|
||||
w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll"
|
||||
|
||||
# See https://appdb.winehq.org/objectManager.php?sClass=version&iId=25478 for Focht's recipe
|
||||
w_call dotnet35
|
||||
w_call dotnet40
|
||||
|
@ -6462,11 +6568,6 @@ load_dotnet452()
|
|||
|
||||
w_call remove_mono
|
||||
|
||||
# Remove Mono registry entry:
|
||||
"$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f
|
||||
|
||||
w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll"
|
||||
|
||||
# See https://appdb.winehq.org/objectManager.php?sClass=version&iId=25478 for Focht's recipe
|
||||
w_call dotnet35
|
||||
w_call dotnet40
|
||||
|
@ -6518,11 +6619,6 @@ load_dotnet46()
|
|||
|
||||
w_call remove_mono
|
||||
|
||||
# Remove Mono registry entry:
|
||||
"$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f
|
||||
|
||||
w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll"
|
||||
|
||||
w_call dotnet45
|
||||
w_set_winver win7
|
||||
|
||||
|
@ -6550,28 +6646,122 @@ load_dotnet46()
|
|||
|
||||
#----------------------------------------------------------------
|
||||
|
||||
w_metadata dotnet461 dlls \
|
||||
title="MS .NET 4.6.1" \
|
||||
publisher="Microsoft" \
|
||||
year="2015" \
|
||||
media="download" \
|
||||
file1="NDP461-KB3102436-x86-x64-AllOS-ENU.exe" \
|
||||
conflicts="dotnet20 dotnet20sdk dotnet20sp1 dotnet20sp2 dotnet35sp1 dotnet40 dotnet46 vjrun20" \
|
||||
installed_file1="c:/windows/Microsoft.NET/Framework/v4.0.30319/SetupCache/v4.6.01055/1041/SetupResources.dll"
|
||||
|
||||
load_dotnet461()
|
||||
{
|
||||
if [ $W_ARCH = win64 ]
|
||||
then
|
||||
w_warn "This package may not work on a 64-bit installation"
|
||||
fi
|
||||
|
||||
# https://www.microsoft.com/en-au/download/details.aspx?id=49982
|
||||
w_download https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe 83d048d171ff44a3cad9b422137656f585295866
|
||||
|
||||
w_call remove_mono
|
||||
|
||||
w_call dotnet46
|
||||
w_set_winver win7
|
||||
|
||||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
|
||||
WINEDLLOVERRIDES=fusion=b "$WINE" "$file1" ${W_OPT_UNATTENDED:+/q /norestart}
|
||||
status=$?
|
||||
|
||||
echo "exit status: $status"
|
||||
|
||||
case $status in
|
||||
0) ;;
|
||||
105) echo "exit status $status - normal, user selected 'restart now'" ;;
|
||||
194) echo "exit status $status - normal, user selected 'restart later'" ;;
|
||||
*) w_die "exit status $status - $W_PACKAGE installation failed" ;;
|
||||
esac
|
||||
|
||||
w_override_dlls native mscoree
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------
|
||||
|
||||
w_metadata dotnet462 dlls \
|
||||
title="MS .NET 4.6.2" \
|
||||
publisher="Microsoft" \
|
||||
year="2016" \
|
||||
media="download" \
|
||||
conflicts="dotnet20 dotnet20sdk dotnet20sp1 dotnet20sp2 dotnet35sp1 dotnet40 dotnet46 dotnet461 vjrun20"
|
||||
|
||||
load_dotnet462()
|
||||
{
|
||||
if [ $W_ARCH = win64 ]
|
||||
then
|
||||
w_warn "This package may not work on a 64-bit installation"
|
||||
fi
|
||||
|
||||
if w_workaround_wine_bug 42170 "Running un-official repacked .NET 4.6.2 setup until the official version is fixed."
|
||||
then
|
||||
# Un-official slim version. See http://repacks.net/forum/viewtopic.php?t=7
|
||||
w_download http://repacks.net/uploads/dotNetFx462_Full_x86_x64_Slim.exe 1886c2b3b6eba37fcf79d59c9e5b100930150fda
|
||||
file_package="dotNetFx462_Full_x86_x64_Slim.exe"
|
||||
unattended_args="/ai /gm2"
|
||||
else
|
||||
# Official version. See https://www.microsoft.com/en-au/download/details.aspx?id=53344
|
||||
w_download https://download.microsoft.com/download/F/9/4/F942F07D-F26F-4F30-B4E3-EBD54FABA377/NDP462-KB3151800-x86-x64-AllOS-ENU.exe a70f856bda33d45ad0a8ad035f73092441715431
|
||||
file_package="NDP462-KB3151800-x86-x64-AllOS-ENU.exe"
|
||||
unattended_args="/q /norestart"
|
||||
fi
|
||||
|
||||
w_call remove_mono
|
||||
|
||||
w_call dotnet461
|
||||
w_set_winver win7
|
||||
|
||||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
|
||||
WINEDLLOVERRIDES=fusion=b "$WINE" "$file_package" ${W_OPT_UNATTENDED:+$unattended_args}
|
||||
status=$?
|
||||
|
||||
echo "exit status: $status"
|
||||
|
||||
case $status in
|
||||
0) ;;
|
||||
5) w_die "exit status $status - user selected 'Cancel'" ;;
|
||||
*) w_die "exit status $status - $W_PACKAGE installation failed" ;;
|
||||
esac
|
||||
|
||||
w_override_dlls native mscoree
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------
|
||||
|
||||
w_metadata dotnet_verifier dlls \
|
||||
title="MS .NET Verifier" \
|
||||
publisher="Microsoft" \
|
||||
year="2012" \
|
||||
year="2016" \
|
||||
media="download" \
|
||||
file1="netfx_5F00_setupverifier_5F00_new.zip" \
|
||||
file1="netfx_setupverifier_new.zip" \
|
||||
installed_file1="$W_SYSTEM32_DLLS_WIN/netfx_setupverifier.exe"
|
||||
|
||||
load_dotnet_verifier()
|
||||
{
|
||||
# http://blogs.msdn.com/b/astebner/archive/2008/10/13/8999004.aspx
|
||||
# https://blogs.msdn.microsoft.com/astebner/2008/10/13/net-framework-setup-verification-tool-users-guide/
|
||||
# 2013/03/28: sha1sum 0eba832a0733cd47b7639463dd5a22a41e95ee6e # netfx_5F00_setupverifier_5F00_new.zip
|
||||
# 2014/01/23: sha1sum 8818f3460826145e2a66bb91727afa7cd531037b
|
||||
# 2014/11/22: sha1sum 47de0b849c4c3d354df23588c709108e7816d788
|
||||
# 2015/07/31: sha1sum 32f24526a5716737281dc260451b60a641b23c7e
|
||||
# 2015/12/27: sha1sum b9712da2943e057668f21f68c473657a205c5cb8
|
||||
# 2016/09/22: name change, to netfx_setupverifier_new_2015_12_18.zip
|
||||
# 2016/10/26: sha1sum 6eef0158dc637d186d4ab5eb13aee6ef577831b2, adds .NET Framework 4.6.{1,2} support
|
||||
|
||||
w_download https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Components.PostAttachments/00/08/99/90/04/netfx_setupverifier_new_2015_12_18.zip b9712da2943e057668f21f68c473657a205c5cb8 "${file1}"
|
||||
w_download https://msdnshared.blob.core.windows.net/media/2016/10/netfx_setupverifier_new.zip 6eef0158dc637d186d4ab5eb13aee6ef577831b2 "${file1}"
|
||||
|
||||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
w_try_unzip "$W_SYSTEM32_DLLS" netfx_5F00_setupverifier_5F00_new.zip netfx_setupverifier.exe
|
||||
w_try_unzip "$W_SYSTEM32_DLLS" netfx_setupverifier_new.zip netfx_setupverifier.exe
|
||||
|
||||
w_warn "You can run the .Net Verifier with \"${WINE} netfx_setupverifier.exe\""
|
||||
}
|
||||
|
@ -6913,14 +7103,19 @@ load_dirac()
|
|||
if ( w_opt_unattended > 0 ) {
|
||||
ControlClick, Button2
|
||||
WinWait, Dirac, License
|
||||
Sleep 1000
|
||||
ControlClick, Button2
|
||||
WinWait, Dirac, Location
|
||||
Sleep 1000
|
||||
ControlClick, Button2
|
||||
WinWait, Dirac, Components
|
||||
Sleep 1000
|
||||
ControlClick, Button2
|
||||
WinWait, Dirac, environment
|
||||
Sleep 1000
|
||||
ControlCLick, Button1
|
||||
WinWait, Dirac, installed
|
||||
Sleep 1000
|
||||
ControlClick, Button2
|
||||
}
|
||||
WinWaitClose
|
||||
|
@ -7944,8 +8139,6 @@ w_metadata remove_mono settings \
|
|||
|
||||
load_remove_mono()
|
||||
{
|
||||
# FIXME: fold other .NET cleanups here (registry entries).
|
||||
# Probably should only do that for wine >= 1.5.6
|
||||
mono_uuid="$($WINE uninstaller --list | grep Mono | cut -f1 -d\|)"
|
||||
if test "$mono_uuid"
|
||||
then
|
||||
|
@ -7953,6 +8146,17 @@ load_remove_mono()
|
|||
else
|
||||
w_warn "Mono does not appear to be installed."
|
||||
fi
|
||||
|
||||
# FIXME: verify on pristine Windows XP:
|
||||
if w_workaround_wine_bug 34803
|
||||
then
|
||||
"$WINE" reg delete 'HKLM\Software\Microsoft\.NETFramework\v2.0.50727\SBSDisabled' /f
|
||||
fi
|
||||
|
||||
"$WINE" reg delete "HKLM\\Software\\Microsoft\\NET Framework Setup\\NDP\\v3.5" /f || true
|
||||
"$WINE" reg delete "HKLM\Software\Microsoft\NET Framework Setup\NDP\v4" /f || true
|
||||
|
||||
w_try rm -f "$W_WINDIR_UNIX/system32/mscoree.dll"
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------
|
||||
|
@ -8515,6 +8719,30 @@ load_vcrun2008()
|
|||
w_override_dlls native,builtin atl90 msvcm90 msvcp90 msvcr90 vcomp90
|
||||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
w_try "$WINE" "$file1" $W_UNATTENDED_SLASH_Q
|
||||
|
||||
case "$W_ARCH" in
|
||||
win64)
|
||||
# Also install the 64-bit version
|
||||
# 2016/11/15: a7c83077b8a28d409e36316d2d7321fa0ccdb7e8
|
||||
w_download https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe a7c83077b8a28d409e36316d2d7321fa0ccdb7e8
|
||||
if w_workaround_wine_bug 30713 "Manually extracting the 64-bit dlls"
|
||||
then
|
||||
rm -f "$W_TMP"/* # Avoid permission error
|
||||
w_try_cabextract --directory="$W_TMP" vcredist_x64.exe
|
||||
w_try_cabextract --directory="$W_TMP" "$W_TMP/vc_red.cab"
|
||||
|
||||
w_try cp "$W_TMP"/atl90.dll.30729.6161.Microsoft_VC90_ATL_x64.QFE "$W_SYSTEM64_DLLS"/atl90.dll
|
||||
w_try cp "$W_TMP"/mfc90.dll.30729.6161.Microsoft_VC90_MFC_x64.QFE "$W_SYSTEM64_DLLS"/mfc90.dll
|
||||
w_try cp "$W_TMP"/mfcm90.dll.30729.6161.Microsoft_VC90_MFC_x64.QFE "$W_SYSTEM64_DLLS"/mfcm90.dll
|
||||
w_try cp "$W_TMP"/msvcm90.dll.30729.6161.Microsoft_VC90_CRT_x64.QFE "$W_SYSTEM64_DLLS"/msvcm90.dll
|
||||
w_try cp "$W_TMP"/msvcp90.dll.30729.6161.Microsoft_VC90_CRT_x64.QFE "$W_SYSTEM64_DLLS"/msvcp90.dll
|
||||
w_try cp "$W_TMP"/msvcr90.dll.30729.6161.Microsoft_VC90_CRT_x64.QFE "$W_SYSTEM64_DLLS"/msvcr90.dll
|
||||
w_try cp "$W_TMP"/vcomp90.dll.30729.6161.Microsoft_VC90_OpenMP_x64.QFE "$W_SYSTEM64_DLLS"/vcomp90.dll
|
||||
else
|
||||
w_try "$WINE" vcredist_x64.exe $W_UNATTENDED_SLASH_Q
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------
|
||||
|
@ -8666,7 +8894,7 @@ load_vcrun2015()
|
|||
w_warn "This may fail in non-XP mode, see https://bugs.winehq.org/show_bug.cgi?id=37781"
|
||||
fi
|
||||
|
||||
w_override_dlls native,builtin 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 atl140 msvcp140 msvcr140 ucrtbase vcomp140 vcruntime140
|
||||
w_override_dlls native,builtin 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 msvcr140 ucrtbase vcomp140 vcruntime140
|
||||
|
||||
w_try_cd "$W_CACHE"/"$W_PACKAGE"
|
||||
w_try "$WINE" vc_redist.x86.exe $W_UNATTENDED_SLASH_Q
|
||||
|
@ -9394,7 +9622,7 @@ w_metadata droid fonts \
|
|||
installed_file1="$W_FONTSDIR_WIN/DroidSans-Bold.ttf"
|
||||
|
||||
do_droid() {
|
||||
w_download "${DROID_URL}$1'?raw=true'" "$3" "$1"
|
||||
w_download "${DROID_URL}${1}?raw=true" "${3}" "${1}"
|
||||
w_try cp -f "$W_CACHE/droid/$1" "$W_FONTSDIR_UNIX"
|
||||
w_register_font "$1" "$2"
|
||||
}
|
||||
|
@ -10306,15 +10534,15 @@ load_iceweasel()
|
|||
w_metadata irfanview apps \
|
||||
title="Irfanview" \
|
||||
publisher="Irfan Skiljan" \
|
||||
year="2014" \
|
||||
year="2016" \
|
||||
media="download" \
|
||||
file1="iview438_setup.exe" \
|
||||
file1="iview444_setup.exe" \
|
||||
installed_file1="$W_PROGRAMS_X86_WIN/IrfanView/i_view32.exe" \
|
||||
homepage="http://www.irfanview.com/"
|
||||
|
||||
load_irfanview()
|
||||
{
|
||||
w_download http://fossies.org/windows/misc/iview438_setup.exe c55c2fd91ac1af03e8063442b110ba771357d42e
|
||||
w_download http://download.betanews.com/download/967963863-1/iview444_setup.exe d9675c2c4fce810134718b74b0c598957c8ebcf4
|
||||
if w_workaround_wine_bug 657 "Installing mfc42"
|
||||
then
|
||||
w_call mfc42
|
||||
|
@ -10343,16 +10571,10 @@ load_irfanview()
|
|||
ControlClick, Button1 ; Images Only associations
|
||||
Sleep 900
|
||||
ControlClick, Button16 ; Next
|
||||
Sleep 900
|
||||
winwait, Setup, Search
|
||||
Sleep 900
|
||||
ControlClick, Button1 ; deselect chrome googsrch
|
||||
Sleep 900
|
||||
ControlClick, Button18 ; Next
|
||||
Sleep 1000
|
||||
winwait, Setup, INI
|
||||
Sleep 1000
|
||||
ControlClick, Button23 ; Next
|
||||
ControlClick, Button21 ; Next
|
||||
Sleep 1000
|
||||
winwait, Setup, You want to change
|
||||
winactivate, Setup, really
|
||||
|
@ -10362,9 +10584,11 @@ load_irfanview()
|
|||
winwait, Setup, successful
|
||||
winactivate, Setup, successful
|
||||
Sleep 900
|
||||
ControlClick, Button1 ; no load webpage
|
||||
Sleep 900
|
||||
ControlClick, Button2 ; no start irfanview
|
||||
Sleep 900
|
||||
ControlClick, Button27 ; done
|
||||
ControlClick, Button25 ; done
|
||||
Sleep 900
|
||||
winwaitclose
|
||||
"
|
||||
|
@ -10795,11 +11019,11 @@ load_mt4()
|
|||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
w_ahk_do "
|
||||
Run, ${file1}
|
||||
WinWait, MetaTrader 4 Setup, license agreement
|
||||
WinWait, MetaTrader Setup, license agreement
|
||||
ControlClick, Button1
|
||||
Sleep 100
|
||||
ControlClick, Button3
|
||||
WinWait, MetaTrader 4 Setup, Installation successfully completed
|
||||
WinWait, MetaTrader Setup, Installation successfully completed
|
||||
ControlClick, Button4
|
||||
Process, Wait, terminal.exe
|
||||
Process, Close, terminal.exe
|
||||
|
@ -10956,23 +11180,6 @@ $W_CACHE/$W_PACKAGE/key.txt and rerun."
|
|||
|
||||
#----------------------------------------------------------------
|
||||
|
||||
w_metadata opera apps \
|
||||
title="Opera 11" \
|
||||
publisher="Opera Software" \
|
||||
year="2011" \
|
||||
media="download" \
|
||||
file1="Opera_1150_en_Setup.exe" \
|
||||
installed_exe1="$W_PROGRAMS_X86_WIN/Opera/opera.exe"
|
||||
|
||||
load_opera()
|
||||
{
|
||||
w_download ftp://ftp.opera.com/pub/opera/win/1150/en/Opera_1150_en_Setup.exe df50c7aed50e92af858e8834f833dd0543014b46
|
||||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
w_try "$WINE" "$file1" ${W_OPT_UNATTENDED:+ /silent /launchopera 0 /allusers}
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------
|
||||
|
||||
w_metadata picasa39 apps \
|
||||
title="Picasa 3.9" \
|
||||
publisher="Google" \
|
||||
|
@ -11198,11 +11405,6 @@ load_python26()
|
|||
w_download http://www.python.org/ftp/python/2.6.2/python-2.6.2.msi 2d1503b0e8b7e4c72a276d4d9027cf4856b208b8
|
||||
w_download $WINETRICKS_SOURCEFORGE/project/pywin32/pywin32/Build%20214/pywin32-214.win32-py2.6.exe eca58f29b810d8e3e7951277ebb3e35ac35794a3
|
||||
|
||||
if [ "$WINETRICKS_WINE_VERSION" = "wine-1.4.1" ]
|
||||
then
|
||||
w_die "This installer is broken under $WINETRICKS_WINE_VERSION. Please upgrade Wine. See https://code.google.com/p/winetricks/issues/detail?id=347 for more info."
|
||||
fi
|
||||
|
||||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
w_try "$WINE" msiexec /i python-2.6.2.msi ALLUSERS=1 $W_UNATTENDED_SLASH_Q
|
||||
|
||||
|
@ -11560,7 +11762,7 @@ w_metadata vc2005trial apps \
|
|||
load_vc2005trial()
|
||||
{
|
||||
w_call dotnet20
|
||||
|
||||
|
||||
# Without mfc42.dll, pidgen.dll won't load, and the app claims "A trial edition is already installed..."
|
||||
w_call mfc42
|
||||
|
||||
|
@ -14882,39 +15084,6 @@ load_gta_vc()
|
|||
|
||||
#----------------------------------------------------------------
|
||||
|
||||
w_metadata guildwars games \
|
||||
title="Guild Wars" \
|
||||
publisher="NCsoft" \
|
||||
year="2005" \
|
||||
media="download" \
|
||||
file1="GwSetup.exe" \
|
||||
installed_exe1="$W_PROGRAMS_X86_WIN/Guild Wars/Gw.exe" \
|
||||
homepage="http://www.guildwars.com"
|
||||
|
||||
load_guildwars()
|
||||
{
|
||||
w_download "http://guildwars.com/download/" a7c4c8cb3b8cbee20707dcf8176d3da6a1686c05 GwSetup.exe
|
||||
|
||||
w_try_cd "$W_CACHE/$W_PACKAGE"
|
||||
w_ahk_do "
|
||||
Run, GwSetup.exe
|
||||
WinWait, ahk_class ArenaNet_Dialog_Class
|
||||
if ( w_opt_unattended > 0 ) {
|
||||
; Wait for network connection to finish. This might need to be longer. Can we detect this better?
|
||||
Sleep 6000
|
||||
; For some reason, the OK doesn't take for me unless I activate the window first
|
||||
WinActivate
|
||||
Send {Enter}
|
||||
; Installation takes a long time... and then starts the game, which we don't want.
|
||||
}
|
||||
WinWait, ahk_class ArenaNet_Dx_Window_Class
|
||||
Sleep 4000
|
||||
WinClose, ahk_class ArenaNet_Dx_Window_Class
|
||||
"
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------
|
||||
|
||||
w_metadata hegemonygold_demo games \
|
||||
title="Hegemony Gold" \
|
||||
publisher="Longbow Games" \
|
||||
|
@ -17899,7 +18068,7 @@ load_civ5_demo_steam()
|
|||
# finds the dialog it's looking for, clicks, and exits.
|
||||
w_info "If you already own the full Civ 5 game on Steam, the installer won't even appear."
|
||||
w_steam_install_game 65900 "Sid Meier's Civilization V - Demo"
|
||||
kill -s HUP $_job # just in case
|
||||
kill -s HUP "$_job" # just in case
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------
|
||||
|
@ -18112,6 +18281,21 @@ 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 \
|
||||
title_uk="Вимкнути CheckFloatConstants (за замовчуванням)" \
|
||||
title="Disable CheckFloatConstants (default)"
|
||||
|
||||
load_cfc()
|
||||
{
|
||||
winetricks_set_wined3d_var CheckFloatConstants "$1"
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------
|
||||
# DirectDraw settings
|
||||
|
||||
|
@ -18822,6 +19006,30 @@ load_winxp()
|
|||
|
||||
#----------------------------------------------------------------
|
||||
|
||||
# Not really a setting, just a fake verb, that shouldn't count as 'installed',
|
||||
# that always works
|
||||
|
||||
w_metadata good settings \
|
||||
title="Fake verb that always returns true"
|
||||
|
||||
load_good()
|
||||
{
|
||||
w_info "$W_PACKAGE succeeded!"
|
||||
}
|
||||
|
||||
#----------------------------------------------------------------
|
||||
|
||||
# Not really a setting, just a fake verb, that shouldn't count as 'installed',
|
||||
# that always fails
|
||||
|
||||
w_metadata bad settings \
|
||||
title="Fake verb that always returns false"
|
||||
|
||||
load_bad()
|
||||
{
|
||||
w_die "$W_PACKAGE failed!"
|
||||
}
|
||||
|
||||
#---- Derived Metadata ----
|
||||
# Generated automatically by measuring time and space requirements of all verbs
|
||||
# size_MB includes size of virgin wineprefix, but not the cached installer
|
||||
|
@ -19124,6 +19332,7 @@ winetricks_stats_report()
|
|||
report="$(echo "$report" | sed 's/ /%20/g')"
|
||||
# Just do a HEAD request with the raw command line.
|
||||
# Yes, this can be fooled by caches. That's ok.
|
||||
# FIXME: get common downloader variables supported
|
||||
if [ -x "$(which wget 2>/dev/null)" ]
|
||||
then
|
||||
wget --spider "http://kegel.com/data/winetricks-usage?$report" > /dev/null 2>&1 || true
|
||||
|
@ -19342,7 +19551,7 @@ then
|
|||
if test "$verbs" = ""
|
||||
then
|
||||
# "user didn't pick anything, back up a level in the menu"
|
||||
case "$WINETRICKS_CURMENU"-"$WINETRICKS_OPT_SHAREDPREFIX" in
|
||||
case "${WINETRICKS_CURMENU}-${WINETRICKS_OPT_SHAREDPREFIX}" in
|
||||
apps-0|benchmarks-0|games-0|main-*) WINETRICKS_CURMENU=prefix ;;
|
||||
prefix-*) break ;;
|
||||
*) WINETRICKS_CURMENU=main ;;
|
||||
|
@ -19365,7 +19574,7 @@ then
|
|||
do
|
||||
execute_command "$verb"
|
||||
done
|
||||
case "$WINETRICKS_CURMENU"-"$WINETRICKS_OPT_SHAREDPREFIX" in
|
||||
case "${WINETRICKS_CURMENU}-${WINETRICKS_OPT_SHAREDPREFIX}" in
|
||||
prefix-*|apps-0|benchmarks-0|games-0)
|
||||
# After installing isolated app, return to prefix picker
|
||||
WINETRICKS_CURMENU=prefix
|
||||
|
|
Loading…
Add table
Reference in a new issue