SHA256
1
0
forked from pool/wine

- updated winetricks

- lots of bugfixes and several additions
- added wisotool

OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=34
This commit is contained in:
Marcus Meissner 2010-04-25 16:43:42 +00:00 committed by Git OBS Bridge
parent a53f2ef84c
commit f69c4a7868
4 changed files with 2346 additions and 81 deletions

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sun Apr 25 18:39:16 CEST 2010 - meissner@suse.de
- updated winetricks
- lots of bugfixes and several additions
- added new wisotool
- for easier installation of some known ISOs setups
-------------------------------------------------------------------
Mon Apr 19 13:24:18 CEST 2010 - meissner@suse.de

View File

@ -28,10 +28,13 @@ Summary: An MS Windows Emulator
Url: http://www.winehq.com
Source0: wine-%version.tar.bz2
Source1: http://kegel.com/wine/winetricks
Source2: http://kegel.com/wine/wisotool
Source3: README.SuSE
Source4: wine.desktop
Recommends: wine-gecko wine-mp3
Requires: wine-32bit = %version
# for winetricks:
Requires: unzip cabextract
%ifarch x86_64
Requires: libX11.so.6()(64bit) libXext.so.6()(64bit) libXcursor.so.1()(64bit) libXi.so.6()(64bit) libXxf86vm.so.1()(64bit) libXrender.so.1()(64bit) libXrandr.so.2()(64bit) libXinerama.so.1()(64bit) libXcomposite.so.1()(64bit) libGL.so.1()(64bit) libGLU.so.1()(64bit) libxslt.so.1()(64bit) libncurses.so.6()(64bit) libfreetype.so.6()(64bit) libfontconfig.so.1()(64bit) libcups.so.2()(64bit)
%endif
@ -106,6 +109,7 @@ make install DESTDIR=$RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/usr/share/applications/
install -m 0644 %SOURCE4 $RPM_BUILD_ROOT/usr/share/applications/
install -m 0755 %SOURCE1 $RPM_BUILD_ROOT/usr/bin/
install -m 0755 %SOURCE2 $RPM_BUILD_ROOT/usr/bin/
mv $RPM_BUILD_ROOT/%{_mandir}/de.UTF-8 $RPM_BUILD_ROOT/%{_mandir}/de
mv $RPM_BUILD_ROOT/%{_mandir}/fr.UTF-8 $RPM_BUILD_ROOT/%{_mandir}/fr
%suse_update_desktop_file %{SOURCE4} Emulator
@ -157,6 +161,7 @@ rm -rf $RPM_BUILD_ROOT
/usr/bin/wineprefixcreate
/usr/bin/wineserver
/usr/bin/winetricks
/usr/bin/wisotool
/usr/bin/wmc
/usr/bin/wrc
/usr/share/wine

View File

@ -5,6 +5,7 @@
# Current maintainers: Austin English, Dan Kegel
# Copyright 2007, 2008, 2009, 2010 Google (Dan Kegel, dank@kegel.com)
# Copyright 2008, 2009, 2010 Austin English (austinenglish@gmail.com)
# License: LGPL (for compatibility with winehq)
# Thanks to Detlef Riekenberg for lots of updates
# Thanks to Saulius Krasuckas for corrections and suggestions
# Thanks to Erik Inge Bolsø for several patches
@ -19,7 +20,7 @@
#---- Constants -------------------------------------------------
# Name of this version of winetricks (YYYYMMDD)
VERSION=20100317
VERSION=20100424
early_wine()
{
@ -48,14 +49,28 @@ case "$OS" in
esac
# Internal variables; these locations are not too important
WINETRICKS_CACHE="$HOME/winetrickscache"
# Default to hiding the directory, by popular demand
test -d "$WINETRICKS_CACHE" || WINETRICKS_CACHE=$HOME/.winetrickscache
WINETRICKS_CACHE="${WINETRICKS_CACHE:-$HOME/.winetrickscache}"
WINETRICKS_CACHE_WIN="`$XXXPATH -w $WINETRICKS_CACHE | tr '\012' ' ' | sed 's/ $//'`"
WINETRICKS_TMP="$DRIVE_C"/winetrickstmp
WINETRICKS_TMP_WIN='c:\winetrickstmp'
mkdir -p $WINETRICKS_TMP
# Handle case where z: doesn't exist
if test "$WINETRICKS_CACHE_WIN" = ""
then
# WINETRICKS_CACHE isn't accessible via a drive letter mapping, so make one,
# but be sure to clean it up later.
for letter in y x w v u t s r q
do
if ! test -d "$WINEPREFIX"/dosdevices/${letter}:
then
WINETRICKS_CACHE_SYMLINK="$WINEPREFIX"/dosdevices/${letter}:
ln -sf "$WINETRICKS_CACHE" "$WINETRICKS_CACHE_SYMLINK"
break
fi
done
fi
# Overridden for windows
ISO_MOUNT_ROOT=/mnt/winetricks
@ -169,11 +184,14 @@ usage() {
echo " corefonts MS Arial, Courier, Times fonts"
echo " cygwin Unix apps for Windows (needed by some build scripts)"
echo " d3dx9 MS d3dx9_??.dll (from DirectX 9 user redistributable)"
echo " d3dx9_28 MS d3dx9_28.dll"
echo " d3dx9_36 MS d3dx9_36.dll"
echo " d3dx10 MS d3dx10_??.dll (from DirectX user redistributable)"
echo " d3dxof MS d3dxof.dll (from DirectX user redistributable)"
echo " dcom98 MS DCOM (ole32, oleaut32); requires Windows 98 license, but does not check for one"
echo " dinput8 MS dinput8.dll (from DirectX 9 user redistributable)"
echo " dirac0.8 the obsolete Dirac 0.8 directshow filter"
echo " directmusic MS DirectMusic (from DirectX 9 user redistributable)"
echo " directplay MS DirectPlay (from DirectX 9 user redistributable)"
echo " directx9 MS DirectX 9 user redistributable (not recommended! use d3dx9 instead)"
echo " directx9-beta MS DirectX 9 user redistributable - beta verb (not recommended! use d3dx9 instead)"
@ -215,6 +233,7 @@ usage() {
echo " mono20 mono-2.0.1"
echo " mono22 mono-2.2"
echo " mono24 mono-2.4"
echo " mono26 mono-2.6"
echo " mozillabuild Mozilla build environment"
echo " mpc Media Player Classic"
echo " mshflxgd MS Hierarchical Flex Grid Control"
@ -236,6 +255,7 @@ usage() {
echo " psdkwin7 MS Windows 7 SDK (installing just headers and c++ compiler works)"
echo " python26 Python 2.6.2 (and pywin32)"
echo " python-comtypes Python 0.6.1-1 comtypes package"
echo " quartz quartz.dll (from Directx 9 user redistributable)"
echo " quicktime72 Apple Quicktime 7.2"
echo " riched20 MS riched20 and riched32"
echo " riched30 MS riched30"
@ -277,6 +297,7 @@ usage() {
echo " allcodecs All listed codecs (xvid, ffdshow)"
echo " ddr=gdi Set DirectDrawRenderer to GDI (default)"
echo " ddr=opengl Set DirectDrawRenderer to OpenGL"
echo " dsoundbug9612 Use DirectSound MaxShadowSize=0 workaround for bug #9612"
echo " fakeie6 Set registry to claim IE6sp1 is installed"
echo " glsl-disable Disable GLSL use by Wine Direct3D"
echo " glsl-enable Enable GLSL use by Wine Direct3D (default)"
@ -295,15 +316,17 @@ usage() {
echo " rtlm=readtex Set RenderTargetLockMode to readtex"
echo " rtlm=texdraw Set RenderTargetLockMode to texdraw"
echo " rtlm=textex Set RenderTargetLockMode to textex"
echo " sandbox Sandbox the wineprefix - remove links to ~"
echo " sandbox Sandbox the wineprefix - remove links to ~"
echo " sound=alsa Set sound driver to ALSA"
echo " sound=audioio Set sound driver to AudioIO"
echo " sound=coreaudio Set sound driver to CoreAudio"
echo " sound=esound Set sound driver to Esound"
echo " sound=esd Set sound driver to Esound"
echo " sound=jack Set sound driver to Jack"
echo " sound=nas Set sound driver to Nas"
echo " sound=oss Set sound driver to OSS"
echo " sound=disabled Disable sound"
echo " strictdrawordering=enabled Enable StrictDrawOrdering (default)"
echo " strictdrawordering=disabled Disable StrictDrawOrdering"
echo " nt40 Set windows version to nt40"
echo " win98 Set windows version to Windows 98"
echo " win2k Set windows version to Windows 2000"
@ -312,8 +335,16 @@ usage() {
echo " win7 Set windows version to Windows 7"
echo " winver= Set windows version to default (winxp)"
echo " volnum Rename drive_c to harddiskvolume0 (needed by some installers)"
echo " mwo=force Set MouseWarpOverride to force (needded by some games"
echo " mwo=enabled Set MouseWarpOverride to enabled (default)"
echo " mwo=disabled Set MouseWarpOverride to disabled"
echo " npm-repack Set NonPower2Mode to repack"
echo " psm=on Set PixelShaderMode to enabled"
echo " psm=off Set PixelShaderMode to disabled"
echo " vsm-hard Set VertexShaderMode to hardware"
}
#----------------------------------------------------------------
# Trivial GUI just to handle case where user tries running without commandline
@ -362,15 +393,15 @@ showmenu()
case $MENU in
zenity)
echo "zenity --title 'Select a package to install' --text 'Install?' --list --checklist --column '' --column Package --column Description --height 440 --width 600 \\" > "$WINETRICKS_TMP"/zenity.sh
usage | grep '^ [a-z]' | sed 's/^ \([^ ]*\) *\(.*\)/FALSE "\1" '"'\2'/" | sed 's/$/ \\/' >> $WINETRICKS_TMP/zenity.sh
usage | grep '^ [0-9a-z]' | sed 's/^ \([^ ]*\) *\(.*\)/FALSE "\1" '"'\2'/" | sed 's/$/ \\/' >> $WINETRICKS_TMP/zenity.sh
todo="`sh "$WINETRICKS_TMP"/zenity.sh | tr '|' ' '`"
;;
kdialog)
packages=`usage | awk '/^ [a-z]/ {print $1}'`
packages=`usage | awk '/^ [0-9a-z]/ {print $1}'`
todo="`kdialog_showmenu "winetricks" "Select a package to install" "Install?" "Package" $packages`"
;;
xmessage)
packages=`usage | awk '/^ [a-z]/ {print $1}'`
packages=`usage | awk '/^ [0-9a-z]/ {print $1}'`
todo="`xmessage_showmenu "winetricks" "Select a package to install" "Install?" "Package" $packages`"
;;
esac
@ -435,6 +466,20 @@ cabextract() {
die oops, bug, please report
}
try_unzip() {
# Not always installed, but shouldn't be fatal unless it's being used
UNZIP="`which unzip 2>/dev/null`"
if test ! -x "$UNZIP"
then
die "Cannot find unzip. Please install it (e.g. 'sudo apt-get install unzip' or 'sudo yum install unzip')."
fi
try $UNZIP "$@"
}
unzip() {
die oops, bug, please report
}
# verify an sha1sum
verify_sha1sum() {
@ -469,17 +514,20 @@ download() {
# redhat.com decompresses liberation-fonts.tar.gz!
if [ -x "`which wget 2>/dev/null`" ]
then
# Use -nd to insulate ourselves from people who set -x in WGETRC
# [*] --retry-connrefused works around the broken sf.net mirroring
# system when downloading corefonts
# [*] --read-timeout is useful on the adobe server that doesn't
# close the connection unless you tell it to (control-C or closing
# the socket)
try wget -O "$file" -nd -c --read-timeout=300 --retry-connrefused --header "Accept-Encoding: gzip,deflate" "$2"
# Use -nd to insulate ourselves from people who set -x in WGETRC
# [*] --retry-connrefused works around the broken sf.net mirroring
# system when downloading corefonts
# [*] --read-timeout is useful on the adobe server that doesn't
# close the connection unless you tell it to (control-C or closing
# the socket)
try wget -O "$file" -nd -c --read-timeout=300 --retry-connrefused --header "Accept-Encoding: gzip,deflate" "$2"
elif [ -x "`which curl 2>/dev/null`" ]
then
# curl doesn't get filename from the location given by the server!
# fortunately, we know it
try curl -L -o "$file" -C - --header "Accept-Encoding: gzip,deflate" "$2"
else
# curl doesn't get filename from the location given by the server!
# fortunately, we know it
try curl -L -o "$file" -C - --header "Accept-Encoding: gzip,deflate" "$2"
die "wget/curl not found, cannot download any files. Please install either wget or curl."
fi
# Need to decompress .exe's that are compressed, else cygwin fails
# Only affects cygwin, so don't barf if 'file' not installed
@ -490,7 +538,7 @@ download() {
*gzip*) mv $file $file.gz; gunzip < $file.gz > $file;;
esac
esac
cd "$olddir"
fi
if [ "$3"x != ""x ]
@ -537,6 +585,7 @@ REGEDIT4
_EOF_
try_regedit "$WINETRICKS_TMP"/set-ddr.reg
}
set_orm() {
echo "Setting OffscreenRenderingMode to $1"
cat > "$WINETRICKS_TMP"/set-orm.reg <<_EOF_
@ -561,6 +610,32 @@ _EOF_
try_regedit "$WINETRICKS_TMP"/set-rtlm.reg
}
set_sdo() {
echo "Setting StrictDrawOrdering to $1"
cat > "$WINETRICKS_TMP"/set-sdo.reg <<_EOF_
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"StrictDrawOrdering"="$1"
_EOF_
try_regedit "$WINETRICKS_TMP"/set-sdo.reg
}
set_vsm() {
echo "Setting Vertex Shaders to $1"
cat > "$WINETRICKS_TMP"/set-vsm.reg <<_EOF_
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"VertexShaderMode"="$1"
_EOF_
try_regedit "$WINETRICKS_TMP"/set-vsm.reg
}
set_multisampling() {
echo "Setting Multisampling to $1"
cat > "$WINETRICKS_TMP"/set-multi.reg <<_EOF_
@ -573,6 +648,43 @@ _EOF_
try_regedit "$WINETRICKS_TMP"/set-multi.reg
}
set_mwo () {
echo "Setting MouseWarpOverride to $1"
cat > "$WINETRICKS_TMP"/set-mwo.reg <<_EOF_
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\DirectInput]
"MouseWarpOverride"="$1"
_EOF_
try_regedit "$WINETRICKS_TMP"/set-mwo.reg
}
npm_repack (){
echo "Setting Nonpower2Mode to repack"
cat > "$WINETRICKS_TMP"/set-npw.reg <<_EOF_
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"Nonpower2Mode"="repack"
_EOF_
try_regedit "$WINETRICKS_TMP"/set-npw.reg
}
set_psm() {
echo "Setting PixelShaderMode to $1"
cat > "$WINETRICKS_TMP"/set-psm.reg <<_EOF_
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"RenderTargetLockMode"="$1"
_EOF_
try_regedit "$WINETRICKS_TMP"/set-psm.reg
}
set_sound_driver() {
echo "Setting sound driver to $1"
cat > "$WINETRICKS_TMP"/set-sound.reg <<_EOF_
@ -585,6 +697,32 @@ _EOF_
try_regedit "$WINETRICKS_TMP_WIN"\\set-sound.reg
}
set_videomemorysize() {
echo "Setting video memory size to $1"
case $1 in
default)
cat > "$WINETRICKS_TMP"/set-video.reg <<_EOF_
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"VideoMemorySize"=-
_EOF_
;;
*)
cat > "$WINETRICKS_TMP"/set-video.reg <<_EOF_
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\Direct3D]
"VideoMemorySize"="$1"
_EOF_
esac
try_regedit "$WINETRICKS_TMP_WIN"\\set-video.reg
}
disable_crashdialog() {
echo "Disabling graphical crash dialog"
cat > "$WINETRICKS_TMP"/crashdialog.reg <<_EOF_
@ -598,18 +736,27 @@ _EOF_
}
sandbox() {
# remove symlinks
try rm "$WINEPREFIX/drive_c/users/$USER/Desktop"
try rm "$WINEPREFIX/drive_c/users/$USER/My Documents"
try rm "$WINEPREFIX/drive_c/users/$USER/My Music"
try rm "$WINEPREFIX/drive_c/users/$USER/My Pictures"
try rm "$WINEPREFIX/drive_c/users/$USER/My Videos"
# create replacement directories
try mkdir "$WINEPREFIX/drive_c/users/$USER/Desktop"
try mkdir "$WINEPREFIX/drive_c/users/$USER/My Documents"
try mkdir "$WINEPREFIX/drive_c/users/$USER/My Music"
try mkdir "$WINEPREFIX/drive_c/users/$USER/My Pictures"
try mkdir "$WINEPREFIX/drive_c/users/$USER/My Videos"
# Unmap drive Z
# Might want to unpack gecko first, since Wine won't be able to get to /usr/lib/wine after this
rm -f "$WINEPREFIX/dosdevices/z:"
# remove symlinks (won't do anything if they're already directories)
rm -f "$WINEPREFIX/drive_c/users/$USER/Desktop"
rm -f "$WINEPREFIX/drive_c/users/$USER/My Documents"
rm -f "$WINEPREFIX/drive_c/users/$USER/My Music"
rm -f "$WINEPREFIX/drive_c/users/$USER/My Pictures"
rm -f "$WINEPREFIX/drive_c/users/$USER/My Videos"
# create replacement directories if needed
mkdir -p "$WINEPREFIX/drive_c/users/$USER/Desktop"
mkdir -p "$WINEPREFIX/drive_c/users/$USER/My Documents"
mkdir -p "$WINEPREFIX/drive_c/users/$USER/My Music"
mkdir -p "$WINEPREFIX/drive_c/users/$USER/My Pictures"
mkdir -p "$WINEPREFIX/drive_c/users/$USER/My Videos"
# Disable unixfs
# Unfortunately, when you run with a different version of wine, wine will recreate this key.
# See http://bugs.winehq.org/show_bug.cgi?id=22450
$WINE regedit /d 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\Namespace\{9D20AAE8-0625-44B0-9CA7-71889C2254D9}'
}
unset_winver() {
@ -711,8 +858,7 @@ _EOF_
helper_directx_dl() {
# February 2010 DirectX 9c User Redistributable
# http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=0cef8180-e94a-4f56-b157-5ab8109cb4f5
download . http://download.microsoft.com/download/E/E/1/EE17FF74-6C45-4575-9CF4-7FC2597ACD18/directx_feb2010_redist.exe
a97c820915dc20929e84b49646ec275760012a42
download . http://download.microsoft.com/download/E/E/1/EE17FF74-6C45-4575-9CF4-7FC2597ACD18/directx_feb2010_redist.exe a97c820915dc20929e84b49646ec275760012a42
DIRECTX_NAME=directx_feb2010_redist.exe
}
@ -764,7 +910,9 @@ load_atmlib() {
load_autohotkey() {
download . http://www.autohotkey.net/programs/AutoHotkey104805_Install.exe 13e5a9ca6d5b7705f1cd02560c3af4d38b1904fc
try $WINE "$WINETRICKS_CACHE"/AutoHotkey104805_Install.exe $WINETRICKS_S
cd "$WINETRICKS_CACHE"
try $WINE AutoHotkey104805_Install.exe $WINETRICKS_S
cd -
}
#----------------------------------------------------------------
@ -774,7 +922,7 @@ load_cc580() {
download . http://download.microsoft.com/download/platformsdk/redist/5.80.2614.3600/w9xnt4/en-us/cc32inst.exe 94c3c494258cc54bd65d2f0153815737644bffde
try $WINE "$WINETRICKS_CACHE"/cc32inst.exe "/T:$winetricks_tmp_win" /c $WINETRICKS_QUIET
try unzip -o $WINETRICKS_UNIXQUIET -d "$WINDIR"/temp "$WINETRICKS_TMP"/comctl32.exe
try_unzip -o $WINETRICKS_UNIXQUIET -d "$WINDIR"/temp "$WINETRICKS_TMP"/comctl32.exe
try $WINE "$WINDIR"/temp/x86/50ComUpd.Exe "/T:$winetricks_tmp_win" /c $WINETRICKS_QUIET
try cp "$WINETRICKS_TMP"/comcnt.dll "$WINDIR"/system32/comctl32.dll
@ -810,7 +958,7 @@ load_comctl32ocx() {
load_colorprofile() {
download . http://download.microsoft.com/download/whistler/hwdev1/1.0/wxp/en-us/ColorProfile.exe 6b72836b32b343c82d0760dff5cb51c2f47170eb
try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ColorProfile.exe
try_unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ColorProfile.exe
mkdir -p "$WINDIR"/system32/spool/drivers/color
try cp -f "$WINETRICKS_TMP/sRGB Color Space Profile.icm" "$WINDIR"/system32/spool/drivers/color
}
@ -961,6 +1109,23 @@ load_d3dx9() {
#----------------------------------------------------------------
load_d3dx9_xx() {
dllname=d3dx9_$1
helper_directx_dl
# Even kinder, less invasive directx - only extract and override d3dx9_xx.dll
try_cabextract -d "$WINETRICKS_TMP" -L -F "*$dllname*x86*" "$WINETRICKS_CACHE"/$DIRECTX_NAME
for x in `ls "$WINETRICKS_TMP"/*.cab`
do
try_cabextract -d "$WINDIR"/system32 -L -F '*.dll' "$x"
done
override_dlls native $dllname
}
#----------------------------------------------------------------
load_d3dx10() {
helper_directx_dl
@ -1009,6 +1174,39 @@ load_dirac08() {
#----------------------------------------------------------------
load_directmusic() {
# Untested. Based off http://bugs.winehq.org/show_bug.cgi?id=4805
helper_directx_dl
try_cabextract -d "$WINETRICKS_TMP" -L -F dxnt.cab "$WINETRICKS_CACHE"/$DIRECTX_NAME
try_cabextract -d "$WINDIR"/system32 -L -F 'dmband.dll' "$WINETRICKS_TMP/dxnt.cab"
try_cabextract -d "$WINDIR"/system32 -L -F 'dmcompos.dll' "$WINETRICKS_TMP/dxnt.cab"
try_cabextract -d "$WINDIR"/system32 -L -F 'dmime.dll' "$WINETRICKS_TMP/dxnt.cab"
try_cabextract -d "$WINDIR"/system32 -L -F 'dmloader.dll' "$WINETRICKS_TMP/dxnt.cab"
try_cabextract -d "$WINDIR"/system32 -L -F 'dmscript.dll' "$WINETRICKS_TMP/dxnt.cab"
try_cabextract -d "$WINDIR"/system32 -L -F 'dmstyle.dll' "$WINETRICKS_TMP/dxnt.cab"
try_cabextract -d "$WINDIR"/system32 -L -F 'dmsynth.dll' "$WINETRICKS_TMP/dxnt.cab"
try_cabextract -d "$WINDIR"/system32 -L -F 'dmusic.dll' "$WINETRICKS_TMP/dxnt.cab"
try_cabextract -d "$WINDIR"/system32 -L -F 'dmusic32.dll' "$WINETRICKS_TMP/dxnt.cab"
try_cabextract -d "$WINDIR"/system32 -L -F 'dswave.dll' "$WINETRICKS_TMP/dxnt.cab"
try_cabextract -d "$WINDIR"/system32 -L -F 'streamci.dll' "$WINETRICKS_TMP/dxnt.cab"
try $WINE regsvr32 dmband
try $WINE regsvr32 dmcompos
try $WINE regsvr32 dmime
try $WINE regsvr32 dmloader
try $WINE regsvr32 dmscript
try $WINE regsvr32 dmstyle
try $WINE regsvr32 dmsynth
try $WINE regsvr32 dmusic
try $WINE regsvr32 dswave
override_dlls native dmband dmcompos dmime dmloader dmscript dmstyle dmsynth dmusic dmusic32 dswave streamci
}
#----------------------------------------------------------------
load_directplay() {
helper_directx_dl
@ -1311,6 +1509,20 @@ load_droid() {
#----------------------------------------------------------------
load_dsoundbug9612() {
echo "Enabling DirectSound workaround for bug #9612"
cat > "$WINETRICKS_TMP"/dsoundmaxshadow.reg <<_EOF_
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\DirectSound]
"MaxShadowSize"="0"
_EOF_
try $WINE regedit "$WINETRICKS_TMP"/dsoundmaxshadow.reg
}
#----------------------------------------------------------------
# Fake IE per workaround in http://bugs.winehq.org/show_bug.cgi?id=3453
# Just the first registry key works for most apps.
# The App Paths part is required by a few apps, like Quickbooks Pro;
@ -1352,12 +1564,12 @@ _EOF_
#----------------------------------------------------------------
load_firefox() {
download . "http://releases.mozilla.org//pub/mozilla.org/firefox/releases/3.5.6/win32/en-US/Firefox%20Setup%203.5.6.exe" d27779d9dca25d032ceaafd3da9df1651121f8bd "Firefox Setup 3.5.6.exe"
download . "http://releases.mozilla.org//pub/mozilla.org/firefox/releases/3.6.3/win32/en-US/Firefox%20Setup%203.6.3.exe" d9b028293fe56ff32f2c596fe9f2841100e701b6 "Firefox Setup 3.6.3.exe"
if [ "$WINETRICKS_QUIET"x = ""x ]
then
try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.5.6.exe"
try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.6.3.exe"
else
try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.5.6.exe" -ms
try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.6.3.exe" -ms
fi
}
@ -1513,17 +1725,10 @@ REGEDIT4
_EOF_
try_regedit "$WINETRICKS_TMP_WIN"\\fs_rgb.reg
}
#----------------------------------------------------------------
load_gecko() {
# If this is just a dependency check, don't re-install
WINEDIR=`dirname $WINE`
if test $PACKAGE != ie6 && ( test -d "$WINDIR/gecko" || test -d "$WINDIR/system32/gecko" || test -d $WINEDIR/../gecko)
then
echo "prerequisite gecko already installed, skipping"
return
fi
# Load the HTML rendering Engine (Gecko)
# FIXME: shouldn't this code be in some script installed
# as part of Wine instead of in winetricks?
@ -1554,11 +1759,32 @@ load_gecko() {
;;
esac
if test ! -f "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab
# If this is just a dependency check, don't re-install
if test $PACKAGE != ie6 && test -f "$GECKO_DIR/gecko/$GECKO_VERSION/wine_gecko/nspr4.dll"
then
# FIXME: busted if using curl!
download . "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab" \
echo "prerequisite gecko already installed, skipping"
return
fi
WINEDIR="`dirname $WINE`"
GECKOCAB="wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab"
for candidate in "$WINEDIR/../share/wine/gecko/$GECKOCAB" "$WINEDIR/../gecko/$GECKOCAB"
do
gotsum=`$SHA1SUM 2>/dev/null < "$candidate" | sed 's/ .*//'`
if [ "$gotsum"x = "$GECKO_SHA1SUM"x ]
then
GECKOPATH="$candidate"
break
fi
done
if test -z "$GECKOPATH"
then
# FIXME: busted if using curl!
download . "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab" \
$GECKO_SHA1SUM wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab
GECKOPATH="$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab
fi
cat > "$WINETRICKS_TMP"/geckopath.reg <<_EOF_
@ -1582,7 +1808,7 @@ _EOF_
# extract the files
mkdir -p "$GECKO_DIR/gecko/$GECKO_VERSION"
cd "$GECKO_DIR/gecko/$GECKO_VERSION"
try_cabextract $WINETRICKS_UNIXQUIET "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab
try_cabextract $WINETRICKS_UNIXQUIET "$GECKOPATH"
cd "$olddir"
# set install-path
@ -1730,6 +1956,12 @@ _EOF_
#----------------------------------------------------------------
load_ie6() {
if test "$WINE" = ""
then
echo "No need to install ie6 on real windows"
return 0
fi
# If this is just a dependency check, don't re-install
if test $PACKAGE != ie6 && test -f "$WINDIR"/system32/plugin.ocx
then
@ -1969,7 +2201,7 @@ load_mdac28() {
load_mfc40() {
# See http://support.microsoft.com/kb/122244
download . http://download.microsoft.com/download/ole/ole2v/3.5/w351/en-us/ole2v.exe c6cac71f32405ccb09c6f375e0738e6e13f073e4
try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ole2v.exe
try_unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ole2v.exe
try cp -f "$WINETRICKS_TMP"/MFC40.DLL "$WINDIR"/system32/
rm -rf "$WINETRICKS_TMP"/*
@ -2092,6 +2324,28 @@ _EOF_
#----------------------------------------------------------------
load_mono26() {
# Load Mono, have it handle all .net requests
download . http://ftp.novell.com/pub/mono/archive/2.6.3/windows-installer/4/mono-2.6.3-gtksharp-2.12.10-win32-4.exe ed1e20181e3a0c0ca666d08604797495309ff587
try $WINE "$WINETRICKS_CACHE"/mono-2.6.3-gtksharp-2.12.10-win32-4.exe $WINETRICKS_SILENT
# FIXME: what should this be for mono 2.6?
cat > "$WINETRICKS_TMP"/mono_2.0.reg <<_EOF_
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727]
"Install"=dword:00000001
"SP"=dword:00000001
[HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\policy\v2.0]
"4322"="3706-4322"
_EOF_
try_regedit "$WINETRICKS_TMP_WIN"\\mono_2.0.reg
rm -f "$WINETRICKS_TMP"/mono_2.0.reg
}
#----------------------------------------------------------------
load_mozillabuild() {
download . http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.4.exe
try $WINE "$WINETRICKS_CACHE"/MozillaBuildSetup-1.4.exe $WINETRICKS_S
@ -2103,7 +2357,7 @@ load_mpc() {
download . $SOURCEFORGE/mpc-hc/MPC%20HomeCinema%20-%20Win32/MPC-HC%20v1.3.1249.0_32%20bits/MPC-Homecinema.1.3.1249.0.%28x86%29.zip 6c46846b5298f35ccc81925aa5304546b9a7e513
mkdir -p "$programfilesdir_unix/Media Player Classic"
cd "$programfilesdir_unix/Media Player Classic"
try unzip "$WINETRICKS_CACHE/MPC-Homecinema.1.3.1249.0.%28x86%29.zip"
try_unzip "$WINETRICKS_CACHE/MPC-Homecinema.1.3.1249.0.%28x86%29.zip"
append_path "$programfilesdir_win"'\\Media Player Classic'
@ -2173,7 +2427,7 @@ load_msmask() {
load_mspaint() {
# http://helpforlinux.blogspot.com/2008/12/run-ms-paint-in-linux.html
download . http://download.microsoft.com/download/winntwks40/paint/1/nt4/en-us/paintnt.exe a22c4e367ef9d2cd23f0a8ae8d9ebff5bc1e8a0b
try unzip "$WINETRICKS_CACHE"/paintnt.exe -d "$WINDIR"
try_unzip "$WINETRICKS_CACHE"/paintnt.exe -d "$WINDIR"
warn "Paint is now installed to $WINDIR/MSPAINT.EXE"
}
@ -2261,7 +2515,7 @@ load_ogg() {
load_ole2() {
# http://support.microsoft.com/kb/123087/EN-US/
download . http://download.microsoft.com/download/win31/update/2.03/win/en-us/ww1116.exe b803991c40f387464b61f606536b7c98a88245d2
try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ww1116.exe
try_unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/ww1116.exe
set_winver win31
cd "$WINETRICKS_TMP"
try $WINE setup.exe
@ -2284,9 +2538,9 @@ load_openwatcom() {
# Pick smallest installation that supports 16 bit C and C++
cd "$WINETRICKS_TMP"
cp "$WINETRICKS_CACHE"/open-watcom-c-win32-1.8.exe .
unzip open-watcom-c-win32-1.8.exe setup.inf
try_unzip open-watcom-c-win32-1.8.exe setup.inf
sed -i 's/tools16=.*/tools16=true/' setup.inf
zip -f open-watcom-c-win32-1.8.exe
try zip -f open-watcom-c-win32-1.8.exe
try $WINE open-watcom-c-win32-1.8.exe -s
cd "$olddir"
else
@ -2304,7 +2558,7 @@ load_pdh() {
# http://support.microsoft.com/kb/284996
download . http://download.microsoft.com/download/platformsdk/Redist/5.0.2195.2668/NT4/EN-US/pdhinst.exe f42448660def8cd7f42b34aa7bc7264745f4425e
try_cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/pdhinst.exe
try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_TMP"/pdh.exe
try_unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_TMP"/pdh.exe
try cp -f "$WINETRICKS_TMP"/x86/Pdh.Dll "$WINDIR"/system32/pdh.dll
}
@ -2313,8 +2567,10 @@ load_pdh() {
load_physx()
{
# http://www.nvidia.com/object/physx_9.09.0814.html
download . http://us.download.nvidia.com/Windows/9.09.0814/PhysX_9.09.0814_SystemSoftware.exe e19f7c3385a4a68e7acb85301bb4d2d0d1eaa1e2
try $WINE "$WINETRICKS_CACHE"/PhysX_9.09.0814_SystemSoftware.exe $WINETRICKS_QUIET
# download . http://us.download.nvidia.com/Windows/9.09.0814/PhysX_9.09.0814_SystemSoftware.exe e19f7c3385a4a68e7acb85301bb4d2d0d1eaa1e2
# http://www.nvidia.com/object/physx_9.10.0129.html
download . http://us.download.nvidia.com/Windows/9.10.0129/PhysX_9.10.0129_SystemSoftware.exe 33a8b54d842c7246946de15b1a48209c386c9c4b
try $WINE "$WINETRICKS_CACHE"/PhysX_9.10.0129_SystemSoftware.exe $WINETRICKS_QUIET
}
#----------------------------------------------------------------
@ -2413,7 +2669,7 @@ load_python_comtypes() {
download . $SOURCEFORGE/project/comtypes/comtypes/0.6.1/comtypes-0.6.1-1.zip 814318cdae0ab2471a9cd500847bf12f4df9a57c
cd "$WINETRICKS_CACHE"
try unzip comtypes-0.6.1-1.zip
try_unzip comtypes-0.6.1-1.zip
cd comtypes-0.6.1
try $WINE "C:\Python26\python.exe" setup.py install
cd "$olddir"
@ -2421,6 +2677,20 @@ load_python_comtypes() {
#----------------------------------------------------------------
load_quartz() {
helper_directx_dl
try_cabextract -d "$WINETRICKS_TMP" -L -F dxnt.cab "$WINETRICKS_CACHE"/$DIRECTX_NAME
try_cabextract -d "$WINDIR"/system32 -L -F 'quartz.dll' "$WINETRICKS_TMP/dxnt.cab"
try $WINE regsvr32 quartz.dll
override_dlls native quartz
}
#----------------------------------------------------------------
load_quicktime72() {
echo "Quicktime needs gdiplus..."
load_gdiplus
@ -2584,7 +2854,7 @@ load_vb2run() {
# Not referenced on MS web anymore. But the old Microsoft Software Library FTP still has it.
# See ftp://ftp.microsoft.com/Softlib/index.txt
download . ftp://ftp.microsoft.com/Softlib/MSLFILES/VBRUN200.EXE ac0568b73ee375408778e9b505df995f79ab907e
try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/VBRUN200.EXE
try_unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/VBRUN200.EXE
try cp -f "$WINETRICKS_TMP/VBRUN200.DLL" "$WINDIR"/system32/
}
@ -2594,7 +2864,7 @@ load_vb2run() {
load_vb3run() {
# See http://support.microsoft.com/kb/196285
download . http://download.microsoft.com/download/vb30/utility/1/w9xnt4/en-us/vb3run.exe 518fcfefde9bf680695cadd06512efadc5ac2aa7
try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/vb3run.exe
try_unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/vb3run.exe
try cp -f "$WINETRICKS_TMP/Vbrun300.dll" "$WINDIR"/system32/
}
@ -2604,7 +2874,7 @@ load_vb3run() {
load_vb4run() {
# See http://support.microsoft.com/kb/196286
download . http://download.microsoft.com/download/vb40ent/sample27/1/w9xnt4/en-us/vb4run.exe 83e968063272e97bfffd628a73bf0ff5f8e1023b
try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/vb4run.exe
try_unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/vb4run.exe
try cp -f "$WINETRICKS_TMP/Vb40032.dll" "$WINDIR"/system32/
try cp -f "$WINETRICKS_TMP/Vb40016.dll" "$WINDIR"/system32/
@ -2758,6 +3028,7 @@ load_vcrun2005() {
download vcrun2005-ms09-035 http://download.microsoft.com/download/6/B/B/6BB661D6-A8AE-4819-B79F-236472F6070C/vcredist_x86.exe e052789ebad7dc8d6f8505a9295b0576babd125e
cd "$WINETRICKS_CACHE"
cd vcrun2005-ms09-035
override_dlls native,builtin msvcr80
try $WINE vcredist_x86.exe $WINETRICKS_QUIET
cd "$olddir"
}
@ -2787,6 +3058,7 @@ load_vcrun2008() {
return
fi
download vcrun2008-ms09-035 http://download.microsoft.com/download/9/7/7/977B481A-7BA6-4E30-AC40-ED51EB2028F2/vcredist_x86.exe bd18409cfe75b88c2a9432d36d96f4bf125a3237
override_dlls native,builtin msvcr90
try $WINE "$WINETRICKS_CACHE"/vcrun2008-ms09-035/vcredist_x86.exe $WINETRICKS_QUIET
}
@ -3091,7 +3363,7 @@ load_one_hotfix()
done
if test ! -f $hotfix
then
unzip -o $downloadfile
try_unzip -o $downloadfile
fi
try $WINE $hotfix
cd "$olddir"
@ -3314,7 +3586,7 @@ load_wenquanyi() {
#----------------------------------------------------------------
load_wsh56() {
load_wsh57() {
# If this is just a dependency check, don't re-install
if test $PACKAGE != wsh56 && test -f "$WINDIR"/system32/wscript.exe
then
@ -3322,12 +3594,21 @@ load_wsh56() {
return
fi
load_vcrun6
# See also http://www.microsoft.com/downloads/details.aspx?FamilyID=47809025-D896-482E-A0D6-524E7E844D81&displaylang=en
download . http://download.microsoft.com/download/4/4/d/44de8a9e-630d-4c10-9f17-b9b34d3f6417/scripten.exe b15c6a834b7029e2dfed22127cf905b06857e6f5
# See also http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=C717D943-7E4B-4622-86EB-95A22B832CAA
download . http://download.microsoft.com/download/2/8/a/28a5a346-1be1-4049-b554-3bc5f3174353/WindowsXP-Windows2000-Script56-KB917344-x86-enu.exe f4692766caa3ee9b38d4166845486c6199a33457
try_cabextract -d "$WINDIR"/system32 "$WINETRICKS_CACHE"/scripten.exe
# Wine doesn't provide the other dll's (yet?)
override_dlls native,builtin jscript.dll
}
#----------------------------------------------------------------
load_wsh56() {
load_wsh57
try $WINE "$WINETRICKS_CACHE"/WindowsXP-Windows2000-Script56-KB917344-x86-enu.exe $WINETRICKS_QUIET
}
#----------------------------------------------------------------
@ -3478,11 +3759,6 @@ else
die "No sha1sum utility available."
fi
if [ ! -x "`which unzip 2>/dev/null`" ]
then
die "Cannot find unzip. Please install it (e.g. 'sudo apt-get install unzip' or 'sudo yum install unzip')."
fi
while test "$1" != ""
do
PACKAGE=$1
@ -3510,14 +3786,17 @@ do
corefonts) load_corefonts;;
cygwin) load_cygwin;;
d3dx9) load_d3dx9;;
d3dx9_28) load_d3dx9_xx 28;;
d3dx9_36) load_d3dx9_xx 36;;
d3dx10) load_d3dx10;;
d3dxof) load_d3dxof;;
dcom98) load_dcom98;;
dinput8) load_dinput8;;
dirac|dirac0.8) load_dirac08;;
directmusic) load_directmusic;;
directplay|dxplay|dplay) load_directplay;;
directx9) DIRECTX_WINDOWS=win2k ; load_directx9;;
directx9-beta) DIRECTX_WINDOWS=winxp ; load_directx9;;
directx9-beta) DIRECTX_WINDOWS=winxp ; load_directx9 ; load_directmusic ; load_directplay ;;
divx) load_divx;;
dotnet1|dotnet11) load_dotnet11; load_fontfix;;
dotnet11sdk) load_dotnet11sdk;;
@ -3555,6 +3834,7 @@ do
mono19|mono20) load_mono20;;
mono22) load_mono22;;
mono24) load_mono24;;
mono26) load_mono26;;
mozillabuild) load_mozillabuild;;
mpc) load_mpc;;
msi2) load_msi2;;
@ -3576,6 +3856,7 @@ do
psdkwin7) load_psdkwin7;;
python|python26) load_python26;;
python-comtypes|pythoncom|python-com|pythoncomtypes) load_python_comtypes;;
quartz) load_quartz;;
quicktime72) load_quicktime72;;
riched20) load_riched20;;
riched30) load_riched30;;
@ -3612,7 +3893,7 @@ do
wme9) load_wme9;;
wmp9) load_wmp9;;
wmp10) load_wmp10;;
wsh56) load_wsh56;;
wsh56|wsh57) load_wsh57;;
wsh56js) load_wsh56js;;
wsh56vb) load_wsh56vb;;
xact|xactengine|x3daudio) load_xact;;
@ -3622,6 +3903,7 @@ do
allfonts) load_corefonts; load_tahoma; load_liberation; load_droid; load_wenquanyi;;
ddr=gdi) set_ddr gdi;;
ddr=opengl) set_ddr opengl;;
dsoundbug9612) load_dsoundbug9612;;
fakeie6) set_fakeie6;;
heapcheck) set_heapcheck;;
multisampling=enabled|multisampling=on) set_multisampling enabled;;
@ -3642,13 +3924,25 @@ do
sound=alsa|alsa) set_sound_driver alsa;;
sound=audioio|audioio) set_sound_driver audioio;;
sound=coreaudio|coreaudio) set_sound_driver coreaudio;;
sound=esound|esound) set_sound_driver esound;;
sound=esound|sound=esd|esd|esound) set_sound_driver esd;;
sound=jack|jack) set_sound_driver jack;;
sound=nas|nas) set_sound_driver nas;;
sound=oss|oss) set_sound_driver oss;;
sound=disabled|sound=) set_sound_driver "";;
strictdrawordering=enabled) set_sdo enabled;;
strictdrawordering=disabled) set_sdo disabled;;
version) print_version;;
videomemorysize=512) set_videomemorysize 512;;
videomemorysize=1024) set_videomemorysize 1024;;
videomemorysize=default) set_videomemorysize default;;
volnum) volnum;;
mwo=force)set_mwo force;;
mwo=disabled) set_mwo disabled;;
mwo=enabled) set_mwo enabled;;
npm-repack) npm_repack;;
psm=on) set_psm enabled;;
psm=off) set_psm disabled;;
vsm-hard) set_vsm hardware;;
winver=nt40|nt40) set_winver nt40;;
winver=win98|win98) set_winver win98;;
winver=win2k|win2k) set_winver win2k;;
@ -3669,7 +3963,8 @@ do
rm -rf "$WINETRICKS_TMP"/*
done
# remove the temp directory
rm -rf "$WINETRICKS_TMP"
# remove the temp directory
rm -rf "$WINETRICKS_TMP"
test "$WINETRICKS_CACHE_SYMLINK" && rm -f "$WINETRICKS_CACHE_SYMLINK"
test "$WINETRICKS_QUIET" = "" && echo winetricks done. || true

1957
wisotool Normal file

File diff suppressed because it is too large Load Diff