diff --git a/wine-1.1.27.tar.bz2 b/wine-1.1.27.tar.bz2 deleted file mode 100644 index 478e7cc..0000000 --- a/wine-1.1.27.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6d6d1568fa4bc7ad6d15b2b1fa8b262d7adb2c0211c0f0a6e5d30a92505762cc -size 15672876 diff --git a/wine-1.1.28.tar.bz2 b/wine-1.1.28.tar.bz2 new file mode 100644 index 0000000..36389a0 --- /dev/null +++ b/wine-1.1.28.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9eb5682512c7640668aaba7665b6865930a2c9953f0165cb8e1eba4dbed9cd32 +size 15691625 diff --git a/wine.changes b/wine.changes index aa7ec06..550834d 100644 --- a/wine.changes +++ b/wine.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Fri Aug 21 19:11:09 CEST 2009 - meissner@suse.de + +- Updated to 1.1.28 + - Support for IRDA protocol. + - Faster initial wineprefix creation. + - Axis remapping with evdev joysticks. + - More image formats in WindowsCodecs. + - Various bug fixes. +- updated winetricks + ------------------------------------------------------------------- Fri Aug 7 22:42:10 CEST 2009 - meissner@suse.de diff --git a/wine.spec b/wine.spec index 5fffaec..0c67ff0 100644 --- a/wine.spec +++ b/wine.spec @@ -1,5 +1,5 @@ # -# spec file for package wine (Version 1.1.27) +# spec file for package wine (Version 1.1.28) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -22,7 +22,7 @@ BuildRequires: alsa-devel bison capi4linux-devel cups-devel desktop-file-utils License: LGPL v2.1 or later Group: System/Emulators/PC AutoReqProv: on -Version: 1.1.27 +Version: 1.1.28 Release: 1 Summary: An MS Windows Emulator Url: http://www.winehq.com @@ -107,6 +107,8 @@ rm -rf $RPM_BUILD_ROOT %dir /usr/lib/wine /usr/lib/wine/*.so /usr/lib/wine/*.*16 +%dir /usr/lib/wine/fakedlls +/usr/lib/wine/fakedlls/* /usr/share/applications/wine.desktop %doc %{_mandir}/*/* @@ -115,6 +117,6 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/wine /usr/lib/wine/*.def /usr/lib/wine/*.a -/usr/share/aclocal/wine.m4 +#/usr/share/aclocal/wine.m4 %changelog diff --git a/winetricks b/winetricks index fc6bd2a..3ac9cb5 100644 --- a/winetricks +++ b/winetricks @@ -1,5 +1,5 @@ #!/bin/sh -# Quick and dirty script to download and install various +# Quick and dirty script to download and install various # redistributable runtime libraries # # Current maintainers: Austin English, Dan Kegel @@ -8,6 +8,7 @@ # Thanks to Detlef Riekenberg for lots of updates # Thanks to Saulius Krasuckas for corrections and suggestions # Thanks to Erik Inge Bolsø for several patches +# Thanks to Hugh Perkins for the directplay patch # Please report problems at http://code.google.com/p/winezeug/issues # See also http://wiki.winehq.org/winetricks # @@ -15,16 +16,10 @@ # as it has to run on MacOSX and Solaris, too. A good book on the topic is # "Portable Shell Programming" by Bruce Blinn -# Prevent running with sudo/root. This would create a .winetrickscache as root -# in the user's home directory! -if ! test -O $HOME - then - echo "Don't run winetricks with sudo!" - exit 1 -fi +#---- Constants ------------------------------------------------- # Name of this version of winetricks (YYYYMMDD) -VERSION=20090607 +VERSION=20090815 # Default values for important settings if not already in environment. # These settings should not need editing here. @@ -36,12 +31,11 @@ WINETRICKS_CACHE=$HOME/winetrickscache # Default to hiding the directory, by popular demand test -d "$WINETRICKS_CACHE" || WINETRICKS_CACHE=$HOME/.winetrickscache WINETRICKS_TMP="$WINEPREFIX"/drive_c/winetrickstmp -mkdir -p "$WINETRICKS_TMP" WINETRICKS_TMP_WIN='c:\winetrickstmp' WINDIR="$WINEPREFIX/drive_c/windows" -# Which sourceforge mirror to use. Rotate based on time, since +# Which sourceforge mirror to use. Rotate based on time, since # their mirror picker sometimes persistantly sends you to a broken # mirror. case `date +%S` in @@ -50,28 +44,57 @@ case `date +%S` in *) SOURCEFORGE=http://downloads.sourceforge.net;; esac -case "$1" in --V|--version) - echo "Winetricks version $VERSION. (C) 2007-2009 Dan Kegel et al. LGPL." - exit 0 - ;; -esac +#---- Functions ------------------------------------------------- -die() { - echo "$@" - - case x"$GUI" in - x1) xmessage -center " Winetricks error: $@ " ;; - *) ;; - esac - - exit 1 +# Check for known desktop environments +# Set variable DE to the desktop environment's name, lowercase +detectDE() { + if [ x"$KDE_FULL_SESSION" = x"true" ] + then + DE=kde + elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ] + then + DE=gnome + elif [ x"$DISPLAY" != x"" ] + then + DE=x + else + DE=none + fi } -if [ ! -x "`which "$WINE"`" ] -then - die "Cannot find wine ($WINE)" -fi +warn() { + # Show errors both as GUI dialog and on stdout, for emphasis + echo "$@" + case $DE in + gnome) zenity --error --title=Winetricks --text="$@" --no-wrap ;; + kde) kdialog --title Winetricks --error "$@" ;; + x) xmessage -title Winetricks -center " Error: $@ " ;; + esac +} + +die() { + warn "$@" + + exit 1 +} + +# Abort if user doesn't own the given directory (or its parent, if it doesn't exist yet) +die_if_user_not_dirowner() { + if test -d "$1" + then + checkdir="$1" + else + # fixme: quoting problem? + checkdir=`dirname "$1"` + fi + nuser=`id -u` + nowner=`ls -l -n -d "$checkdir" | awk '{print $3}'` + if test x$nuser != x$nowner + then + die "You (`id -un`) don't own $checkdir. Don't run winetricks as another user!" + fi +} #---------------------------------------------------------------- @@ -87,7 +110,7 @@ usage() { echo " -q quiet. You must have already agreed to the EULAs." echo " -v verbose" echo " -V display Version" - echo "Packages:" + echo "Packages:" echo " art2kmin MS Access 2000 runtime. Requires Access 2000 Dev license!" echo " colorprofile Standard RGB color profile" echo " comctl32 MS common controls 5.80" @@ -96,11 +119,15 @@ usage() { echo " corefonts MS Arial, Courier, Times fonts" echo " d3dx9 MS d3dx9_??.dll (from DirectX 9 user redistributable)" echo " dcom98 MS DCOM (ole32, oleaut32); requires Win98 license!" + echo " dinput8 MS dinput8.dll (from DirectX 9 user redistributable)" echo " dirac0.8 the obsolete Dirac 0.8 directshow filter" + echo " directplay MS DirectPlay (from DirectX 9 user redistributable)" echo " directx9 MS DirectX 9 user redistributable (not recommended! use d3dx9 instead)" echo " divx divx video codec" echo " dotnet11 MS .NET 1.1 (requires Windows license)" echo " dotnet20 MS .NET 2.0 (requires Windows license)" + echo " dotnet30 MS .NET 3.0 (requires Windows license)" + echo " droid Droid fonts (on LCD, looks better with fontsmooth-rgb)" echo " ffdshow ffdshow video codecs" echo " flash Adobe Flash Player ActiveX and firefox plugins" echo " fm20 MS Forms 2.0 Object Library" @@ -130,13 +157,15 @@ usage() { echo " msscript MS Script Control" echo " msxml3 MS XML version 3" echo " msxml4 MS XML version 4" - echo " msxml6 MS XML version 6" + echo " msxml6 MS XML version 6" echo " ogg ogg filters/codecs: flac, theora, speex, vorbis, schroedinger" echo " ole2 MS 16 bit OLE" + echo " openwatcom Open Watcom C/C++ compiler (can compile win16 code!)" echo " pdh MS pdh.dll (Performance Data Helper)" echo " quicktime72 Apple Quicktime 7.2" echo " riched20 MS riched20 and riched32" echo " riched30 MS riched30" + echo " shockwave Adobe Shockwave Player" echo " tahoma MS Tahoma font (not part of corefonts)" echo " urlmon MS urlmon.dll" echo " vb2run MS Visual Basic 2 runtime" @@ -155,6 +184,7 @@ usage() { echo " wme9 MS Windows Media Encoder 9 (requires Windows license)" echo " wmp9 MS Windows Media Player 9 (requires Windows license)" echo " wmp10 MS Windows Media Player 10 (requires Windows license)" + echo " wenquanyi WenQuanYi CJK font (on LCD looks better with fontsmooth-rgb)" echo " wsh56 MS Windows Scripting Host 5.6" echo " wsh56js MS Windows scripting 5.6, jscript only, no cscript" echo " wsh56vb MS Windows scripting 5.6, vbscript only, no cscript" @@ -162,7 +192,7 @@ usage() { echo " xvid xvid video codec" echo "Apps:" echo " autohotkey Autohotkey (open source gui scripting language)" - echo " firefox3 Firefox Version 3" + echo " firefox Firefox" echo " ie6 Microsoft Internet Explorer 6.0" echo " kde KDE for Windows installer" echo " mpc Media Player Classic" @@ -185,24 +215,6 @@ usage() { #---------------------------------------------------------------- # Trivial GUI just to handle case where user tries running without commandline -# Checks for known desktop environments -# set variable DE to the desktop environments name, lowercase - -detectDE() { - if [ x"$KDE_FULL_SESSION" = x"true" ] - then - DE=kde - elif [ x"$GNOME_DESKTOP_SESSION_ID" != x"" ] - then - DE=gnome - elif [ x"$DISPLAY" != x"" ] - then - DE=x - else - DE=none - fi -} - kde_showmenu() { title="$1" shift @@ -245,76 +257,31 @@ x_showmenu() { showmenu() { - detectDE case $DE in kde) kde_showmenu "$@" ;; gnome|x) x_showmenu "$@" ;; none) usage 1>&2; exit 1;; esac } - + dogui() { - detectDE - if [ $DE = gnome ] - then - 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 - todo="`sh "$WINETRICKS_TMP"/zenity.sh | tr '|' ' '`" - else - packages=`usage | awk '/^ [a-z]/ {print $1}'` - todo="`showmenu "winetricks" "Select a package to install" "Install?" "Package" $packages`" - fi + if [ $DE = gnome ] + then + 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 + todo="`sh "$WINETRICKS_TMP"/zenity.sh | tr '|' ' '`" + else + packages=`usage | awk '/^ [a-z]/ {print $1}'` + todo="`showmenu "winetricks" "Select a package to install" "Install?" "Package" $packages`" + fi - if test "$todo"x = x - then - exit 0 - fi + if test "$todo"x = x + then + exit 0 + fi } -#---------------------------------------------------------------- - -GUI=0 -case x"$1" in -x) GUI=1; dogui ; set $todo ;; -x-h|x--help|xhelp) usage ; exit 1 ;; -esac -test -d "$WINEPREFIX" || $WINE cmd /c echo yes > /dev/null 2>&1 -mkdir -p "$WINETRICKS_CACHE" -olddir=`pwd` -# Clean up after failed runs, if needed -rm -rf "$WINETRICKS_TMP"/* - -# The folder-name is localized! -programfilesdir_win="`unset WINEDEBUG; $WINE cmd.exe /c echo "%ProgramFiles%"`" -test x"$programfilesdir_win" != x || die "$WINE cmd.exe /c echo '%ProgramFiles%' returned empty string" -programfilesdir_unix="`unset WINEDEBUG; $WINE winepath -u "$programfilesdir_win"`" -test x"$programfilesdir_unix" != x || die "winepath -u $programfilesdir_win returned empty string" - -# (Fixme: get fonts path from SHGetFolderPath -# See also http://blogs.msdn.com/oldnewthing/archive/2003/11/03/55532.aspx) -# -# Did the user rename Fonts to fonts? -if test ! -d "$WINDIR"/Fonts && test -d "$WINDIR"/fonts -then - winefontsdir="$WINDIR"/fonts -else - winefontsdir="$WINDIR"/Fonts -fi - -# Mac folks tend to not have sha1sum, but we can make do with openssl -if [ -x "`which sha1sum`" ] -then - SHA1SUM="sha1sum" -else - SHA1SUM="openssl dgst -sha1" -fi - -if [ ! -x "`which "cabextract"`" ] -then - echo "Cannot find cabextract. Please install it (e.g. 'sudo apt-get install cabextract' or 'sudo yum install cabextract')." -fi - #----- Helpers ------------------------------------------------ # Execute with error checking @@ -336,7 +303,7 @@ try() { verify_sha1sum() { wantsum=$1 file=$2 - + gotsum=`$SHA1SUM < $file | sed 's/ .*//'` if [ "$gotsum"x != "$wantsum"x ] then @@ -371,7 +338,7 @@ download() { # [*] --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 -nd -c --read-timeout=300 --retry-connrefused --header "Accept-Encoding: gzip,deflate" "$2" + try wget -O "$file" -nd -c --read-timeout=300 --retry-connrefused --header "Accept-Encoding: gzip,deflate" "$2" else # curl doesn't get filename from the location given by the server! # fortunately, we know it @@ -381,7 +348,7 @@ download() { fi if [ "$3"x != ""x ] then - verify_sha1sum $3 "$cache/$file" + verify_sha1sum $3 "$cache/$file" fi } @@ -397,6 +364,21 @@ _EOF_ try $WINE regedit "$WINETRICKS_TMP"/set-winver.reg } +set_app_winver() { + app="$1" + version="$2" + echo "Setting $app to $version mode" + ( + echo REGEDIT4 + echo "" + echo "[HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\$app]" + echo "\"Version\"=\"$version\"" + ) > "$WINETRICKS_TMP"/set-winver.reg + + try $WINE regedit "$WINETRICKS_TMP"/set-winver.reg + rm "$WINETRICKS_TMP"/set-winver.reg +} + unset_winver() { echo "Clearing Windows version back to default" cat > "$WINETRICKS_TMP"/unset-winver.reg <<_EOF_ @@ -426,7 +408,7 @@ _EOF_ ;; esac echo "\"$1\"=\"$mode\"" >> "$WINETRICKS_TMP"/override-dll.reg - shift + shift done try $WINE regedit "$WINETRICKS_TMP"/override-dll.reg @@ -439,11 +421,11 @@ override_app_dlls() { mode=$1 shift echo Using $mode override for following DLLs when running $app: $@ - ( - echo REGEDIT4 - echo "" - echo "[HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\$app\\DllOverrides]" - ) > "$WINETRICKS_TMP"/override-dll.reg + ( + echo REGEDIT4 + echo "" + echo "[HKEY_CURRENT_USER\\Software\\Wine\\AppDefaults\\$app\\DllOverrides]" + ) > "$WINETRICKS_TMP"/override-dll.reg while test "$1" != "" do @@ -453,7 +435,7 @@ override_app_dlls() { ;; esac echo "\"$1\"=\"$mode\"" >> "$WINETRICKS_TMP"/override-dll.reg - shift + shift done try $WINE regedit "$WINETRICKS_TMP"/override-dll.reg @@ -490,8 +472,8 @@ helper_directx_dl() { load_art2kmin() { # See http://support.microsoft.com/kb/243957 download . http://download.microsoft.com/download/office2000dev/art2kmin/1/win98/en-us/art2kmin.exe 73be2622254d1f857a204a03f068787542b985e9 - try $WINE "$WINETRICKS_CACHE"/art2kmin.exe - cd "$WINEPREFIX/drive_c/ART2KMin Setup" + try unzip -o $WINETRICKS_UNIXQUIET -d "$WINETRICKS_TMP" "$WINETRICKS_CACHE"/art2kmin.exe + cd "$WINETRICKS_TMP" try $WINE Setup.exe INSTALLPFILES=1 /wait $WINETRICKS_QUIET cd "$olddir" } @@ -499,8 +481,8 @@ load_art2kmin() { #---------------------------------------------------------------- load_autohotkey() { - download . http://www.autohotkey.net/programs/AutoHotkey104706_Install.exe 3d3d8845473dea477d6983d063f0afc9999d880f - try $WINE "$WINETRICKS_CACHE"/AutoHotkey104706_Install.exe $WINETRICKS_S + download . http://www.autohotkey.net/programs/AutoHotkey104803_Install.exe 5cf0f16e9aa2f2e96a3b08e0d938602aff39a33e + try $WINE "$WINETRICKS_CACHE"/AutoHotkey104803_Install.exe $WINETRICKS_S } #---------------------------------------------------------------- @@ -510,7 +492,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:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET - try $WINE "$WINETRICKS_TMP"/comctl32.exe + try unzip -o $WINETRICKS_UNIXQUIET -d "$WINDIR"/temp "$WINETRICKS_TMP"/comctl32.exe try $WINE "$WINDIR"/temp/x86/50ComUpd.Exe "/T:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET try cp "$WINETRICKS_TMP"/comcnt.dll "$WINDIR"/system32/comctl32.dll @@ -548,7 +530,7 @@ load_controlpad() { download . http://download.microsoft.com/download/activexcontrolpad/install/4.0.0.950/win98mexp/en-us/setuppad.exe 8921e0f52507ca6a373c94d222777c750fb48af7 try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/setuppad.exe echo "If setup says 'Unable to start DDE ...', press Ignore" - try $WINE "$WINETRICKS_TMP"/setup $WINETRICKS_QUIET + try $WINE "$WINETRICKS_TMP"/setup $WINETRICKS_QUIET_T } #---------------------------------------------------------------- @@ -558,10 +540,10 @@ load_corefonts() { # TODO: let user pick mirror, # see http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec for how # TODO: add more fonts - + # Added More Fonts (see msttcorefonts) # [*] Pointed download locations to sites that actually contained the - # fonts to download (as of 04-03-2008) + # fonts to download (as of 04-03-2008) #download . $SOURCEFORGE/corefonts/andale32.exe c4db8cbe42c566d12468f5fdad38c43721844c69 download . $SOURCEFORGE/corefonts/arial32.exe 6d75f8436f39ab2da5c31ce651b7443b4ad2916e download . $SOURCEFORGE/corefonts/arialb32.exe d45cdab84b7f4c1efd6d1b369f50ed0390e3d344 @@ -652,7 +634,8 @@ load_d3dx9() { # Kinder, less invasive directx - only extract and override d3dx9_??.dll cabextract -d "$WINETRICKS_TMP" -L -F '*d3dx9*x86*' "$WINETRICKS_CACHE"/$DIRECTX_NAME - for x in `ls "$WINETRICKS_TMP"/*.cab`; do + for x in `ls "$WINETRICKS_TMP"/*.cab` + do cabextract -d "$WINDIR"/system32 -L -F '*.dll' "$x" done @@ -662,6 +645,18 @@ load_d3dx9() { override_dlls native d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 } +#---------------------------------------------------------------- +load_dinput8() { + helper_directx_dl + + cabextract -d "$WINETRICKS_TMP" -L -F 'dxnt.cab' "$WINETRICKS_CACHE"/$DIRECTX_NAME + cabextract -d "$WINDIR"/system32 -L -F 'dinput8.dll' "$WINETRICKS_TMP/dxnt.cab" + + try $WINE regsvr32 dinput8 + + override_dlls native dinput8 +} + #---------------------------------------------------------------- load_dirac08() { @@ -671,6 +666,25 @@ load_dirac08() { #---------------------------------------------------------------- +load_directplay() { + helper_directx_dl + + cabextract -d "$WINETRICKS_TMP" -L -F dxnt.cab "$WINETRICKS_CACHE"/$DIRECTX_NAME + cabextract -d "$WINDIR"/system32 -L -F 'dplaysvr.exe' "$WINETRICKS_TMP/dxnt.cab" + cabextract -d "$WINDIR"/system32 -L -F 'dplayx.dll' "$WINETRICKS_TMP/dxnt.cab" + cabextract -d "$WINDIR"/system32 -L -F 'dpnet.dll' "$WINETRICKS_TMP/dxnt.cab" + cabextract -d "$WINDIR"/system32 -L -F 'dpnhpast.dll' "$WINETRICKS_TMP/dxnt.cab" + cabextract -d "$WINDIR"/system32 -L -F 'dpwsockx.dll' "$WINETRICKS_TMP/dxnt.cab" + + try $WINE regsvr32 dplayx.dll + try $WINE regsvr32 dpnet.dll + try $WINE regsvr32 dpnhpast.dll + + override_dlls native dplayx dpnet dpnhpast dpwsockx +} + +#---------------------------------------------------------------- + load_directx9() { helper_directx_dl @@ -680,7 +694,7 @@ load_directx9() { # 3) override native any directx DLL whose Wine version doesn't register itself well yet # For #3, I have no idea which DLLs don't register themselves well yet, # so I'm just listing a few of the basic ones. Let's whittle that - # list down as soon as we can. + # list down as soon as we can. echo "You probably shouldn't be using this. It's VERY invasive." echo "Use 'winetricks d3dx9' instead." set_winver win2k @@ -692,11 +706,19 @@ load_directx9() { override_dlls native d3dim d3drm d3dx8 d3dx9_24 d3dx9_25 d3dx9_26 d3dx9_27 d3dx9_28 d3dx9_29 override_dlls native d3dx9_30 d3dx9_31 d3dx9_32 d3dx9_33 d3dx9_34 d3dx9_35 d3dx9_36 d3dx9_37 override_dlls native d3dx9_38 d3dx9_39 d3dx9_40 d3dx9_41 d3dxof - override_dlls native dciman32 ddrawex devenum dmband dmcompos dmime dmloader dmscript dmstyle - override_dlls native dmsynth dmusic dmusic32 dnsapi dplay dplayx dpnaddr dpnet dpnhpast dpnlobby + override_dlls native dciman32 ddrawex devenum dmband dmcompos dmime dmloader dmscript dmstyle + override_dlls native dmsynth dmusic dmusic32 dnsapi dplay dplayx dpnaddr dpnet dpnhpast dpnlobby override_dlls native dswave dxdiagn mscoree msdmo qcap quartz streamci override_dlls builtin d3d8 d3d9 dinput dinput8 dsound - + + # Should be below, but fails on Wine when used silently. + #if [ $WINETRICKS_QUIET ] + #then + # try $WINE "$WINETRICKS_TMP_WIN"/DXSETUP.exe /silent + #else + # try $WINE "$WINETRICKS_TMP_WIN"/DXSETUP.exe + #fi + try $WINE "$WINETRICKS_TMP_WIN"/DXSETUP.exe unset_winver @@ -712,8 +734,9 @@ load_divx() { # 6.8.4: d28a2b041f4af45d22c4dedfe7608f2958cf997d as of 23 Aug 2008 as http://download.divx.com/divx/DivXInstaller.exe # 7.? 4d91ef90ae26a6088851560c4263ef0cdbf09123 as of 22 Mar 2009 as http://download.divx.com/divx/DivXInstaller.exe - # 7.0 19c9ba3104025d1fab335e405e7f411dfbbcb477 as of 28 May 2009 as http://download.divx.com/divx/DivXInstaller.exe - download divx-7 http://download.divx.com/divx/DivXInstaller.exe 19c9ba3104025d1fab335e405e7f411dfbbcb477 + # 7.0.? 19c9ba3104025d1fab335e405e7f411dfbbcb477 as of 28 May 2009 as http://download.divx.com/divx/DivXInstaller.exe + # 7.0.? 786aef0f421df5e7358d2d740d9911f9afd055de as of 24 June 2009 as http://download.divx.com/divx/DivXInstaller.exe + download divx-7 http://download.divx.com/divx/DivXInstaller.exe 786aef0f421df5e7358d2d740d9911f9afd055de try $WINE "$WINETRICKS_CACHE"/divx-7/DivXInstaller $WINETRICKS_SILENT } @@ -757,21 +780,26 @@ load_dcom98() { #---------------------------------------------------------------- load_dotnet11() { - DOTNET_INSTALL_DIR="$WINDIR/Microsoft.NET/Framework/v1.1.4322" + DOTNET_INSTALL_DIR="$WINDIR/Microsoft.NET/Framework/v1.1.4322" # need corefonts, else installer crashes load_corefonts # http://www.microsoft.com/downloads/details.aspx?FamilyId=262D25E3-F589-4842-8157-034D1E7CF3A3 download dotnet11 http://download.microsoft.com/download/a/a/c/aac39226-8825-44ce-90e3-bf8203e74006/dotnetfx.exe 16a354a2207c4c8846b617cbc78f7b7c1856340e - try $WINE "$WINETRICKS_CACHE"/dotnet11/dotnetfx.exe $WINETRICKS_QUIET -} + if [ $WINETRICKS_QUIET ] + then + try $WINE "$WINETRICKS_CACHE"/dotnet11/dotnetfx.exe /q /C:"install /q" + else + try $WINE "$WINETRICKS_CACHE"/dotnet11/dotnetfx.exe + fi +} #---------------------------------------------------------------- load_dotnet20() { # Recipe from http://bugs.winehq.org/show_bug.cgi?id=10467#c57 - test -d "$WINDIR/gecko" || load_gecko + test -d "$WINDIR/gecko" || test -d "$WINDIR/system32/gecko" || load_gecko set_winver win2k # See http://kegel.com/wine/l_intl-sh.txt for how l_intl.nls was generated download dotnet20 http://kegel.com/wine/l_intl.nls @@ -781,12 +809,53 @@ load_dotnet20() { download dotnet20 http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe a3625c59d7a2995fb60877b5f5324892a1693b2a if [ "$WINETRICKS_QUIET"x = ""x ] then - try $WINE "$WINETRICKS_CACHE"/dotnet20/dotnetfx.exe + try $WINE "$WINETRICKS_CACHE"/dotnet20/dotnetfx.exe else try $WINE "$WINETRICKS_CACHE"/dotnet20/dotnetfx.exe /q /c:"install.exe /q" fi unset_winver -} +} + +#---------------------------------------------------------------- + +load_dotnet30() { + echo "Have to install dotnet20 before installing dotnet30... please be patient..." + load_dotnet20 + + # http://msdn.microsoft.com/en-us/netframework/bb264589.aspx + download dotnet30 http://download.microsoft.com/download/3/F/0/3F0A922C-F239-4B9B-9CB0-DF53621C57D9/dotnetfx3.exe f3d2c3c7e4c0c35450cf6dab1f9f2e9e7ff50039 + + export _SFX_CAB_SHUTDOWN_REQUEST=1 + if [ "$WINETRICKS_QUIET"x = ""x ] + then + try $WINE "$WINETRICKS_CACHE"/dotnet30/dotnetfx3.exe + else + try $WINE "$WINETRICKS_CACHE"/dotnet30/dotnetfx3.exe /q /c:"install.exe /q" + fi +} + +#---------------------------------------------------------------- + +do_droid() { + download . ${DROID_URL}$1';hb=HEAD' $3 $1 + try cp -f "$WINETRICKS_CACHE"/$1 "$winefontsdir" + register_font $1 "$2" +} + +load_droid() { + # See http://en.wikipedia.org/wiki/Droid_(font) + DROID_URL='http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob_plain;f=data/fonts/' + + do_droid DroidSans-Bold.ttf "Droid Sans Bold" ada4e79c592f3c54546b7587b48f2b232d95ce2f + do_droid DroidSansFallback.ttf "Droid Sans Fallback" 2f8a266389a8e22f68f402b775731eec6b760334 + do_droid DroidSansJapanese.ttf "Droid Sans Japanese" b3a248c11692aa88a30eb25df425b8910fe05dc5 + do_droid DroidSansMono.ttf "Droid Sans Mono" f0815c6f36c72be1d0f2f5e2b82fa85c8bf95655 + do_droid DroidSans.ttf "Droid Sans" da5b3c7758a2c8fbc4775beb69d7150493c7d312 + do_droid DroidSerif-BoldItalic.ttf "Droid Serif Bold Italic" c1602dc11bf0f7131aec21c7c3888195ad78e486 + do_droid DroidSerif-Bold.ttf "Droid Serif Bold" d7896b9c0723299553e95a00d27cbe52f7515c8c + do_droid DroidSerif-Italic.ttf "Droid Serif Italic" 117941be102c8f38a86a70ebccaecb8078f7027e + do_droid DroidSerif-Regular.ttf "Droid Serif" 7f243858e496ed1bb1faca9f3a7bbe52defcbb5d +} #---------------------------------------------------------------- @@ -817,9 +886,11 @@ _EOF_ # On old wineprefixes iexplore.exe is not created. Create a fake dll using # shdocvw.dll that should have similar VERSIONINFO. - if [ ! -f "$programfilesdir_unix/Internet Explorer/iexplore.exe" ]; then + if [ ! -f "$programfilesdir_unix/Internet Explorer/iexplore.exe" ] + then echo "You have an old wineprefix without iexplore.exe. Will create a fake now" - if [ ! -d "$programfilesdir_unix/Internet Explorer/iexplore.exe" ]; then + if [ ! -d "$programfilesdir_unix/Internet Explorer/iexplore.exe" ] + then try mkdir "$programfilesdir_unix/Internet Explorer"; fi try cp -f "$WINDIR/system32/shdocvw.dll" "$programfilesdir_unix/Internet Explorer/iexplore.exe" @@ -828,14 +899,13 @@ _EOF_ #---------------------------------------------------------------- -load_firefox3() { - # Firefox 3 - download . "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0.10/win32/en-US/Firefox%20Setup%203.0.10.exe" ef719c1fc82b7a716a54b5ad03b3b633ddbd6193 "Firefox Setup 3.0.10.exe" +load_firefox() { + download . "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.5/win32/en-US/Firefox%20Setup%203.5.exe" a9ef21ba8173a5d850b408fc448a7bc889eb68cb "Firefox Setup 3.5.exe" if [ "$WINETRICKS_QUIET"x = ""x ] then - try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.0.10.exe" + try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.5.exe" else - try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.0.10.exe" -ms + try $WINE "$WINETRICKS_CACHE"/"Firefox Setup 3.5.exe" -ms fi } @@ -854,21 +924,24 @@ load_flash() { # Active X plugin # http://blogs.adobe.com/psirt/2008/03/preparing_for_april_flash_play.html - # http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_active_x.msi + # http://fpdownload.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_active_x.msi # 2008-04-01: old version sha1sum f4dd1c0c715b791db2c972aeba90d3b78372996a # 2008-04-18: new version sha1sum 04ac79c4f1eb1e1ca689f27fa71f12bb5cd11cc2 # Version 10 http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_ax.exe - # 2008-11-27: 10 sha1sum 7f6850ae815e953311bb94a8aa9d226f97a646dd - # 2009-02-27: shasum 86745020a25edc9695a1a6a4d59eae375665a0b3 + # 2008-11-27: 10 sha1sum 7f6850ae815e953311bb94a8aa9d226f97a646dd + # 2009-02-27: sha1sum 86745020a25edc9695a1a6a4d59eae375665a0b3 + # 2009-07-31: sha1sum 11a81ad1b19344c28b1e1249169f15dfbd2a04f5 - download . http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_ax.exe 86745020a25edc9695a1a6a4d59eae375665a0b3 + download . http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_ax.exe 11a81ad1b19344c28b1e1249169f15dfbd2a04f5 try $WINE "$WINETRICKS_CACHE"/install_flash_player_ax.exe $WINETRICKS_S # Mozilla / Firefox plugin # 2008-07-22: sha1sum 1e6f7627784a5b791e99ae9ad63133dc11c7940b # 2008-11-27: sha1sum 20ec0300a8cae19105c903a7ec6c0801e016beb0 # 2009-02-27: sha1sum 770db9ad471ffd4357358bc16ff0bb6c98d71e5d - download . http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player.exe 770db9ad471ffd4357358bc16ff0bb6c98d71e5d + # 2009-07-31: sha1sum 9590fb87cc33d3a3a1f2f42a1918f06b9f0fd88d + + download . http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player.exe 9590fb87cc33d3a3a1f2f42a1918f06b9f0fd88d try $WINE "$WINETRICKS_CACHE"/install_flash_player.exe $WINETRICKS_S } @@ -878,7 +951,7 @@ load_fontfix() { # some versions of ukai.ttf and uming.ttf crash .net and picasa # See http://bugs.winehq.org/show_bug.cgi?id=7098#c9 # Could fix globally, but that needs root, so just fix for wine - if test -f /usr/share/fonts/truetype/arphic/ukai.ttf + if test -f /usr/share/fonts/truetype/arphic/ukai.ttf then gotsum=`$SHA1SUM < /usr/share/fonts/truetype/arphic/ukai.ttf | sed 's/ .*//'` # FIXME: do all affected versions of the font have same sha1sum as Gutsy? Seems unlikely. @@ -886,46 +959,42 @@ load_fontfix() { then download . https://launchpadlibrarian.net/1499628/ttf-arphic-ukai_0.1.20060108.orig.tar.gz 92e577602d71454a108968e79ab667451f3602a2 cd "$WINETRICKS_TMP/" - tar -xzf "$WINETRICKS_CACHE/ttf-arphic-ukai_0.1.20060108.orig.tar.gz" + gunzip -dc "$WINETRICKS_CACHE/ttf-arphic-ukai_0.1.20060108.orig.tar.gz" | tar -xf - try mv ttf-arphic-ukai-0.1.20060108/*.ttf "$winefontsdir" cd "$olddir" fi fi - if test -f /usr/share/fonts/truetype/arphic/uming.ttf + if test -f /usr/share/fonts/truetype/arphic/uming.ttf then gotsum=`$SHA1SUM < /usr/share/fonts/truetype/arphic/uming.ttf | sed 's/ .*//'` if [ "$gotsum"x = "2a4f4a69e343c21c24d044b2cb19fd4f0decc82c"x ] then download . https://launchpadlibrarian.net/1564410/ttf-arphic-uming_0.1.20060108.orig.tar.gz 1439cdd731906e9e5311f320c2cb33262b24ef91 cd "$WINETRICKS_TMP/" - tar -xzf "$WINETRICKS_CACHE/ttf-arphic-uming_0.1.20060108.orig.tar.gz" + gunzip -dc "$WINETRICKS_CACHE/ttf-arphic-uming_0.1.20060108.orig.tar.gz" | tar -xf - try mv ttf-arphic-uming-0.1.20060108/*.ttf "$winefontsdir" cd "$olddir" fi fi - # The heterogeneity of SHA-1 checksums and paths for "bad" Samyak-Oriya.ttf - # fonts make checking impractical, so we'll substitute in a good version - # regardless of the installed version, if any. - - download . http://cvs.fedora.redhat.com/repo/pkgs/samyak-fonts/samyak-fonts-1.2.0.tar.gz/a57339ba2b4279938a2d792ebdf70377/samyak-fonts-1.2.0.tar.gz f06d0eaac201a3ec79418d69d46807a52150f047 - cd "$WINETRICKS_TMP/" - tar -xzf "$WINETRICKS_CACHE/samyak-fonts-1.2.0.tar.gz" - try mv samyak-fonts-1.2.0/oriya/Samyak-Oriya.ttf "$winefontsdir" - cd "$olddir" + # Focht says Samyak is bad news, and font substitution isn't a good workaround. + if xlsfonts | grep -i samyak + then + warn "Please uninstall the Samyak font. It has been known to cause problems." + fi } #---------------------------------------------------------------- load_fs_disable() { cat > "$WINETRICKS_TMP"/fs_disable.reg <<_EOF_ -REGEDIT4 - -[HKEY_CURRENT_USER\Control Panel\Desktop] -"FontSmoothing"="0" -"FontSmoothingGamma"=dword:00000578 -"FontSmoothingOrientation"=dword:00000001 -"FontSmoothingType"=dword:00000000 +REGEDIT4 + +[HKEY_CURRENT_USER\Control Panel\Desktop] +"FontSmoothing"="0" +"FontSmoothingGamma"=dword:00000578 +"FontSmoothingOrientation"=dword:00000001 +"FontSmoothingType"=dword:00000000 _EOF_ try $WINE regedit "$WINETRICKS_TMP"/fs_disable.reg @@ -934,13 +1003,13 @@ _EOF_ load_fs_grayscale() { cat > "$WINETRICKS_TMP"/fs_grayscale.reg <<_EOF_ -REGEDIT4 - -[HKEY_CURRENT_USER\Control Panel\Desktop] -"FontSmoothing"="2" -"FontSmoothingGamma"=dword:00000578 -"FontSmoothingOrientation"=dword:00000001 -"FontSmoothingType"=dword:00000001 +REGEDIT4 + +[HKEY_CURRENT_USER\Control Panel\Desktop] +"FontSmoothing"="2" +"FontSmoothingGamma"=dword:00000578 +"FontSmoothingOrientation"=dword:00000001 +"FontSmoothingType"=dword:00000001 _EOF_ try $WINE regedit "$WINETRICKS_TMP"/fs_grayscale.reg @@ -949,13 +1018,13 @@ _EOF_ load_fs_bgr() { cat > "$WINETRICKS_TMP"/fs_bgr.reg <<_EOF_ -REGEDIT4 - -[HKEY_CURRENT_USER\Control Panel\Desktop] -"FontSmoothing"="2" -"FontSmoothingGamma"=dword:00000578 -"FontSmoothingOrientation"=dword:00000000 -"FontSmoothingType"=dword:00000002 +REGEDIT4 + +[HKEY_CURRENT_USER\Control Panel\Desktop] +"FontSmoothing"="2" +"FontSmoothingGamma"=dword:00000578 +"FontSmoothingOrientation"=dword:00000000 +"FontSmoothingType"=dword:00000002 _EOF_ try $WINE regedit "$WINETRICKS_TMP"/fs_bgr.reg @@ -964,13 +1033,13 @@ _EOF_ load_fs_rgb() { cat > "$WINETRICKS_TMP"/fs_rgb.reg <<_EOF_ -REGEDIT4 - -[HKEY_CURRENT_USER\Control Panel\Desktop] -"FontSmoothing"="2" -"FontSmoothingGamma"=dword:00000578 -"FontSmoothingOrientation"=dword:00000001 -"FontSmoothingType"=dword:00000002 +REGEDIT4 + +[HKEY_CURRENT_USER\Control Panel\Desktop] +"FontSmoothing"="2" +"FontSmoothingGamma"=dword:00000578 +"FontSmoothingOrientation"=dword:00000001 +"FontSmoothingType"=dword:00000002 _EOF_ try $WINE regedit "$WINETRICKS_TMP"/fs_rgb.reg @@ -979,30 +1048,40 @@ _EOF_ load_gecko() { # Load the HTML rendering Engine (Gecko) - # FIXME: shouldn't this code be in some script installed + # FIXME: shouldn't this code be in some script installed # as part of Wine instead of in winetricks? # (e.g. we hardcode gecko's url here, but it's normally # only hardcoded in wine.inf, and fetched from the registry thereafter, # so we're adding a maintenance burden here.) case `$WINE --version` in wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11) - GECKO_VERSION=0.1.0 - GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56 + GECKO_DIR="$WINDIR" + GECKO_VERSION=0.1.0 + GECKO_SHA1SUM=c16f1072dc6b0ced20935662138dcf019a38cd56 ;; wine-1.1.1[234]*) - GECKO_VERSION=0.9.0 + GECKO_DIR="$WINDIR" + GECKO_VERSION=0.9.0 GECKO_SHA1SUM=5cf410ff7fdd3f9d625f481f9d409968728d3d09 ;; - *) + wine-1.1.1[56789]*|wine-1.1.2[0123456]*) + GECKO_DIR="$WINDIR" GECKO_VERSION=0.9.1 GECKO_SHA1SUM=9a49fc691740596517e381b47096a4bdf19a87d8 ;; + *) + GECKO_DIR="$WINDIR/system32" + GECKO_VERSION=1.0.0 + GECKO_ARCH=-x86 + GECKO_SHA1SUM=afa22c52bca4ca77dcb9edb3c9936eb23793de01 + ;; esac - if test ! -f "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION.cab + if test ! -f "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab then # FIXME: busted if using curl! - download . "http://source.winehq.org/winegecko.php?v=$GECKO_VERSION" $GECKO_SHA1SUM wine_gecko-$GECKO_VERSION.cab + download . "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab" \ + $GECKO_SHA1SUM wine_gecko-$GECKO_VERSION$GECKO_ARCH.cab fi cat > "$WINETRICKS_TMP"/geckopath.reg <<_EOF_ @@ -1011,14 +1090,22 @@ REGEDIT4 [HKEY_CURRENT_USER\\Software\\Wine\\MSHTML\\$GECKO_VERSION] _EOF_ - #The registry-entry does not support an environment-variable printf '"GeckoPath"="' >>"$WINETRICKS_TMP"/geckopath.reg - printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' | sed "s/\\\\/\\\\\\\\/g" >>"$WINETRICKS_TMP"/geckopath.reg + case $GECKO_VERSION in + 0.*) + printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' | + sed "s/\\\\/\\\\\\\\/g" >> "$WINETRICKS_TMP"/geckopath.reg + ;; + 1.*) + printf 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' | + sed "s/\\\\/\\\\\\\\/g" >> "$WINETRICKS_TMP"/geckopath.reg + ;; + esac # extract the files - mkdir -p "$WINDIR"/gecko/$GECKO_VERSION - cd "$WINDIR"/gecko/$GECKO_VERSION - try cabextract $WINETRICKS_UNIXQUIET "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION.cab + 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 cd "$olddir" # set install-path @@ -1029,30 +1116,37 @@ _EOF_ load_gecko_dbg() { # Load the HTML rendering Engine (Gecko), with debugging symbols - # FIXME: shouldn't this code be in some script installed + # FIXME: shouldn't this code be in some script installed # as part of Wine instead of in winetricks? # (e.g. we hardcode gecko's url here, but it's normally # only hardcoded in wine.inf, and fetched from the registry thereafter, # so we're adding a maintenance burden here.) case `$WINE --version` in wine-0*|wine-1.0*|wine-1.1|wine-1.1.?|wine-1.1.11) - echo "There isn't a gecko debug build for your Wine version." - exit 1 + die "There isn't a gecko debug build for your Wine version." ;; wine-1.1.1[234]*) - GECKO_VERSION=0.9.0 + GECKO_DIR="$WINDIR" + GECKO_VERSION=0.9.0 GECKO_SHA1SUM=23e354a82d7b7e61a6abe0384cc44669fbf92f86 ;; - *) + wine-1.1.1[56789]*|wine-1.1.2[0123456]*) + GECKO_DIR="$WINDIR" GECKO_VERSION=0.9.1 GECKO_SHA1SUM=a9b58d3330f8c78524fe4683f348302bfce96ff4 ;; + *) + GECKO_DIR="$WINDIR/system32" + GECKO_VERSION=1.0.0 + GECKO_ARCH=-x86 + GECKO_SHA1SUM=2de16b443826295f646cd5d54313ca421fd71210 + ;; esac - if test ! -f "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION-dbg.cab + if test ! -f "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION$GECKO_ARCH-dbg.cab then # FIXME: busted if using curl! - download . "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION-dbg.cab" $GECKO_SHA1SUM wine_gecko-$GECKO_VERSION-dbg.cab + download . "http://downloads.sourceforge.net/wine/wine_gecko-$GECKO_VERSION$GECKO_ARCH-dbg.cab" $GECKO_SHA1SUM wine_gecko-$GECKO_VERSION$GECKO_ARCH-dbg.cab fi cat > "$WINETRICKS_TMP"/geckopath.reg <<_EOF_ @@ -1061,14 +1155,18 @@ REGEDIT4 [HKEY_CURRENT_USER\\Software\\Wine\\MSHTML\\$GECKO_VERSION] _EOF_ - #The registry-entry does not support an environment-variable printf '"GeckoPath"="' >>"$WINETRICKS_TMP"/geckopath.reg - printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' | sed "s/\\\\/\\\\\\\\/g" >>"$WINETRICKS_TMP"/geckopath.reg + if [ ! "$GECKO_VERSION" = "1.0.0" ] + then + printf 'c:\\windows\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' | sed "s/\\\\/\\\\\\\\/g" >>"$WINETRICKS_TMP"/geckopath.reg + else + printf 'c:\\windows\\system32\\gecko\\'$GECKO_VERSION'\\wine_gecko\\"' | sed "s/\\\\/\\\\\\\\/g" >>"$WINETRICKS_TMP"/geckopath.reg + fi # extract the files - mkdir -p "$WINDIR"/gecko/$GECKO_VERSION - cd "$WINDIR"/gecko/$GECKO_VERSION - try cabextract $WINETRICKS_UNIXQUIET "$WINETRICKS_CACHE"/wine_gecko-$GECKO_VERSION-dbg.cab + 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-dbg.cab cd "$olddir" # set install-path @@ -1098,7 +1196,7 @@ load_hosts() { # The hosts file is used to map network names to IP addresses without DNS. # The services file is used map service names to network ports. # Some apps depend on these files, but they're not implemented in wine. - # Fortunately, empty files in the correct location satisfy those apps. + # Fortunately, empty files in the correct location satisfy those apps. # See http://bugs.winehq.org/show_bug.cgi?id=12076 mkdir -p "$WINDIR"/system32/drivers/etc touch "$WINDIR"/system32/drivers/etc/hosts @@ -1126,11 +1224,11 @@ load_ie6() { # Change the override to the native so we are sure we use and register them override_dlls native,builtin iexplore.exe itircl itss jscript mlang mshtml msimtf shdoclc shdocvw shlwapi urlmon - # Remove the fake dlls from the existing WINEPREFIX + # Remove the fake dlls from the existing WINEPREFIX mv "$programfilesdir_unix"/"Internet Explorer"/iexplore.exe "$programfilesdir_unix"/"Internet Explorer"/iexplore.exe.bak for dll in itircl itss jscript mlang mshtml msimtf shdoclc shdocvw shlwapi urlmon do - test -f "$WINDIR"/system32/$dll.dll && + test -f "$WINDIR"/system32/$dll.dll && mv "$WINDIR"/system32/$dll.dll "$WINDIR"/system32/$dll.dll.bak done @@ -1145,10 +1243,24 @@ load_ie6() { # Install download . http://download.microsoft.com/download/ie6sp1/finrel/6_sp1/W98NT42KMeXP/EN-US/ie6setup.exe f3ab61a785eb9611fa583612e83f3b69377f2cef - try $WINE "$WINETRICKS_CACHE"/ie6setup.exe + + # Silent install recipe from: + # http://www.axonpro.sk/japo/info/MS/SILENT%20INSTALL/Unattended-Silent%20Installation%20Switches%20for%20Windows%20Apps.htm + if [ $WINETRICKS_QUIET ] + then + $WINE "$WINETRICKS_CACHE"/ie6setup.exe /q:a /r:n /c:"ie6wzd /S:""#e"" /q:a /r:n" + else + $WINE "$WINETRICKS_CACHE"/ie6setup.exe + fi + # IE6 exits with 194 to signal a reboot + status=$? + case $status in + 0|194) ;; + *) die ie6 installation failed + esac # Work around DLL registration bug until ierunonce/RunOnce/wineboot is fixed - # FIXME: whittle down this list + # FIXME: whittle down this list cd "$WINDIR"/system32/ for i in actxprxy.dll browseui.dll browsewm.dll cdfview.dll ddraw.dll \ dispex.dll dsound.dll iedkcs32.dll iepeers.dll iesetup.dll \ @@ -1182,7 +1294,7 @@ load_jet40() { #---------------------------------------------------------------- load_kde() { - download . http://www.winkde.org/pub/kde/ports/win32/installer/kdewin-installer-gui-0.9.5-0.exe c2a95102312ca859fce5190307748da51fae644e + download . http://www.winkde.org/pub/kde/ports/win32/installer/old/kdewin-installer-gui-0.9.5-0.exe c2a95102312ca859fce5190307748da51fae644e mkdir -p "$programfilesdir_unix/kde" try cp "$WINETRICKS_CACHE"/kdewin-installer-gui-0.9.5-0.exe "$programfilesdir_unix/kde" cd "$programfilesdir_unix/kde" @@ -1195,16 +1307,18 @@ load_kde() { load_liberation() { # http://www.redhat.com/promo/fonts/ - if [ `uname -s` = 'SunOS' ] || [ `uname -s` = 'Solaris' ]; then - echo "If you get 'ERROR: Certificate verification error for fedorahosted.org: unable to get local issuer certificate':" - echo "Then you need to add Verisign root certificates to your local keystore." - echo "OpenSolaris users, see: http://www.linuxtopia.org/online_books/opensolaris_2008/SYSADV1/html/swmgrpatchtasks-14.html" - echo "Or edit winetricks' download function, and add '--no-check-certificate' to the command." - fi - + case `uname -s` in + SunOS|Solaris) + echo "If you get 'ERROR: Certificate verification error for fedorahosted.org: unable to get local issuer certificate':" + echo "Then you need to add Verisign root certificates to your local keystore." + echo "OpenSolaris users, see: http://www.linuxtopia.org/online_books/opensolaris_2008/SYSADV1/html/swmgrpatchtasks-14.html" + echo "Or edit winetricks' download function, and add '--no-check-certificate' to the command." + ;; + esac + download . https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-1.04.tar.gz 097882c92e3260742a3dc3bf033792120d8635a3 cd "$WINETRICKS_TMP" - tar -xzvf "$WINETRICKS_CACHE"/liberation-fonts-1.04.tar.gz + gunzip -dc "$WINETRICKS_CACHE"/liberation-fonts-1.04.tar.gz | tar -xf - mv liberation-fonts-1.04/*.ttf "$winefontsdir" rm -rf "$WINETRICKS_TMP"/* cd "$olddir" @@ -1224,7 +1338,12 @@ load_mdac25() { download mdac25 http://download.microsoft.com/download/e/e/4/ee4fe9ee-6fa1-4ab6-ab8c-fe1769f4edcf/mdac_typ.exe 09e974a5dbebaaa08c7985a4a1126886dc05fd87 set_native_mdac set_winver nt40 - try $WINE "$WINETRICKS_CACHE"/mdac25/mdac_typ.exe + if [ $WINETRICKS_QUIET ] + then + try $WINE "$WINETRICKS_CACHE"/mdac25/mdac_typ.exe /q /C:"setup /QNT" + else + try $WINE "$WINETRICKS_CACHE"/mdac25/mdac_typ.exe + fi unset_winver } @@ -1234,7 +1353,12 @@ load_mdac27() { download mdac27 http://download.microsoft.com/download/3/b/f/3bf74b01-16ba-472d-9a8c-42b2b4fa0d76/mdac_typ.exe f68594d1f578c3b47bf0639c46c11c5da161feee set_native_mdac set_winver win2k - try $WINE "$WINETRICKS_CACHE"/mdac27/mdac_typ.exe + if [ $WINETRICKS_QUIET ] + then + try $WINE "$WINETRICKS_CACHE"/mdac27/mdac_typ.exe /q /C:"setup /QNT" + else + try $WINE "$WINETRICKS_CACHE"/mdac27/mdac_typ.exe + fi unset_winver } @@ -1244,7 +1368,12 @@ load_mdac28() { download mdac28 http://download.microsoft.com/download/c/d/f/cdfd58f1-3973-4c51-8851-49ae3777586f/MDAC_TYP.EXE 91bd59f0b02b67f3845105b15a0f3502b9a2216a set_native_mdac set_winver win98 - try $WINE "$WINETRICKS_CACHE"/mdac28/MDAC_TYP.EXE + if [ $WINETRICKS_QUIET ] + then + try $WINE "$WINETRICKS_CACHE"/mdac28/mdac_typ.exe /q /C:"setup /QNT" + else + try $WINE "$WINETRICKS_CACHE"/mdac28/mdac_typ.exe + fi unset_winver } @@ -1265,7 +1394,7 @@ load_mono20() { # Load Mono, have it handle all .net requests download . ftp://ftp.novell.com/pub/mono/archive/2.0.1/windows-installer/1/mono-2.0.1-gtksharp-2.10.4-win32-1.exe ccb67ac41b59522846e47d0c423836b9d334c088 # Anyone know how to get it to do a silent install? - try $WINE "$WINETRICKS_CACHE"/mono-2.0.1-gtksharp-2.10.4-win32-1.exe + try $WINE "$WINETRICKS_CACHE"/mono-2.0.1-gtksharp-2.10.4-win32-1.exe $WINETRICKS_SILENT cat > "$WINETRICKS_TMP"/mono_2.0.reg <<_EOF_ REGEDIT4 @@ -1287,7 +1416,7 @@ load_mono22() { # Load Mono, have it handle all .net requests download . ftp://ftp.novell.com/pub/mono/archive/2.2/windows-installer/5/mono-2.2-gtksharp-2.12.7-win32-5.exe be977dfa9c49deea1be02ba4a2228e343f1e5840 # Anyone know how to get it to do a silent install? - try $WINE "$WINETRICKS_CACHE"/mono-2.2-gtksharp-2.12.7-win32-5.exe + try $WINE "$WINETRICKS_CACHE"/mono-2.2-gtksharp-2.12.7-win32-5.exe $WINETRICKS_SILENT # FIXME: what should this be for mono 2.2? cat > "$WINETRICKS_TMP"/mono_2.0.reg <<_EOF_ @@ -1308,7 +1437,7 @@ _EOF_ load_mpc() { download . $SOURCEFORGE/guliverkli2/mplayerc_20080414.zip bc9f922d7151e7cc7fef429b085cf208ef989bab - cd "$WINEPREFIX"/drive_c + cd "$WINEPREFIX"/drive_c try unzip "$WINETRICKS_CACHE"/mplayerc_20080414.zip cd "$olddir" echo MPC now available as c:/mplayerc.exe @@ -1363,8 +1492,8 @@ load_msmask() { # http://msdn.microsoft.com/en-us/library/11405hcf(VS.71).aspx # http://bugs.winehq.org/show_bug.cgi?id=2934 # old: 3c6b26f68053364ea2e09414b615dbebafb9d5c3 - # May 2009: 30e55679e4a13fe4d9620404476f215f93239292 - download . http://activex.microsoft.com/controls/vb6/MSMASK32.CAB 30e55679e4a13fe4d9620404476f215f93239292 + # May 2009: 30e55679e4a13fe4d9620404476f215f93239292 + download . http://activex.microsoft.com/controls/vb6/MSMASK32.CAB 30e55679e4a13fe4d9620404476f215f93239292 try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/MSMASK32.CAB try cp -f "$WINETRICKS_TMP"/[Mm][Ss][Mm][Aa][Ss][Kk]32.[Oo][Cc][Xx] "$WINDIR"/system32/msmask32.ocx try $WINE regsvr32 msmask32.ocx @@ -1450,24 +1579,34 @@ load_ole2() { cd "$WINETRICKS_TMP" try $WINE setup.exe cd "$olddir" - unset_winver + unset_winver - override_dlls native,builtin COMPOBJ.DLL OLE2CONV.DLL OLE2DISP.DLL OLE2.DLL + override_dlls native,builtin COMPOBJ.DLL OLE2CONV.DLL OLE2DISP.DLL OLE2.DLL override_dlls native,builtin OLE2NLS.DLL OLE2PROX.DLL STORAGE.DLL TYPELIB.DLL } #---------------------------------------------------------------- +load_openwatcom() { + # http://www.openwatcom.org + + download . "http://ftp.openwatcom.org/ftp/open-watcom-c-win32-1.8.exe" 44afd1fabfdf0374f614f054824e60ac560f9dc0 + try $WINE "$WINETRICKS_CACHE"/open-watcom-c-win32-1.8.exe $WINETRICKS_SILENT +} + +#---------------------------------------------------------------- + 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 $WINE "$WINETRICKS_CACHE"/pdhinst.exe - try cp -f "$WINDIR"/temp/x86/Pdh.Dll "$WINDIR"/system32/pdh.dll + try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/pdhinst.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 } #---------------------------------------------------------------- -load_quicktime72() { +load_quicktime72() { echo "Quicktime needs gdiplus..." load_gdiplus @@ -1486,8 +1625,8 @@ load_quicktime72() { echo "You probably want to select Advanced / Safe Mode in the Quicktime control panel" try $WINE control "$programfilesdir_win\\QuickTime\\QTSystem\\QuickTime.cpl" fi - - unset_winver + + unset_winver # user might want to set vista mode himself, or run # wine control ".wine/drive_c/Program Files/QuickTime/QTSystem/QuickTime.cpl" # and pick Advanced / Safe Mode (gdi only). @@ -1504,15 +1643,15 @@ volnum() { # http://www.microsoft.com/technet/prodtechnol/windowsserver2003/deployment/winupdte.mspx # These installers check the drive name, and if it doesn't start with 'harddisk', # they complain "Unable to find a volume for file extraction", see - # http://bugs.winehq.org/show_bug.cgi?id=5351 + # http://bugs.winehq.org/show_bug.cgi?id=5351 # You may be able to work around this by using the installer's /x or /extract switch, # but renaming drive_c to "harddiskvolume0" lets you just run the installer as normal. if test ! -d "$WINEPREFIX"/harddiskvolume0/ then - ln -s drive_c "$WINEPREFIX"/harddiskvolume0 - rm "$WINEPREFIX"/dosdevices/c: - ln -s ../harddiskvolume0 "$WINEPREFIX"/dosdevices/c: + ln -s drive_c "$WINEPREFIX"/harddiskvolume0 + rm "$WINEPREFIX"/dosdevices/c: + ln -s ../harddiskvolume0 "$WINEPREFIX"/dosdevices/c: echo "Renamed drive_c to harddiskvolume0" else echo "drive_c already named harddiskvolume0" @@ -1527,7 +1666,7 @@ load_riched20() { try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/Q249973i.EXE try cp -f "$WINETRICKS_TMP"/riched??.dll "$WINDIR"/system32 override_dlls native,builtin riched20 riched32 - + rm -rf "$WINETRICKS_TMP"/* } @@ -1536,23 +1675,36 @@ load_riched20() { load_riched30() { # http://www.novell.com/documentation/nm1/readmeen_web/readmeen_web.html#Akx3j64 # claims that Groupwise Messenger's View / Text Size command - # only works with riched30, and recommends getting it by installing + # only works with riched30, and recommends getting it by installing # msi 2, which just happens to come with riched30 version of riched20 # (though not with a corresponding riched32, which might be a problem) # http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=CEBBACD8-C094-4255-B702-DE3BB768148F download . http://download.microsoft.com/download/WindowsInstaller/Install/2.0/W9XMe/EN-US/InstMsiA.exe e739c40d747e7c27aacdb07b50925b1635ee7366 try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/InstMsiA.exe try cp -f "$WINETRICKS_TMP"/riched20.dll "$WINDIR"/system32 - override_dlls native,builtin riched20 - + override_dlls native,builtin riched20 + rm -rf "$WINETRICKS_TMP"/* } #---------------------------------------------------------------- +load_shockwave() { + # Not silent enough, use msi instead + #download . http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/Shockwave_Installer_Full.exe 840e34e9b067cf247bfa9092665b8966158f38e3 + #try $WINE "$WINETRICKS_CACHE"/Shockwave_Installer_Full.exe $WINETRICKS_S + # old sha1sum: 6a91a9da4b54c3fdc97130a15e1a173117e5f4ff + # 2009-07-31 sha1sum: 0bb506ef67a268e8d3fb6c7ce556320ee10b9da5 + + download . http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi 0bb506ef67a268e8d3fb6c7ce556320ee10b9da5 + try $WINE msiexec /i "$WINETRICKS_CACHE"/sw_lic_full_installer.msi $WINETRICKS_QUIET +} + +#---------------------------------------------------------------- + load_tahoma() { # The tahoma and tahomabd fonts are needed by e.g. Steam - + download . http://download.microsoft.com/download/office97pro/fonts/1/w95/en-us/tahoma32.exe 888ce7b7ab5fd41f9802f3a65fd0622eb651a068 try cabextract --directory="$WINETRICKS_TMP" "$WINETRICKS_CACHE"/tahoma32.exe try cp -f "$WINETRICKS_TMP"/Tahoma.TTF "$winefontsdir"/tahoma.ttf @@ -1634,7 +1786,7 @@ load_vcrun6() { then download . http://download.microsoft.com/download/vc60pro/update/1/w9xnt4/en-us/vc6redistsetup_enu.exe 382c8f5a7f41189af8d4165cf441f274b7e2a457 rm -rf "$WINETRICKS_TMP"/* - + try $WINE "$WINETRICKS_CACHE"/vc6redistsetup_enu.exe "/T:`$WINE winepath -w "$WINETRICKS_TMP"`" /c $WINETRICKS_QUIET if test ! -f "$WINETRICKS_TMP"/vcredist.exe then @@ -1686,7 +1838,7 @@ load_vcrun2005() { load_vcrun2005sp1() { # Load the Visual C++ 2005 SP1 runtime libraries # See http://www.microsoft.com/downloads/details.aspx?familyid=200b2fd9-ae1a-4a14-984d-389c36f85647 - download vcrun2005sp1 http://download.microsoft.com/download/e/1/c/e1c773de-73ba-494a-a5ba-f24906ecf088/vcredist_x86.exe 7dfa98be78249921dd0eedb9a3dd809e7d215c8d + download vcrun2005sp1 http://download.microsoft.com/download/e/1/c/e1c773de-73ba-494a-a5ba-f24906ecf088/vcredist_x86.exe 7dfa98be78249921dd0eedb9a3dd809e7d215c8d try $WINE "$WINETRICKS_CACHE"/vcrun2005sp1/vcredist_x86.exe $WINETRICKS_QUIET } @@ -1700,7 +1852,7 @@ load_vcrun2008() { # Load the Visual C++ 2008 runtime libraries # See http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf - download vcrun2008 http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe 56719288ab6514c07ac2088119d8a87056eeb94a + download vcrun2008 http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe 56719288ab6514c07ac2088119d8a87056eeb94a try $WINE "$WINETRICKS_CACHE"/vcrun2008/vcredist_x86.exe $WINETRICKS_QUIET } @@ -1721,7 +1873,12 @@ load_vcrun2008sp1() { load_vjrun20() { load_dotnet20 download vjrun20 http://download.microsoft.com/download/9/2/3/92338cd0-759f-4815-8981-24b437be74ef/vjredist.exe 80a098e36b90d159da915aebfbfbacf35f302bd8 - try $WINE "$WINETRICKS_CACHE"/vjrun20/vjredist.exe $WINETRICKS_QUIET + if [ $WINETRICKS_QUIET ] + then + try $WINE "$WINETRICKS_CACHE"/vjrun20/vjredist.exe /q /C:"install /QNT" + else + try $WINE vjrun20/vjredist.exe + fi } #---------------------------------------------------------------- @@ -1734,7 +1891,7 @@ load_vlc() { #---------------------------------------------------------------- load_wininet() { - # This is an updated wininet from IE 5.0.1. + # This is an updated wininet from IE 5.0.1. # (Good enough for Active Worlds browser. Also helps "Avatar - Legends of the Arena" get to login screen.) # See http://www.microsoft.com/downloads/details.aspx?familyid=6DEE32AB-B618-4FB3-9A45-CDD08162E167 download . http://download.microsoft.com/download/ie5/Update/1/WIN98/EN-US/3725.exe b048e0b4e303298de3317b16f7008c43ca71ddfe @@ -1806,6 +1963,19 @@ load_wmp10() { #---------------------------------------------------------------- +load_wenquanyi() { + # See http://wenq.org/enindex.cgi + # Donate at http://wenq.org/enindex.cgi?Download(en)#MicroHei_Beta if you want to help support free CJK font development + download . $SOURCEFORGE/wqy/wqy-microhei-0.2.0-beta.tar.gz 28023041b22b6368bcfae076de68109b81e77976 + cd "$WINETRICKS_TMP/" + gunzip -dc "$WINETRICKS_CACHE/wqy-microhei-0.2.0-beta.tar.gz" | tar -xf - + try mv wqy-microhei/wqy-microhei.ttc "$winefontsdir" + register_font wqy-microhei.ttc "WenQuanYi Micro Hei" + cd "$olddir" +} + +#---------------------------------------------------------------- + load_wsh56() { # See also http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=C717D943-7E4B-4622-86EB-95A22B832CAA # FIXME: depends on vcrun6, should we install that automatically? @@ -1842,12 +2012,14 @@ load_xact() { # xactengine?_?.dll and X3DAudio?_?.dll - extract cabextract -d "$WINETRICKS_TMP" -L -F '*_xact_*x86*' "$WINETRICKS_CACHE"/$DIRECTX_NAME cabextract -d "$WINETRICKS_TMP" -L -F '*_x3daudio_*x86*' "$WINETRICKS_CACHE"/$DIRECTX_NAME - for x in `ls "$WINETRICKS_TMP"/*.cab`; do + for x in `ls "$WINETRICKS_TMP"/*.cab` + do cabextract -d "$WINDIR"/system32 -L -F '*.dll' "$x" done # xactengine?_?.dll - register - for x in `ls "$WINDIR"/system32/xactengine*`; do + for x in `ls "$WINDIR"/system32/xactengine*` + do try $WINE regsvr32 `basename $x` done } @@ -1857,8 +2029,8 @@ load_xact() { load_xvid() { # xvid test -f "$WINDIR"/system32/[Mm][Ff][Cc]42.[Dd][Ll][Ll] || load_vcrun6 - download . http://download2.videohelp.com/download/Xvid-1.1.3-27042008.exe f1008a11037c0b9368aa4979e62d0963d05d8007 - try $WINE "$WINETRICKS_CACHE"/Xvid-1.1.3-27042008.exe $WINETRICKS_SILENT + download . http://www.koepi.info/Xvid-1.2.2-07062009.exe 435203e7f713c4484ca4f50f43e847f3dc118962 + try $WINE "$WINETRICKS_CACHE"/Xvid-1.2.2-07062009.exe $WINETRICKS_SILENT } #---------------------------------------------------------------- @@ -1867,13 +2039,95 @@ print_version() { echo "$VERSION" } -#---------------------------------------------------------------- +#--------- Main program ----------------------------------------- + +# On Solaris, choose more modern commands (needed for id -u). +case `uname -s` in +SunOS) PATH="/usr/xpg6/bin:/usr/xpg4/bin:$PATH" + ;; +esac + +case "$1" in +-V|--version) + echo "Winetricks version $VERSION. (C) 2007-2009 Dan Kegel et al. LGPL." + exit 0 + ;; +esac + +detectDE + +GUI=0 +case x"$1" in +x) GUI=1 ;; +x-h|x--help|xhelp) usage ; exit 1 ;; +esac + +# Prevent running with wrong user id. +# It's bad to create files as the wrong user! +die_if_user_not_dirowner "$WINEPREFIX" +die_if_user_not_dirowner "$WINETRICKS_CACHE" + +mkdir -p "$WINETRICKS_TMP" + +case $GUI in +1) dogui ; set $todo ;; +esac + +if [ ! -x "`which "$WINE"`" ] +then + die "Cannot find wine ($WINE)" +fi + +test -d "$WINEPREFIX" || $WINE cmd /c echo yes > /dev/null 2>&1 +mkdir -p "$WINETRICKS_CACHE" +olddir=`pwd` +# Clean up after failed runs, if needed +rm -rf "$WINETRICKS_TMP"/* + +# The folder-name is localized! +programfilesdir_win="`unset WINEDEBUG; $WINE cmd.exe /c echo "%ProgramFiles%"`" +test x"$programfilesdir_win" != x || die "$WINE cmd.exe /c echo '%ProgramFiles%' returned empty string" +programfilesdir_unix="`unset WINEDEBUG; $WINE winepath -u "$programfilesdir_win"`" +test x"$programfilesdir_unix" != x || die "winepath -u $programfilesdir_win returned empty string" + +# (Fixme: get fonts path from SHGetFolderPath +# See also http://blogs.msdn.com/oldnewthing/archive/2003/11/03/55532.aspx) +# +# Did the user rename Fonts to fonts? +if test ! -d "$WINDIR"/Fonts && test -d "$WINDIR"/fonts +then + winefontsdir="$WINDIR"/fonts +else + winefontsdir="$WINDIR"/Fonts +fi + +# Mac folks tend to not have sha1sum, but we can make do with openssl +if [ -x "`which sha1sum`" ] +then + SHA1SUM="sha1sum" +elif [ -x "`which openssl`" ] +then + SHA1SUM="openssl dgst -sha1" +else + die "No sha1sum utility available." +fi + +if [ ! -x "`which cabextract`" ] +then + die "Cannot find cabextract. Please install it (e.g. 'sudo apt-get install cabextract' or 'sudo yum install cabextract')." +fi + +if [ ! -x "`which unzip`" ] +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 case $1 in -q) WINETRICKS_QUIET="/q" + WINETRICKS_QUIET_T="/qt" # Microsoft Control Pad WINETRICKS_UNIXQUIET="-q" WINETRICKS_SILENT="/silent" WINETRICKS_S="/S" # for NSIS installers @@ -1890,12 +2144,16 @@ do controlpad|fm20) load_controlpad;; d3dx9) load_d3dx9;; dcom98) load_dcom98;; + dinput8) load_dinput8;; dirac|dirac0.8) load_dirac08;; + directplay|dxplay|dplay) load_directplay;; directx9) load_directx9;; divx) load_divx;; dotnet1|dotnet11) load_dotnet11; load_fontfix;; dotnet2|dotnet20) load_dotnet20; load_fontfix;; - firefox|firefox3) load_firefox3;; + dotnet3|dotnet30) load_dotnet30; load_fontfix;; + droid) load_droid;; + firefox|firefox3) load_firefox;; ffdshow) load_ffdshow;; flash) load_flash;; fontfix) load_fontfix;; @@ -1929,10 +2187,12 @@ do msxml6) load_msxml6;; ogg) load_ogg;; ole2) load_ole2;; + openwatcom|watcom) load_openwatcom;; pdh) load_pdh;; quicktime72) load_quicktime72;; riched20) load_riched20;; riched30) load_riched30;; + shockwave) load_shockwave;; tahoma) load_tahoma;; urlmon) load_urlmon;; vbrun200|vb2run) load_vb2run;; @@ -1952,6 +2212,7 @@ do wme9) load_wme9;; wmp9) load_vcrun6; load_wsh56; load_wmp9;; wmp10) load_vcrun6; load_wsh56; load_wmp10;; + wenquanyi) load_wenquanyi;; wsh56) load_vcrun6; load_wsh56;; wsh56js) load_wsh56js;; wsh56vb) load_wsh56vb;; @@ -1959,7 +2220,7 @@ do xvid) load_xvid;; fakeie6) set_fakeie6;; - allfonts) load_corefonts; load_tahoma; load_liberation;; + allfonts) load_corefonts; load_tahoma; load_liberation; load_droid; load_wenquanyi;; allvcodecs|allcodecs) load_vcrun6; load_ffdshow; load_xvid; load_icodecs;; nt40|winver=nt40) set_winver nt40;; win98|winver=win98) set_winver win98;; @@ -1974,7 +2235,7 @@ do *) echo Unknown arg $1; usage ; exit 1;; esac # Provide a bit of feedback - test "$WINETRICKS_QUIET" = "" && case $1 in + test "$WINETRICKS_QUIET" = "" && case $1 in -q) echo Setting quiet mode;; -v) echo Setting verbose mode;; *) echo "Install of $1 done" ;;