diff --git a/_service b/_service index b1b48de..7f4e915 100644 --- a/_service +++ b/_service @@ -3,7 +3,7 @@ @PARENT_TAG@ v(.*) https://github.com/wine-staging/wine-staging.git - refs/tags/v3.9 + refs/tags/v3.10 v*.* git @@ -11,7 +11,7 @@ @PARENT_TAG@ wined3d9(.*) https://github.com/sarnex/wine-d3d9-patches.git - refs/tags/wine-d3d9-3.8 + refs/tags/wine-d3d9-3.10 git diff --git a/wine-3.10.tar.xz b/wine-3.10.tar.xz new file mode 100644 index 0000000..b377658 --- /dev/null +++ b/wine-3.10.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7505cc79c7cd8950f1a46ecfcc0ae2ecc71717ce85414846264395b1e7ac6b5 +size 20485784 diff --git a/wine-3.10.tar.xz.sign b/wine-3.10.tar.xz.sign new file mode 100644 index 0000000..5f65206 --- /dev/null +++ b/wine-3.10.tar.xz.sign @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAlseuv8ACgkQzvrI6q8X +UZ1b0BAApFONNM2qG8z5LhbUZ1k+JHlHy3ymQ07Mr6UKHzBt3T9ObalVR8YkuLoX +hExb5Zgly43D2vrNqqcztPCw07rhnmf1VaSvDxXxsKcuuorA7xa8xfjDeVyDNlb3 +xetsXHKN4ncxvCY6mm7YRqYgQYA2pVPp0sUiQptTB8Kk/Yl3TTYdSLZ6HfEE/xTu +p0QE7HUBYfhuwZVToUlkgSzd8rWbmLg8kRaWvZ9YcMIjn1BMZROHuYOLANZ0mFBo +wGza96F98a4UxAZNHANyU7dOgxGPCJKVCRQ9JeiJoOehsks1WWMct+/+GMSGqMVw +R+Ofl+/jvpWPhwHQjriOC6EQqHeYznXyJ/wYu4rsiDvnaadpyLl8sqwt3FN80B5F +LBXhDP/WaepNFw9/enjMu+cKEGa/vSOJtLJQSnU9KuAmuyQOg6GNUaG5hlQbZQdY +KCPNGLjkZ9ulLN7DzcSiMWvm91AnyC7mGbSYFtg8i6KSvf3MnhDh+UndNg/HSSMq +hk2f233dbzPbsmdQSdfWCKUJM3IwHkGOn3EExdVcg1/1OZqXD6C1JkSmY5rMYjbU +YY5jwUORXIHNcQI5xH1vOAazRDdZK7UQ+Jdt1kRIn9l2QG/8JWXXmpZo8L4+JdUd +DC8g6C+stSgnCEpmo10Oz4Kd57Z9j/r1tTNjIlgC2nArcpFJBzg= +=rcmE +-----END PGP SIGNATURE----- diff --git a/wine-3.9.tar.xz b/wine-3.9.tar.xz deleted file mode 100644 index b314c01..0000000 --- a/wine-3.9.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ccadc281966d5a94f1161dec22d29bf7bd6506b371b26f18f652d374e986b735 -size 20508952 diff --git a/wine-3.9.tar.xz.sign b/wine-3.9.tar.xz.sign deleted file mode 100644 index 3e8a26f..0000000 --- a/wine-3.9.tar.xz.sign +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAlsIWJQACgkQzvrI6q8X -UZ3ZnRAAsUA/KHVKtpUmhfH98OKe1JED4Y2bMZg+g9ShAJP9Y5RarciU4vjKLG0H -vNaPk9xYh46gnH5gu1VWy7muXR0Ivut1tEupHG3aHv/qYE01NwZZQcfQmqT9ShJp -RGevBcmxb6p3fCyO+nbFi443VINVxGq81zd/dVNzat3PL0xp8TJ9dUSBjnbTB/c9 -x5s3pAIRnIjFX3NaySGRpUcPGV+ftnXJf8uywg3/TZCzFPTpS1Yq+EF3NaLrAJh5 -JZrHh8O4DpIiNJHbQHRxyWk2+3Hc6HykG3mwP0Kd71y+M+9osJE65skLgBJaBgCH -45bhShVoqbqNqRroRo8kL08jwQQMekTQnw4wRdSbigS8Sxu8HOfjt+YL36bwJEvC -hKT4MQz3kszSMnkWYQzM5qTgxX64QoDmWaFMJyTSRzhrUW1nakYsAFqAMaiE76tC -7mVZtihqnnM143B1AWkn9u8KJSbMhBn2TTHdB7zucBTJx4PNeNB/FrWuweInf04x -qs/cor+hMED/Ei0iwdQOTCW664gl4dVUQa+n7dpMJwrQfw+X6B/CLDHp0COQ5ID5 -EM5QBVuW2mrj0kw9KmLAoCrtxA3LF/4SWMD0ZjPm4UJbO6g94365N2C8tw1eGvk0 -jU/QNcdAFl4QqXHMwbthGE0tHuAW9fXhsQEJFDG2ehiqpWrgY4U= -=Ij95 ------END PGP SIGNATURE----- diff --git a/wine-d3d9-patches-3.10.tar.xz b/wine-d3d9-patches-3.10.tar.xz new file mode 100644 index 0000000..300cabc --- /dev/null +++ b/wine-d3d9-patches-3.10.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:903a22c9189e498728ddb953c5d4db109716847ff574ee966e0415a0325c9fbd +size 42272 diff --git a/wine-d3d9-patches-3.8.tar.xz b/wine-d3d9-patches-3.8.tar.xz deleted file mode 100644 index 03a8fd8..0000000 --- a/wine-d3d9-patches-3.8.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3489a6bdcead24875e5ba0457746d903c1af42f17df8c411e91f8bf390784109 -size 42372 diff --git a/wine-staging-3.10.tar.xz b/wine-staging-3.10.tar.xz new file mode 100644 index 0000000..bd86a08 --- /dev/null +++ b/wine-staging-3.10.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a06a9ded4ef870bbdd6cc9e82071b5d0823fba92e5c8505aec5051ae5943d95 +size 7525300 diff --git a/wine-staging-3.9.tar.xz b/wine-staging-3.9.tar.xz deleted file mode 100644 index 324d201..0000000 --- a/wine-staging-3.9.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a9c786cf29d855d8b6ee87a1f097108ffb69125a81a905287f421e87968ea915 -size 7516568 diff --git a/wine.changes b/wine.changes index 56b2d3d..2c1cf89 100644 --- a/wine.changes +++ b/wine.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Mon Jun 11 18:50:48 UTC 2018 - meissner@suse.com + +- Update to 3.10 development release + - Swapchain support in Direct 3D 12. + - Vulkan support updated to the latest spec. + - Debugger support for Wow64 processes. + - Still more support for the Task Scheduler. + - Various bug fixes. +- updated winetricks +- updated staging to 3.10 + ------------------------------------------------------------------- Thu Jun 7 11:41:33 UTC 2018 - guillaume.gardet@opensuse.org diff --git a/wine.spec b/wine.spec index bd40d77..3041f21 100644 --- a/wine.spec +++ b/wine.spec @@ -104,8 +104,8 @@ BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(xxf86vm) BuildRequires: pkgconfig(zlib) -%define realver 3.9 -Version: 3.9 +%define realver 3.10 +Version: 3.10 Release: 0 Summary: An MS Windows Emulator License: LGPL-2.1-or-later @@ -143,7 +143,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %{ix86} x86_64 ppc %arm aarch64 %if %{staging} # upstream patch target version -%define staging_version 3.9 +%define staging_version 3.10 Source100: wine-staging-%{staging_version}.tar.xz BuildRequires: gtk3-devel BuildRequires: libOSMesa-devel @@ -151,7 +151,7 @@ BuildRequires: libva-devel %endif %if %{nine} # upstream patch target version -%define nine_version 3.8 +%define nine_version 3.10 BuildRequires: Mesa-libd3d-devel BuildRequires: dri2proto-devel BuildRequires: libOSMesa-devel diff --git a/winetricks b/winetricks index 24a8fb7..cf552af 100644 --- a/winetricks +++ b/winetricks @@ -6,7 +6,7 @@ # Name of this version of winetricks (YYYYMMDD) # (This doesn't change often, use the sha256sum of the file when reporting problems) -WINETRICKS_VERSION=20180513-next +WINETRICKS_VERSION=20180603-next # This is a UTF-8 file # You should see an o with two dots over it here [รถ] @@ -36,6 +36,7 @@ WINETRICKS_VERSION=20180513-next # for the user when downloads cannot be fully automated. # - pkexec, sudo, or kdesu (gksu/gksudo/kdesudo are deprecated upstream but also still supported) # are used to mount .iso images if the user cached them with -k option. +# - fuseiso, archivemount (Linux), or hdiutil (macOS) is used to mount .iso images. # - perl is used to munge steam config files. # - torify is used with option "--torify" if sites are blocked in single countries. # On Ubuntu, the following lines can be used to install all the prerequisites: @@ -1792,27 +1793,56 @@ w_umount() w_try_cd "$VCD_DIR" w_try vcdmount.exe /u else - echo "Running $WINETRICKS_SUDO umount $W_ISO_MOUNT_ROOT" + if test "$W_USE_USERMOUNT"; then + # FUSE-based tools or hdiutil + if test -d "$W_ISO_USER_MOUNT_ROOT"; then + "$WINE" eject "${W_ISO_MOUNT_LETTER}:" + cat > "$W_TMP"/unset_type_cdrom.reg <<_EOF_ +REGEDIT4 - case "$WINETRICKS_SUDO" in - gksu*|kdesudo) - # -l lazy unmount in case executable still running - "$WINETRICKS_SUDO" "umount -l $W_ISO_MOUNT_ROOT" - w_try "$WINETRICKS_SUDO" "rm -rf $W_ISO_MOUNT_ROOT" - ;; - kdesu) - "$WINETRICKS_SUDO" -c "umount -l $W_ISO_MOUNT_ROOT" - w_try "$WINETRICKS_SUDO" -c "rm -rf $W_ISO_MOUNT_ROOT" - ;; - *) - "$WINETRICKS_SUDO" umount -l "$W_ISO_MOUNT_ROOT" - w_try "$WINETRICKS_SUDO" rm -rf "$W_ISO_MOUNT_ROOT" - ;; - esac +[HKEY_LOCAL_MACHINE\\Software\\Wine\\Drives] +"${W_ISO_MOUNT_LETTER}:"=- +_EOF_ + w_try_regedit "$W_TMP"/unset_type_cdrom.reg + rm -f "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}:" + rm -f "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}::" - "$WINE" eject "${W_ISO_MOUNT_LETTER}:" - rm -f "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}:" - rm -f "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}::" + case "$WINETRICKS_ISO_MOUNT" in + hdiutil) + "$WINETRICKS_ISO_MOUNT" detach "$W_ISO_USER_MOUNT_ROOT" + ;; + *) + # -uz lazy unmount in case executable still running + fusermount -uz "$W_ISO_USER_MOUNT_ROOT" + ;; + esac + w_try rmdir "$W_ISO_USER_MOUNT_ROOT" + fi + W_ISO_MOUNT_ROOT=/mnt/winetricks + else + # sudo + umount + echo "Running $WINETRICKS_SUDO umount $W_ISO_MOUNT_ROOT" + + case "$WINETRICKS_SUDO" in + gksu*|kdesudo) + # -l lazy unmount in case executable still running + "$WINETRICKS_SUDO" "umount -l $W_ISO_MOUNT_ROOT" + w_try "$WINETRICKS_SUDO" "rm -rf $W_ISO_MOUNT_ROOT" + ;; + kdesu) + "$WINETRICKS_SUDO" -c "umount -l $W_ISO_MOUNT_ROOT" + w_try "$WINETRICKS_SUDO" -c "rm -rf $W_ISO_MOUNT_ROOT" + ;; + *) + "$WINETRICKS_SUDO" umount -l "$W_ISO_MOUNT_ROOT" + w_try "$WINETRICKS_SUDO" rm -rf "$W_ISO_MOUNT_ROOT" + ;; + esac + + "$WINE" eject "${W_ISO_MOUNT_LETTER}:" + rm -f "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}:" + rm -f "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}::" + fi fi } @@ -2830,6 +2860,9 @@ w_do_call() test "$W_OPT_NOCLEAN" = 1 || rm -rf "$W_TMP" mkdir -p "$W_TMP" + # Reset whether use of user mount tool + unset W_USE_USERMOUNT + # Calling subshell must explicitly propagate error code with exit $? ) || exit $? } @@ -3220,6 +3253,31 @@ winetricks_detect_sudo() fi } +# Detect which iso mount tool to use +winetricks_detect_iso_mount() +{ + if test -x "$(which fuseiso 2>/dev/null)"; then + # File/dir names are converted to lowercase + WINETRICKS_ISO_MOUNT=fuseiso + elif test -x "$(which archivemount 2>/dev/null)"; then + # File/dir names may be uppercase and we may need + # case-insensitive operations + # e.g. w_try "$WINE" cmd /c "copy $W_ISO_MOUNT_LETTER:\\DOC.PDF C:\\doc.pdf" + # This tool had path issue in 0.8.8 or older versions + # e.g. office2013pro works in 0.8.9 or later but doesn't work in 0.8.8 + WINETRICKS_ISO_MOUNT=archivemount + elif test -x "$(which hdiutil 2>/dev/null)"; then + # File/dir names may be uppercase (same as archivemount) + WINETRICKS_ISO_MOUNT=hdiutil + else + WINETRICKS_ISO_MOUNT=none + fi + # Notes about other tools: + # fuseiso9660: may append ";1" to filenames + # unar: the drive icon is not "optical drive + disc" in Wine Explorer + # and "wine eject" command fails +} + winetricks_get_prefix_var() { ( @@ -4511,31 +4569,94 @@ winetricks_mount_cached_iso() sleep 1 done else - # Linux - # FIXME: find a way to mount or copy from image without sudo - _W_USERID=$(id -u) - # WINETRICKS_IMG may contain spaces and needs to be quoted - case "$WINETRICKS_SUDO" in - gksu*|kdesudo) - w_try $WINETRICKS_SUDO "mkdir -p $W_ISO_MOUNT_ROOT" - w_try $WINETRICKS_SUDO "mount -o ro,loop,uid=$_W_USERID,unhide '$WINETRICKS_IMG' $W_ISO_MOUNT_ROOT" - ;; - kdesu) - w_try $WINETRICKS_SUDO -c "mkdir -p $W_ISO_MOUNT_ROOT" - w_try $WINETRICKS_SUDO -c "mount -o ro,loop,uid=$_W_USERID,unhide '$WINETRICKS_IMG' $W_ISO_MOUNT_ROOT" - ;; - *) - w_try $WINETRICKS_SUDO mkdir -p $W_ISO_MOUNT_ROOT - w_try $WINETRICKS_SUDO mount -o ro,loop,uid="$_W_USERID",unhide "$WINETRICKS_IMG" $W_ISO_MOUNT_ROOT - ;; - esac + if test "$W_USE_USERMOUNT"; then + # Linux (FUSE-based tools), macOS (hdiutil) + if test "$WINETRICKS_ISO_MOUNT" = "none"; then + # If no tools found, fall back to sudo + mount + w_warn "No user mount tools detected, using sudo + mount" + unset W_USE_USERMOUNT + winetricks_mount_cached_iso + return + fi + echo "Running mkdir -p $W_ISO_USER_MOUNT_ROOT" + mkdir -p "$W_ISO_USER_MOUNT_ROOT" + if test $? -ne 0; then + w_warn "mkdir -p $W_ISO_USER_MOUNT_ROOT failed, falling back to sudo + mount" + unset W_USE_USERMOUNT + winetricks_mount_cached_iso + return + fi + case "$WINETRICKS_ISO_MOUNT" in + fuseiso) + echo "Running $WINETRICKS_ISO_MOUNT $WINETRICKS_IMG $W_ISO_USER_MOUNT_ROOT" + $WINETRICKS_ISO_MOUNT "$WINETRICKS_IMG" "$W_ISO_USER_MOUNT_ROOT" + ;; + archivemount) + echo "Running $WINETRICKS_ISO_MOUNT $WINETRICKS_IMG $W_ISO_USER_MOUNT_ROOT -o readonly" + $WINETRICKS_ISO_MOUNT "$WINETRICKS_IMG" "$W_ISO_USER_MOUNT_ROOT" -o readonly + ;; + hdiutil) + echo "Running $WINETRICKS_ISO_MOUNT attach -mountpoint $W_ISO_USER_MOUNT_ROOT $WINETRICKS_IMG" + $WINETRICKS_ISO_MOUNT attach -mountpoint "$W_ISO_USER_MOUNT_ROOT" "$WINETRICKS_IMG" + ;; + *) + w_warn "Unknown ISO mount tool $WINETRICKS_ISO_MOUNT, using sudo + mount" + unset W_USE_USERMOUNT + winetricks_mount_cached_iso + return + ;; + esac + if test $? -ne 0; then + w_warn "$WINETRICKS_ISO_MOUNT failed, falling back to sudo + mount" + unset W_USE_USERMOUNT + winetricks_mount_cached_iso + return + fi - echo "Mounting as drive ${W_ISO_MOUNT_LETTER}:" - # Gotta provide a symlink to the raw disc, else installers that check volume names will fail - rm -f "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}:"* - ln -sf "$WINETRICKS_IMG" "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}::" - ln -sf "$W_ISO_MOUNT_ROOT" "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}:" - unset _W_USERID + echo "Mounting as drive ${W_ISO_MOUNT_LETTER}:" + # Gotta provide a symlink to the raw disc, else installers that check volume names will fail + rm -f "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}:"* + ln -sf "$WINETRICKS_IMG" "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}::" + ln -sf "$W_ISO_USER_MOUNT_ROOT" "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}:" + # Gotta set the type to "cdrom", else "wine eject" will fail + cat > "$W_TMP"/set_type_cdrom.reg <<_EOF_ +REGEDIT4 + +[HKEY_LOCAL_MACHINE\\Software\\Wine\\Drives] +"${W_ISO_MOUNT_LETTER}:"="cdrom" +_EOF_ + w_try_regedit "$W_TMP"/set_type_cdrom.reg + # The new drive is not recognized without waiting + # FIXME: not sure if the duration is appropriate + sleep 5 + + W_ISO_MOUNT_ROOT="$W_ISO_USER_MOUNT_ROOT" + else + # Linux (sudo + mount) + _W_USERID=$(id -u) + # WINETRICKS_IMG may contain spaces and needs to be quoted + case "$WINETRICKS_SUDO" in + gksu*|kdesudo) + w_try $WINETRICKS_SUDO "mkdir -p $W_ISO_MOUNT_ROOT" + w_try $WINETRICKS_SUDO "mount -o ro,loop,uid=$_W_USERID,unhide '$WINETRICKS_IMG' $W_ISO_MOUNT_ROOT" + ;; + kdesu) + w_try $WINETRICKS_SUDO -c "mkdir -p $W_ISO_MOUNT_ROOT" + w_try $WINETRICKS_SUDO -c "mount -o ro,loop,uid=$_W_USERID,unhide '$WINETRICKS_IMG' $W_ISO_MOUNT_ROOT" + ;; + *) + w_try $WINETRICKS_SUDO mkdir -p "$W_ISO_MOUNT_ROOT" + w_try $WINETRICKS_SUDO mount -o ro,loop,uid="$_W_USERID",unhide "$WINETRICKS_IMG" "$W_ISO_MOUNT_ROOT" + ;; + esac + + echo "Mounting as drive ${W_ISO_MOUNT_LETTER}:" + # Gotta provide a symlink to the raw disc, else installers that check volume names will fail + rm -f "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}:"* + ln -sf "$WINETRICKS_IMG" "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}::" + ln -sf "$W_ISO_MOUNT_ROOT" "$WINEPREFIX/dosdevices/${W_ISO_MOUNT_LETTER}:" + unset _W_USERID + fi fi } @@ -4821,10 +4942,16 @@ winetricks_set_wineprefix() # WINE64 = wine64, available on 64-bit prefixes # WINE_ARCH = the native wine for the prefix (wine for 32-bit, wine64 for 64-bit) # WINE_MULTI = generic wine, new name - case "$WINE" in - *64) WINE64="${WINE}" ;; - *) WINE64="${WINE}64" ;; - esac + if [ "${WINE%??}64" = "$WINE" ]; then + WINE64="${WINE}" + elif which "${WINE}64" >/dev/null 2>&1; then + WINE64="${WINE}64" + else + # Handle case where wine binaries (or binary wrappers) have a suffix + WINE64="$(dirname "$WINE")/" + [ "$WINE64" = "./" ] && WINE64="" + WINE64="${WINE64}$(basename "$WINE" | sed 's/^wine/wine64/')" + fi WINE_ARCH="${WINE64}" WINE_MULTI="${WINE}" @@ -5055,6 +5182,7 @@ winetricks_init() # Overridden for windows W_ISO_MOUNT_ROOT=/mnt/winetricks + W_ISO_USER_MOUNT_ROOT="$HOME"/winetricks-iso W_ISO_MOUNT_LETTER=i WINETRICKS_WINE_VERSION=${WINETRICKS_WINE_VERSION:-$(winetricks_early_wine --version | sed 's/.*wine/wine/')} @@ -5405,7 +5533,8 @@ load_adobeair() # 2017/03/14: 20.0.0.260 (strings 'Adobe AIR.dll' | grep 20\\. ) sha256sum 318770b9a18e59ca4a721a1f5c2b0235cffdbe77a043e99cb2af32074d61de45 # 2018/01/30: 28.0.0.127 (strings 'Adobe AIR.dll' | grep 28\\. ) sha256sum 9076489e273652089a4a53a1d38c6631e8b7477e39426a843e0273f25bfb109f # 2018/03/16: 29.0.0.112 (strings 'Adobe AIR.dll' | grep -E "^29\..+\..+" ) sha256sum 5186b54682644a30f2be61c9b510de9a9a76e301bc1b42f0f1bc50bd809a3625 - w_download https://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe 5186b54682644a30f2be61c9b510de9a9a76e301bc1b42f0f1bc50bd809a3625 + # 2018/06/08: 30.0.0.107 (strings 'Adobe AIR.dll' | grep -E "^30\..+\..+" ) sha256sum bcc36174f6f70baba27e5ed1c0df67e55c306ac7bc86b1d280eff4db8c314985 + w_download https://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe bcc36174f6f70baba27e5ed1c0df67e55c306ac7bc86b1d280eff4db8c314985 w_try_cd "$W_CACHE/$W_PACKAGE" # See https://bugs.winehq.org/show_bug.cgi?id=43506 @@ -6475,6 +6604,36 @@ load_dxsdk_jun2010() #---------------------------------------------------------------- +w_metadata dxvk dlls \ + title="Vulkan-based D3D11 implementation for Linux / Wine" \ + publisher="Philip Rebohle" \ + year="2018" \ + media="download" \ + file1="dxvk-0.54.tar.gz" \ + installed_file1="$W_SYSTEM32_DLLS_WIN/d3d11.dll" \ + installed_file2="$W_SYSTEM32_DLLS_WIN/dxgi.dll" + +load_dxvk() +{ + _W_dxvk_dir="${file1%.tar.gz}" + + # https://github.com/doitsujin/dxvk + w_download "https://github.com/doitsujin/dxvk/releases/download/v0.54/dxvk-0.54.tar.gz" 1c2f186baaa01d2de7b832f6f05021bdd29eccb65fc197c8b15adfd4e08f9640 + w_try_cd "$W_TMP" + w_try tar -zxf "$W_CACHE/$W_PACKAGE/$file1" + w_try mv "$W_TMP/$_W_dxvk_dir/x32/d3d11.dll" "$W_SYSTEM32_DLLS/" + w_try mv "$W_TMP/$_W_dxvk_dir/x32/dxgi.dll" "$W_SYSTEM32_DLLS/" + if test "$W_ARCH" = "win64"; then + w_try mv "$W_TMP/$_W_dxvk_dir/x64/d3d11.dll" "$W_SYSTEM64_DLLS/" + w_try mv "$W_TMP/$_W_dxvk_dir/x64/dxgi.dll" "$W_SYSTEM64_DLLS/" + fi + w_override_dlls native d3d11 dxgi + + unset _W_dxvk_dir +} + +#---------------------------------------------------------------- + w_metadata dmusic32 dlls \ title="MS dmusic32.dll from DirectX user redistributable" \ publisher="Microsoft" \ @@ -7597,14 +7756,15 @@ load_dotnet_verifier() { # https://blogs.msdn.microsoft.com/astebner/2008/10/13/net-framework-setup-verification-tool-users-guide/ # 2016/10/26: sha256sum 1daf4b1b27669b65f613e17814da3c8342d3bfa9520a65a880c58d6a2a6e32b5, adds .NET Framework 4.6.{1,2} support - # 2017/06/12: sha256sum , adds .NET Framework 4.7 support + # 2017/06/12: sha256sum 310a0341fbe68f5b8601f2d8deef5d05ca6bce50df03912df391bc843794ef60, adds .NET Framework 4.7 support + # 2018/06/03: sha256sum 13fd683fd604f9de09a9e649df303100b81e6797f868024d55e5c2f3c14aa9a6, adds .NET Framework 4.7.{1,2} support - w_download https://msdnshared.blob.core.windows.net/media/2017/11/netfx_setupverifier_new.zip 310a0341fbe68f5b8601f2d8deef5d05ca6bce50df03912df391bc843794ef60 + w_download https://msdnshared.blob.core.windows.net/media/2018/05/netfx_setupverifier_new.zip 13fd683fd604f9de09a9e649df303100b81e6797f868024d55e5c2f3c14aa9a6 w_try_cd "$W_CACHE/$W_PACKAGE" w_try_unzip "$W_SYSTEM32_DLLS" netfx_setupverifier_new.zip netfx_setupverifier.exe - w_warn "You can run the .Net Verifier with \"${WINE} netfx_setupverifier.exe\"" + w_warn "You can run the .NET Verifier with \"${WINE} netfx_setupverifier.exe\"" } #---------------------------------------------------------------- @@ -8116,7 +8276,7 @@ load_icodecs() # arguments easily accessible, we'd have to just kill all explorer.exe processes. # # So instead, use system kill - inode_pid="$(pgrep -f 'explorer.exe C:\\Program Files\\Ligos\\Indeo')" + inode_pid="$(pgrep -f "explorer.exe.*Indeo")" kill -HUP "$inode_pid" } @@ -9919,14 +10079,36 @@ w_metadata vulkansdk dlls \ year="2018" \ media="download" \ file1="VulkanSDK-1.1.73.0-Installer.exe" \ - installed_file1="C:/VulkanSDK/1.1.73.0/Vulkan.ico" + installed_file1="C:/VulkanSDK/1.1.73.0/Vulkan.ico" \ + installed_file2="C:/windows/winevulkan.json" load_vulkansdk() { + _W_vulkan_version="${file1%-*.exe}" + _W_vulkan_version="${_W_vulkan_version#*-}" # https://vulkan.lunarg.com/sdk/home w_download "https://sdk.lunarg.com/sdk/download/1.1.73.0/windows/VulkanSDK-1.1.73.0-Installer.exe?Human=true;u=" a5d193f97db4de97e6b4fdd81f00ff6a603f66bb17dc3cf8ac0fe9aec58497c7 VulkanSDK-1.1.73.0-Installer.exe w_try_cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" "$file1" $W_UNATTENDED_SLASH_S + echo "Creating C:\\windows\\winevulkan.json winevulkan json file" + cat > "$W_WINDIR_UNIX"/winevulkan.json <<_EOF_ +{ + "file_format_version": "1.0.0", + "ICD": { + "library_path": "c:\\\\windows\\\\system32\\\\winevulkan.dll", + "api_version": "$_W_vulkan_version" + } +} +_EOF_ + echo "Creating winevulkan registry settings" + cat > "$W_TMP"/winevulkan.reg <<_EOF_ +REGEDIT4 + +[HKEY_LOCAL_MACHINE\\SOFTWARE\\Khronos\\Vulkan\\Drivers\\] +"C:\\\\Windows\\\\winevulkan.json"=dword:00000000 + +_EOF_ + w_try_regedit "$W_TMP_WIN"\\winevulkan.reg } #---------------------------------------------------------------- @@ -10057,9 +10239,10 @@ load_wmi() # WMI for NT4.0 need validation: https://www.microsoft.com/en-us/download/details.aspx?id=7665 # See also https://www.microsoft.com/en-us/download/details.aspx?id=16510 # Originally at: https://download.microsoft.com/download/platformsdk/wmi9x/1.5/W9X/EN-US/wmi9x.exe - # 2017/10/14: ftp://59.124.141.94 is dead - # Mirror list: http://www.filewatcher.com/_/?q=wmi9x.exe - w_download ftp://82.162.138.211/pub/Install/Microsoft/Win9x/Update/wmi9x.exe 1d5d94050354b164c6a19531df151e0703d5eb39cebf4357ee2cfc340c2509d0 + # Mirror list: https://filemare.com/en-us/search/wmi9x.exe/761569271 + # 2017/10/14: ftp://59.124.141.94 is dead, using ftp://82.162.138.211 + # 2018/06/03: ftp://82.162.138.211 is dead, moved to ftp://ftp.espe.edu.ec + w_download ftp://ftp.espe.edu.ec/Drivers/Drivers%20SHARP/DISC%201/Sharpdesk/Redist/Esp/WMI/wmi9x.exe 1d5d94050354b164c6a19531df151e0703d5eb39cebf4357ee2cfc340c2509d0 w_set_winver win98 w_override_dlls native,builtin wbemprox wmiutils @@ -12327,6 +12510,24 @@ _EOF_ w_try_regedit "$W_TMP_WIN"\\MaxVersionGL.reg fi + case "$WINETRICKS_ISO_MOUNT" in + # archivemount > 0.8.8: works + # archivemount <= 0.8.8: cannot finish installation due to path issue + archivemount) + _W_last_bad_ver=0.8.8 + _W_tool_ver="$(archivemount --version 2>&1 | head -n 1 | cut -d ' ' -f3)" + _W_pos_am_ver="$(printf "%s\\n%s" "${_W_tool_ver}" "${_W_last_bad_ver}" | sort -t. -k 1,1n -k 2,2n -k 3,3n | grep -n "^${_W_tool_ver}\$" | cut -d : -f1 | head -n 1)" + if test "$_W_pos_am_ver" = "2"; then + W_USE_USERMOUNT=1 + else + w_warn "archivemount <= $_W_last_bad_ver has path issue and cannot be used." + fi + unset _W_last_bad_ver _W_tool_ver _W_pos_am_ver + ;; + # fuseiso: works + # hdiutil: partially tested (only mounting/unmounting and copying files) + *) W_USE_USERMOUNT=1 ;; + esac w_mount OFFICE15 if test $W_OPT_UNATTENDED; then @@ -12777,7 +12978,8 @@ w_metadata steam apps \ load_steam() { # 2016/10/28: 029f918a29b2b311711788e8a477c8de529c11d7dba3caf99cbbde5a983efdad - w_download http://media.steampowered.com/client/installer/SteamSetup.exe 029f918a29b2b311711788e8a477c8de529c11d7dba3caf99cbbde5a983efdad + # 2018/06/01: 3bc6942fe09f10ed3447bccdcf4a70ed369366fef6b2c7f43b541f1a3c5d1c51 + w_download http://media.steampowered.com/client/installer/SteamSetup.exe 3bc6942fe09f10ed3447bccdcf4a70ed369366fef6b2c7f43b541f1a3c5d1c51 w_try_cd "$W_CACHE/$W_PACKAGE" # Should be fixed in newer steam versions, since 2012. Commenting out for a while before removing in case users need to revert locally @@ -12795,16 +12997,16 @@ load_steam() run, SteamSetup.exe SetTitleMatchMode, 2 WinWait, Steam, Using Steam - ControlClick, Button2 - WinWait, Steam, Please review - ControlClick, Button4 sleep 1000 ControlClick, Button2 WinWait, Steam, Select the language + sleep 1000 ControlClick, Button2 WinWait, Steam, Choose the folder + sleep 1000 ControlClick, Button2 WinWait, Steam, Steam has been installed + sleep 1000 ControlClick, Button4 sleep 1000 ControlClick, Button2 @@ -12818,6 +13020,15 @@ load_steam() if w_workaround_wine_bug 22053 "Disabling gameoverlayrenderer to prevent game crashes on some machines."; then w_override_dlls disabled gameoverlayrenderer fi + if w_workaround_wine_bug 39403 "Force Steam/Steamwebhelper Client to Windows XP compatibility, to workaround store/web no longer working."; then + if [ "$W_ARCH" = "win64" ]; then + w_set_app_winver steam.exe winxp64 + w_set_app_winver steamwebhelper.exe winxp64 + else + w_set_app_winver steam.exe winxp + w_set_app_winver steamwebhelper.exe winxp + fi + fi } #---------------------------------------------------------------- @@ -15547,9 +15758,12 @@ load_eve() # https://community.eveonline.com/support/download/ w_download https://binaries.eveonline.com/EveLauncher-1104888.exe d1d66ea0a0e4a476a926307dcdb3d7b5e777d7cff7feb172ce7779dac9fdae8f + if test "$W_OPT_UNATTENDED"; then + w_warn "Quiet mode doesn't work with latest eve update, button names don't appear in AHK." + fi + w_try_cd "$W_CACHE/$W_PACKAGE" w_ahk_do " - # FIXME: doesn't work with latest update, button names don't appear in AHK? run, $file1 WinWait, EVE Online if ( w_opt_unattended > 0 ) { @@ -15754,7 +15968,7 @@ load_fifa11_demo() w_metadata hon games \ title="Heroes of Newerth" \ publisher="S2 Games" \ - year="2013" \ + year="2018" \ media="download" \ file1="HoNClient.exe" \ installed_exe1="$W_PROGRAMS_X86_WIN/Heroes of Newerth/hon.exe" @@ -15762,7 +15976,8 @@ w_metadata hon games \ load_hon() { # 2017/03/28: 0f3c3431a88964647fc4d9540490e43afedc2e48573c260892882ecf48172317 - w_download http://dl.heroesofnewerth.com/installers/win32/HoNClient.exe 0f3c3431a88964647fc4d9540490e43afedc2e48573c260892882ecf48172317 + # 2018/06/03: d4c82a3c5fdaee193675838e2fe6ade6b9fcdc4bdaf57848300c0eb09e71a945 + w_download http://dl.heroesofnewerth.com/installers/win32/HoNClient.exe d4c82a3c5fdaee193675838e2fe6ade6b9fcdc4bdaf57848300c0eb09e71a945 w_try_cd "$W_CACHE/$W_PACKAGE" w_ahk_do " @@ -19696,6 +19911,7 @@ then # No non-option arguments given, so read them from GUI, and loop until user quits winetricks_detect_gui winetricks_detect_sudo + test -z "$WINETRICKS_ISO_MOUNT" && winetricks_detect_iso_mount while true do case $WINETRICKS_CURMENU in @@ -19756,6 +19972,7 @@ then winetricks_stats_init # Command-line case winetricks_detect_sudo + test -z "$WINETRICKS_ISO_MOUNT" && winetricks_detect_iso_mount # User gave command-line arguments, so just run those verbs and exit for verb; do case $verb in diff --git a/winetricks.1 b/winetricks.1 index 227ac80..f80ad14 100644 --- a/winetricks.1 +++ b/winetricks.1 @@ -1,5 +1,5 @@ .\" -*- nroff -*- -.TH WINETRICKS 1 "May 2018" "Winetricks 20180513" "Wine Package Manager" +.TH WINETRICKS 1 "June 2018" "Winetricks 20180603" "Wine Package Manager" .SH NAME winetricks \- manage virtual Windows environments using Wine .SH SYNOPSIS