diff options
-rw-r--r-- | system/wine/LOTRO.patch | 44 | ||||
-rw-r--r-- | system/wine/configure_asm.patch | 191 | ||||
-rw-r--r-- | system/wine/wine.SlackBuild | 15 | ||||
-rw-r--r-- | system/wine/wine.info | 6 |
4 files changed, 199 insertions, 57 deletions
diff --git a/system/wine/LOTRO.patch b/system/wine/LOTRO.patch deleted file mode 100644 index 4f760793ce96f..0000000000000 --- a/system/wine/LOTRO.patch +++ /dev/null @@ -1,44 +0,0 @@ -From b9716dfe5f6283f83131fe6a638eea14c137ceb4 Mon Sep 17 00:00:00 2001 -From: Daniel Santos <daniel.santos@pobox.com> -Date: Mon, 15 Oct 2012 15:12:59 -0500 -Subject: user32: Don't ignore return/error value of MapWindowPoints - -ScreenToClient should return zero if the operation fails, but is always -returning TRUE. This patch corrects the problem and solves a crash bug -in Lord of the Rings Online (bug #31979) - -Credit for discovering the source of this problem should go to somebody -else, as yet unidentified, since the original patch came from a closed -forum for beta testers of the LoTRO Riders of Rohan expansion and the -forum has subsequently been wiped. However, I'll take credit for fixing -it up, but if I ever figure out where it came from, hopefully they can -get credit as well. ---- - dlls/user32/winpos.c | 11 +++++++++-- - 1 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/dlls/user32/winpos.c b/dlls/user32/winpos.c -index 5a2f1f2..80aab32 100644 ---- a/dlls/user32/winpos.c -+++ b/dlls/user32/winpos.c -@@ -250,8 +250,15 @@ BOOL WINAPI ClientToScreen( HWND hwnd, LPPOINT lppnt ) - */ - BOOL WINAPI ScreenToClient( HWND hwnd, LPPOINT lppnt ) - { -- MapWindowPoints( 0, hwnd, lppnt, 1 ); -- return TRUE; -+ DWORD old_err = GetLastError(); -+ BOOL ret; -+ -+ SetLastError(0xd00d13); -+ ret = MapWindowPoints( 0, hwnd, lppnt, 1 ) != 0 || -+ GetLastError() != 0xd00d13; -+ SetLastError(old_err); -+ -+ return ret; - } - - --- -1.7.3.4 - diff --git a/system/wine/configure_asm.patch b/system/wine/configure_asm.patch new file mode 100644 index 0000000000000..e054add6dec6b --- /dev/null +++ b/system/wine/configure_asm.patch @@ -0,0 +1,191 @@ +diff --git a/configure b/configure +index e3253ee..d0b7777 100755 +--- a/configure ++++ b/configure +@@ -732,6 +732,8 @@ FLEX + TOOLSDIR + WOW64_DISABLE + TARGETFLAGS ++ac_ct_CCAS ++CCAS + CPPBIN + ac_ct_CXX + CXXFLAGS +@@ -861,6 +863,7 @@ CPPFLAGS + CXX + CXXFLAGS + CCC ++CCAS + CPP + XMKMF' + +@@ -1549,6 +1552,7 @@ Some influential environment variables: + you have headers in a nonstandard directory <include dir> + CXX C++ compiler command + CXXFLAGS C++ compiler flags ++ CCAS Assembler command + CPP C preprocessor + XMKMF Path to xmkmf, Makefile generator for X Window System + +@@ -4075,6 +4079,108 @@ cat >>confdefs.h <<_ACEOF + _ACEOF + + ++ ++if test -n "$ac_tool_prefix"; then ++ for ac_prog in clang gas as ++ do ++ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. ++set dummy $ac_tool_prefix$ac_prog; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_CCAS+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$CCAS"; then ++ ac_cv_prog_CCAS="$CCAS" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_CCAS="$ac_tool_prefix$ac_prog" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++CCAS=$ac_cv_prog_CCAS ++if test -n "$CCAS"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CCAS" >&5 ++$as_echo "$CCAS" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -n "$CCAS" && break ++ done ++fi ++if test -z "$CCAS"; then ++ ac_ct_CCAS=$CCAS ++ for ac_prog in clang gas as ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if ${ac_cv_prog_ac_ct_CCAS+:} false; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test -n "$ac_ct_CCAS"; then ++ ac_cv_prog_ac_ct_CCAS="$ac_ct_CCAS" # Let the user override the test. ++else ++as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ++ ac_cv_prog_ac_ct_CCAS="$ac_prog" ++ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++ done ++IFS=$as_save_IFS ++ ++fi ++fi ++ac_ct_CCAS=$ac_cv_prog_ac_ct_CCAS ++if test -n "$ac_ct_CCAS"; then ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CCAS" >&5 ++$as_echo "$ac_ct_CCAS" >&6; } ++else ++ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -n "$ac_ct_CCAS" && break ++done ++ ++ if test "x$ac_ct_CCAS" = x; then ++ CCAS=""$CC"" ++ else ++ case $cross_compiling:$ac_tool_warned in ++yes:) ++{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 ++$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ++ac_tool_warned=yes ;; ++esac ++ CCAS=$ac_ct_CCAS ++ fi ++fi ++ ++ + case $host in + *-darwin*) + if test "x$enable_win64" = "xyes" +diff --git a/configure.ac b/configure.ac +index c93cd08..760f325 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -126,6 +126,10 @@ dnl We can't use AC_PROG_CPP for winegcc, it uses by default $(CC) -E + AC_CHECK_TOOL(CPPBIN,cpp,cpp) + AC_DEFINE_UNQUOTED(EXEEXT,["$ac_exeext"],[Define to the file extension for executables.]) + ++dnl Analogous to AM_PROG_AS ++AC_ARG_VAR([CCAS],[Assembler command]) ++AC_CHECK_TOOLS(CCAS,[clang gas as],["$CC"]) ++ + case $host in + *-darwin*) + if test "x$enable_win64" = "xyes" +diff --git a/tools/winebuild/Makefile.in b/tools/winebuild/Makefile.in +index 2017129..3fe47a3 100644 +--- a/tools/winebuild/Makefile.in ++++ b/tools/winebuild/Makefile.in +@@ -1,4 +1,7 @@ +-DEFS = -D__WINESRC__ $(EXTRADEFS) ++DEFS = \ ++ -DCCAS="\"@CCAS@\"" \ ++ -D__WINESRC__ \ ++ $(EXTRADEFS) + + PROGRAMS = winebuild$(EXEEXT) + MANPAGE = winebuild.man +diff --git a/tools/winebuild/utils.c b/tools/winebuild/utils.c +index 262ff3a..1c5f918 100644 +--- a/tools/winebuild/utils.c ++++ b/tools/winebuild/utils.c +@@ -352,6 +352,18 @@ struct strarray *get_as_command(void) + static int as_is_clang = 0; + struct strarray *args = strarray_init(); + ++ if (!as_command && strlen( CCAS )) ++ { ++ struct stat st; ++ ++ if (!stat( CCAS, &st )) ++ as_command = CCAS; ++ else ++ as_command = find_tool( CCAS, NULL ); ++ ++ if (as_command && strstr( as_command, "clang" )) as_is_clang = 1; ++ } ++ + if (!as_command) + { + as_command = find_tool( "clang", NULL ); +-- +1.8.1.2 diff --git a/system/wine/wine.SlackBuild b/system/wine/wine.SlackBuild index 13c6a76c1276f..8fd9e1df534aa 100644 --- a/system/wine/wine.SlackBuild +++ b/system/wine/wine.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for wine -# Copyright 2011- David Woodfall +# Copyright 2011 David Woodfall # All rights reserved. # Uses patches supplied by Robby Workman's previous slackbuild. @@ -24,7 +24,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PRGNAM=wine -VERSION=${VERSION:-1.5.13} +VERSION=${VERSION:-1.5.25} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -49,9 +49,6 @@ IEFIX=${IEFIX:-NO} # the run the script like: OPENGL=NO ./wine.SlackBuild OPENGL=${OPENGL:-YES} -# Apply LOTRO patch. -LOTRO=${LOTRO:-NO} - if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" @@ -93,19 +90,17 @@ if [ "$OPENGL" = "YES" ]; then do_opengl="without" fi -# Thanks to Branden for supplying the patch -# If LOTRO = YES above, then apply the patch -if [ "$LOTRO" = "YES" ]; then - patch -p1 --verbose < $CWD/LOTRO.patch -fi +patch -p1 --verbose < $CWD/configure_asm.patch # All of the libraries produced are 32bit libs anyway +CCAS="/usr/bin/as" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --mandir=/usr/man \ --docdir=/usr/doc/$PRGNAM-$VERSION \ + --with-gnutls=yes \ --${do_opengl}-opengl \ --build=$ARCH-slackware-linux diff --git a/system/wine/wine.info b/system/wine/wine.info index 2930706e69e0f..911108d9d9f5b 100644 --- a/system/wine/wine.info +++ b/system/wine/wine.info @@ -1,8 +1,8 @@ PRGNAM="wine" -VERSION="1.5.13" +VERSION="1.5.25" HOMEPAGE="http://www.winehq.com/" -DOWNLOAD="http://downloads.sf.net/wine/source/1.5/wine-1.5.13.tar.bz2" -MD5SUM="a03d2feafdf6ece0a1cdd6d0daf6a8ae" +DOWNLOAD="http://prdownloads.sourceforge.net/wine/wine-1.5.25.tar.bz2" +MD5SUM="840f6d46c360d8df1a0efb98cf41ce92" DOWNLOAD_x86_64="UNSUPPORTED" MD5SUM_x86_64="" REQUIRES="fontforge webcore-fonts" |