From f76d7c86052e1fc66757e60dde0b9820e0767b267b9265ff33ac6607fa3d1631 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Fri, 3 Mar 2017 21:16:34 +0000 Subject: [PATCH] - Update to 2.3 development snapshot - Obsolete wineinstall script removed. - More Direct3D command stream work. - A few more Shader Model 5 instructions. - Better underline rendering in DirectWrite. - Improved ODBC support on 64-bit. - Various bug fixes. - updated winetricks OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=404 --- wine-2.2.tar.xz | 3 - wine-2.2.tar.xz.sign | 16 ---- wine-2.3.tar.xz | 3 + wine-2.3.tar.xz.sign | 16 ++++ wine.changes | 12 +++ wine.spec | 4 +- winetricks | 173 ++++++++++++++++++++++++++++++++++--------- 7 files changed, 169 insertions(+), 58 deletions(-) delete mode 100644 wine-2.2.tar.xz delete mode 100644 wine-2.2.tar.xz.sign create mode 100644 wine-2.3.tar.xz create mode 100644 wine-2.3.tar.xz.sign diff --git a/wine-2.2.tar.xz b/wine-2.2.tar.xz deleted file mode 100644 index ffe13c2..0000000 --- a/wine-2.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:64cb57e1d8aa07f5c89ef26743b494f2d3ef9c0f4e50d3ee896a93535f7751f4 -size 18916364 diff --git a/wine-2.2.tar.xz.sign b/wine-2.2.tar.xz.sign deleted file mode 100644 index 0563f69..0000000 --- a/wine-2.2.tar.xz.sign +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAlinXs4ACgkQzvrI6q8X -UZ3M2xAAjTQfjjqvg/0SFlqVN4dVBJww8rdfGAplfFx5u+eLzDuwpPar6fWP1avM -fFT0dz88K2ygsZZD33xgLi9uuujY9y1sj6ZS9kx1z4Lc8+a/bo3XIXaC/Ehb3HSC -bSPp4y8fRHWL6Ca+q+S5hm5TvtyIq0ey/wtLTUsLPotb0F60wKMncpU3suOmqsUV -Wz137MJpQqNXcDceco4tL5nN96Fa6iVW9+xXymsQH+iGPfpu4pnQtJPtq5cCWu5M -7ZpDrDWTwaxMYYwmvVy2kUpYIw8Rb/KWnq3IxDV2LP1nnogziBOh6/hoAsNerMPk -4eEAlr5Sy6V8ZRCK0Hpb3xgvp9oJtdlmGzCds/Qm1IKvjL+ln4fGfn1a7GPcoLcn -M9Wv0xyugVjwUZSyHvHLmRudi1nT7nvmLyvL6wccXSmjOnatS/oPKafi6qLMaVgb -OCQj4G72yXwsr54gmzvpYNdBCuFiUFlZVcs4CVtFQLNJ1hKv1Hti8XnnUfUXOhSn -LFKx2ry2kFfQjxMdAlibR2DKL/GtvReC6yV6HOhu16nQsMeo4Ylem7nn0igo1MpR -C9lTp9IDOGP00DIXOcu32yUD1bCnfnfUr5do/MYNcxPBrCVhlnDyiRxu5FsOHz7C -TIUmu5Y7Wd2BQE/0l7KfvkVyasLGIaGTB5dJXQ4AiOtn7hM0fwQ= -=UeLb ------END PGP SIGNATURE----- diff --git a/wine-2.3.tar.xz b/wine-2.3.tar.xz new file mode 100644 index 0000000..a1678b4 --- /dev/null +++ b/wine-2.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:afc95c7a87cc8f0730b462c50a5dfc9c462eb02c6bf5874b4fa99946f49e067e +size 18931732 diff --git a/wine-2.3.tar.xz.sign b/wine-2.3.tar.xz.sign new file mode 100644 index 0000000..c89b713 --- /dev/null +++ b/wine-2.3.tar.xz.sign @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAli5z+0ACgkQzvrI6q8X +UZ2Qsg//Wexnm0py2DKqFsj6u1SSQFJBuVSGKLuuycIUec5BZpyavIu+oIO4mQAx +OKoantQtHCIzjA9jME7+EzPb21mpVk9+mw3cwuureSEpZQ9ZzXkxpug9l+vThUfU +pILtx1N1EEzHy5Z0qgaxDX9mriwDQfy0Eiy2wAtdspRBcPYbYSWvIJp5iW9EBce5 +G6mHShkP2JI3854UrYf1tDZ6ywsxbzYNYnPS7QwtEWrSZijVHR1CfFuoY57/L5JB +PV5G2UfX4Xz0IiPYzMrV3wAU6GdGPG/GhW96TVG+gMGImqcX1LLlHPkKAe0jt2MP +xZyWHcmHGO8Z82Ptumm7jz1o4BzHyq5rZPjp/oc0MGi71Cmr2ThGlnuuP0GJ5273 +8pt77ZMO4xfIpNRhsss+8ZkF6B/Uwwki75rz9nv+1NBQZgxQrrELfshldYQMBovU +Kobgk/nPRB6kFXaER0jCaVA9FwumV4ELA0LxqbIQLJTHTMOL0ne9hb87sC+mneIL +3a1Cwqnv+/3qwQCaQUFB9npw+644FVHwU9oN8ZxcGdVIVZ0egf6WKxhQZXnGXmPq +yCn/WFazDVn2sALtApBrWhjTSnH1EZ3LJ2nGrj9EB52YizKgO8W7H18xbdXL4PwZ +MUVKQYBOMBI3yiwuAQqhJAJ5cnhG/U5bDxtRpXx3qfjOkt9M2NA= +=f5Co +-----END PGP SIGNATURE----- diff --git a/wine.changes b/wine.changes index 4888740..ef88c1d 100644 --- a/wine.changes +++ b/wine.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Fri Mar 3 21:14:23 UTC 2017 - meissner@suse.com + +- Update to 2.3 development snapshot + - Obsolete wineinstall script removed. + - More Direct3D command stream work. + - A few more Shader Model 5 instructions. + - Better underline rendering in DirectWrite. + - Improved ODBC support on 64-bit. + - Various bug fixes. +- updated winetricks + ------------------------------------------------------------------- Fri Feb 17 21:04:31 UTC 2017 - meissner@suse.com diff --git a/wine.spec b/wine.spec index 21068c2..0808c18 100644 --- a/wine.spec +++ b/wine.spec @@ -54,8 +54,8 @@ BuildRequires: update-desktop-files BuildRequires: valgrind-devel BuildRequires: xorg-x11-devel BuildRequires: pkgconfig(libudev) -%define realver 2.2 -Version: 2.2 +%define realver 2.3 +Version: 2.3 Release: 0 Summary: An MS Windows Emulator License: LGPL-2.1+ diff --git a/winetricks b/winetricks index 70f8be7..28c5397 100644 --- a/winetricks +++ b/winetricks @@ -27,9 +27,11 @@ WINETRICKS_VERSION=20170207 # Uses the following non-POSIX system tools: # - wine is used to execute Win32 apps except on Cygwin. # - ar, cabextract, unrar, unzip, and 7z are needed by some verbs. -# - aria2c, wget, or curl is needed for downloading. -# - sha1sum or openssl is needed for verifying downloads. -# - zenity is needed by the GUI, though it can limp along somewhat with kdialog. +# - aria2c, wget, curl, or fetch is needed for downloading. +# - sha1sum, sha1, or shasum is needed for verifying downloads (or openssl for OSX 10.5) +# - Note: there is a transition to sha256 under way, which requires +# - sha256sum, sha256, or shasum (OSX 10.5 does not support these, and is considered deprecated) +# - zenity is needed by the GUI, though it can limp along somewhat with kdialog/xmessage. # - xdg-open (if present) or open (for OS X) is used to open download pages # for the user when downloads cannot be fully automated. # - sudo is used to mount .iso images if the user cached them with -k option. @@ -46,7 +48,7 @@ WINETRICKS_VERSION=20170207 # # Copyright: # Copyright (C) 2007-2014 Dan Kegel -# Copyright (C) 2008-2016 Austin English +# Copyright (C) 2008-2017 Austin English # Copyright (C) 2010-2011 Phil Blankenship # Copyright (C) 2010-2015 Shannon VanWagner # Copyright (C) 2010 Belhorma Bendebiche @@ -560,7 +562,7 @@ w_expand_env() winetricks_early_wine cmd.exe /c echo "%$1%" } -# get sha1sum string and set $_W_gotsum to it +# get sha1sum string and set $_W_gotsha1um to it w_get_sha1sum() { _W_sha1_file="$1" @@ -569,25 +571,56 @@ w_get_sha1sum() # User is running winetricks from /dev/stdin if [ -f "$_W_sha1_file" ] || [ -h "$_W_sha1_file" ] then - _W_gotsum=$($WINETRICKS_SHA1SUM < "$_W_sha1_file" | sed 's/(stdin)= //;s/ .*//') + _W_gotsha1sum=$($WINETRICKS_SHA1SUM < "$_W_sha1_file" | sed 's/(stdin)= //;s/ .*//') else w_warn "$_W_sha1_file is not a regular file, not checking sha1sum" return fi } -# verify an sha1sum +# get sha256sum string and set $_W_gotsha256sum to it +w_get_sha256sum() +{ + _W_sha256_file="$1" + + # See https://github.com/Winetricks/winetricks/issues/645 + # User is running winetricks from /dev/stdin + if [ -f "$_W_sha256_file" ] || [ -h "$_W_sha256_file" ] + then + _W_gotsha256sum=$($WINETRICKS_SHA256SUM < "$_W_sha256_file" | sed 's/(stdin)= //;s/ .*//') + else + w_warn "$_W_sha256_file is not a regular file, not checking sha1sum" + return + fi +} + +# verify a sha1sum w_verify_sha1sum() { _W_vs_wantsum=$1 _W_vs_file=$2 w_get_sha1sum "$_W_vs_file" - if [ "$_W_gotsum"x != "$_W_vs_wantsum"x ] + if [ "$_W_gotsha1sum"x != "$_W_vs_wantsum"x ] then w_die "sha1sum mismatch! Rename $_W_vs_file and try again." fi - unset _W_vs_wantsum _W_vs_file _W_gotsum + unset _W_vs_wantsum _W_vs_file _W_gotsha1sum +} + +# verify a sha256sum +w_verify_sha256sum() +{ + set -x + _W_vs_wantsum=$1 + _W_vs_file=$2 + + w_get_sha256sum "$_W_vs_file" + if [ "$_W_gotsha256sum"x != "$_W_vs_wantsum"x ] + then + w_die "sha256sum mismatch! Rename $_W_vs_file and try again." + fi + unset _W_vs_wantsum _W_vs_file _W_gotsha256sum } # wget outputs progress messages that look like this: @@ -803,6 +836,17 @@ w_download_to() _W_file=$(basename "$_W_url") fi + # tr -d " " is for FreeBSD/OS X/Solaris return a leading space: + # See https://stackoverflow.com/questions/30927590/wc-on-osx-return-includes-spaces/30927885#30927885 + _W_sum_length="$(echo "$_W_sum" | tr -d "\n" | wc -c | tr -d " ")" + case "$_W_sum_length" in + 0) _W_shatype="none" ;; + 40) _W_shatype="sha1" ;; + 64) _W_shatype="sha256" ;; + # 128) sha512.. + *) w_die "unsupported shasum..bug" ;; + esac + if echo "${_W_packagename}" | grep -q -e '\/-' -e '^-'; then w_die "Invalid path ${_W_packagename} given" else @@ -843,12 +887,28 @@ w_download_to() fi fi # If checksum matches, declare success and exit loop - w_get_sha1sum "$_W_cache/$_W_file" - if [ "$_W_gotsum"x = "$_W_sum"x ] - then - checksum_ok=1 - break - fi + case "$_W_shatype" in + none) + w_warn "No checksum provided, not verifying" + ;; + sha1) + w_get_sha1sum "$_W_cache/$_W_file" + if [ "$_W_gotsha1sum"x = "$_W_sum"x ] + then + checksum_ok=1 + break + fi + ;; + sha256) + w_get_sha256sum "$_W_cache/$_W_file" + if [ "$_W_gotsha256sum"x = "$_W_sum"x ] + then + checksum_ok=1 + break + fi + ;; + esac + if test ! "$WINETRICKS_CONTINUE_DOWNLOAD" then w_warn "Checksum for $_W_cache/$_W_file did not match, retrying download" @@ -942,6 +1002,16 @@ w_download_to() ${_W_cookiejar:+--cookie "$_W_cookiejar"} \ ${_W_agent:+--user-agent "$_W_agent"} \ "$_W_url" + elif [ "${WINETRICKS_DOWNLOADER}" = "fetch" ] + then + # Note: fetch does not support configurable retry count + + # shellcheck disable=SC2086 + $torify fetch \ + -T "${WINETRICKS_DOWNLOADER_TIMEOUT}" \ + -o "$_W_file" \ + ${_W_agent:+--user-agent="$_W_agent"} \ + "$_W_url" else w_die "Here be dragons" fi @@ -976,7 +1046,13 @@ w_download_to() if test "$_W_sum" && test ! "$checksum_ok" then - w_verify_sha1sum "$_W_sum" "$_W_cache/$_W_file" + case "$_W_shatype" in + none) w_warn "No checksum provided, not verifying" ;; + sha1) w_verify_sha1sum "$_W_sum" "$_W_cache/$_W_file" ;; + sha256) w_verify_sha256sum "$_W_sum" "$_W_cache/$_W_file" ;; + # 128) sha512.. + *) w_die "unsupported shasum..bug" ;; + esac fi } @@ -2618,22 +2694,24 @@ winetricks_download_setup() { # shellcheck disable=SC2104 case "${WINETRICKS_DOWNLOADER}" in - aria2c|curl|wget) : ;; + aria2c|curl|wget|fetch) : ;; "") if [ -x "$(which aria2c 2>/dev/null)" ] ; then WINETRICKS_DOWNLOADER="aria2c" elif [ -x "$(which wget 2>/dev/null)" ] ; then WINETRICKS_DOWNLOADER="wget" elif [ -x "$(which curl 2>/dev/null)" ] ; then WINETRICKS_DOWNLOADER="curl" + elif [ -x "$(which fetch 2>/dev/null)" ] ; then + WINETRICKS_DOWNLOADER="fetch" else w_die "Please install wget or aria2c (or, if those aren't available, curl)" fi ;; - *) w_die "Invalid value ${WINETRICKS_DOWNLOADER} given for WINETRICKS_DOWNLOADER. Possible values: aria2c, curl, wget" + *) w_die "Invalid value ${WINETRICKS_DOWNLOADER} given for WINETRICKS_DOWNLOADER. Possible values: aria2c, curl, wget, fetch" esac - # Common values for aria2c/curl/wget - # Number of retry attempts: + # Common values for aria2c/curl/fetch/wget + # Number of retry attempts (not supported by fetch): WINETRICKS_DOWNLOADER_RETRIES=${WINETRICKS_DOWNLOADER_RETRIES:-3} # Connection timeout time (in seconds): WINETRICKS_DOWNLOADER_TIMEOUT=${WINETRICKS_DOWNLOADER_TIMEOUT:-15} @@ -2690,6 +2768,9 @@ winetricks_dl_url_to_stdout() "$1" > /dev/null cat "${stdout_tmpfile}" rm "${stdout_tmpfile}" + elif [ "${WINETRICKS_DOWNLOADER}" = "fetch" ] ; then + # fetch does not support retry count + $torify fetch -o - -T "${WINETRICKS_DOWNLOADER_TIMEOUT}" "$1" 2>/dev/null else w_die "Please install aria2c, curl, or wget" fi @@ -2719,18 +2800,38 @@ winetricks_dl_warning() { } winetricks_get_sha1sum_prog() { - # Mac folks tend to not have sha1sum, but we can make do with openssl - if [ -x "$(which sha1sum 2>/dev/null)" ] - then + # Linux/Solaris: + if [ -x "$(which sha1sum 2>/dev/null)" ] ; then WINETRICKS_SHA1SUM="sha1sum" - elif [ -x "$(which openssl 2>/dev/null)" ] - then + # FreeBSD/NetBSD: + elif [ -x "$(which sha1 2>/dev/null)" ] ; then + WINETRICKS_SHA1SUM="sha1" + # OSX 10.6+: + elif [ -x "$(which shasum 2>/dev/null)" ] ; then + WINETRICKS_SHA1SUM="shasum -a 1" + # OSX 10.5: + elif [ -x "$(which openssl 2>/dev/null)" ] ; then WINETRICKS_SHA1SUM="openssl dgst -sha1" else w_die "No sha1sum utility available." fi } +winetricks_get_sha256sum_prog() { + # Linux/Solaris: + if [ -x "$(which sha256sum 2>/dev/null)" ] ; then + WINETRICKS_SHA256SUM="sha256sum" + # FreeBSD/NetBSD: + elif [ -x "$(which sha256 2>/dev/null)" ] ; then + WINETRICKS_SHA256SUM="sha256" + # OSX (10.6+), 10.5 doesn't support at all: https://stackoverflow.com/questions/7500691/rvm-sha256sum-nor-shasum-found + elif [ -x "$(which shasum 2>/dev/null)" ] ; then + WINETRICKS_SHA256SUM="shasum -a 256" + else + w_die "No sha256um utility available." + fi +} + winetricks_get_platform() { if [ "${OS}" = "Windows_NT" ] @@ -2775,10 +2876,13 @@ winetricks_print_version() { # Normally done by winetricks_init, but we don't want to set up the WINEPREFIX # just to get the winetricks version: + + # FIXME: sha1/sha256 winetricks_get_sha1sum_prog + #winetricks_get_sha256sum_prog w_get_sha1sum "$0" - echo "$WINETRICKS_VERSION - sha1sum: $_W_gotsum" + echo "$WINETRICKS_VERSION - sha1sum: $_W_gotsha1sum" } # Run a small wine command for internal use @@ -4533,6 +4637,7 @@ winetricks_init() WINETRICKS_SOURCEFORGE=http://downloads.sourceforge.net winetricks_get_sha1sum_prog + winetricks_get_sha256sum_prog winetricks_get_platform @@ -8378,8 +8483,9 @@ load_shockwave() { # 2016-02-18 sha1sum: 45147a791e3f71bd67ead1622d9120060dd196e5 # 2016-03-11 sha1sum: 4f955f42984ae69d2f6078d3a3fe9fadc4a25e34 # 2016-10-11 sha1sum: bcb6a9d9a6f7781db3de3120a0c9dcd8118642d1 + # 2017-02-19 sha1sum: 86eb79ea28ac3801887616cefee2d2b43522312a - w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi bcb6a9d9a6f7781db3de3120a0c9dcd8118642d1 + w_download https://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi 86eb79ea28ac3801887616cefee2d2b43522312a w_try_cd "$W_CACHE/$W_PACKAGE" w_try "$WINE" msiexec /i sw_lic_full_installer.msi $W_UNATTENDED_SLASH_Q } @@ -9591,7 +9697,6 @@ w_metadata corefonts fonts \ load_corefonts() { # FIXME: why is this commented out? Should be removed or enabled. - #w_download ftp://ftp.fi.debian.org/gentoo/distfiles/andale32.exe c4db8cbe42c566d12468f5fdad38c43721844c69 w_download ftp://ftp.fi.debian.org/gentoo/distfiles/arial32.exe 6d75f8436f39ab2da5c31ce651b7443b4ad2916e w_download ftp://ftp.fi.debian.org/gentoo/distfiles/arialb32.exe d45cdab84b7f4c1efd6d1b369f50ed0390e3d344 w_download ftp://ftp.fi.debian.org/gentoo/distfiles/comic32.exe 2371d0327683dcc5ec1684fe7c275a8de1ef9a51 @@ -9608,12 +9713,6 @@ load_corefonts() # files being present in the Windows font directory we use cabextract # to obtain the files and register the fonts by hand. - # Andale needs a FontSubstitutes entry - # w_try_cabextract --directory="$W_TMP" "$W_CACHE"/corefonts/andale32.exe - - # Display EULA - test x"$W_UNATTENDED_SLASH_Q" = x"" || w_try "$WINE" "$W_CACHE"/corefonts/arial32.exe $W_UNATTENDED_SLASH_Q - w_try_cabextract -q --directory="$W_TMP" "$W_CACHE"/corefonts/arial32.exe w_try cp -f "$W_TMP"/Arial*.TTF "$W_FONTSDIR_UNIX" w_register_font Arial.TTF "Arial" @@ -9869,7 +9968,7 @@ load_fontfix() if test -f /usr/share/fonts/truetype/arphic/ukai.ttf then w_get_sha1sum /usr/share/fonts/truetype/arphic/ukai.ttf - if [ "$_W_gotsum"x = "96e1121f89953e5169d3e2e7811569148f573985"x ] + if [ "$_W_gotsha1sum"x = "96e1121f89953e5169d3e2e7811569148f573985"x ] then w_die "Your installed ukai.ttf is known to be broken. Upgrade your ttf-arphic font package!" fi @@ -9878,7 +9977,7 @@ load_fontfix() if test -f /usr/share/fonts/truetype/arphic/uming.ttf then w_get_sha1sum /usr/share/fonts/truetype/arphic/uming.ttf - if [ "$_W_gotsum"x = "2a4f4a69e343c21c24d044b2cb19fd4f0decc82c"x ] + if [ "$_W_gotsha1sum"x = "2a4f4a69e343c21c24d044b2cb19fd4f0decc82c"x ] then w_die "Your installed uming.ttf is known to be broken. Upgrade your ttf-uming font package!" fi @@ -10605,7 +10704,7 @@ w_metadata irfanview apps \ load_irfanview() { - w_download http://download.betanews.com/download/967963863-1/iview444_setup.exe d9675c2c4fce810134718b74b0c598957c8ebcf4 + w_download http://download.betanews.com/download/967963863-1/iview444_setup.exe 71b44cd3d14376bbb619b2fe8a632d29200385738dd186680e988ce32662b3d6 if w_workaround_wine_bug 657 "Installing mfc42" then w_call mfc42