diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2010-03-31 01:02:23 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2010-03-31 01:02:23 +0300 |
commit | 7e95f610fccf1d0d9d10e530a98862d756f6aaa6 (patch) | |
tree | 8107828f5839ef98bf4b2300866ff261a32c2194 /app-emulation | |
parent | de6947fd89a044bc6278e079039571d3045cb9b1 (diff) |
new file: files/0001-dinput-Read-raw-relative-mouse-movements-from-dev.patch
new file: files/mousepatch.diff
new file: files/wine-1.1.15-configure-host.patch
new file: files/wine-1.1.15-winegcc.patch
new file: files/wine-1.1.4-install-fix.patch
new file: files/wine-gentoo-no-ssp.patch
#
Diffstat (limited to 'app-emulation')
6 files changed, 194 insertions, 0 deletions
diff --git a/app-emulation/wine/files/0001-dinput-Read-raw-relative-mouse-movements-from-dev.patch b/app-emulation/wine/files/0001-dinput-Read-raw-relative-mouse-movements-from-dev.patch new file mode 100644 index 0000000..e1d922c --- /dev/null +++ b/app-emulation/wine/files/0001-dinput-Read-raw-relative-mouse-movements-from-dev.patch @@ -0,0 +1,77 @@ +From f0859f18b398a895286105a7b6a1ba9d8b2248af Mon Sep 17 00:00:00 2001 +From: Daniel Scharrer <dscharrer@gmail.com> +Date: Tue, 13 Jan 2009 18:19:26 +0100 +Subject: dinput: Read raw relative mouse movements from /dev/input/mice. + +--- + dlls/dinput/mouse.c | 26 ++++++++++++++++++++++---- + 1 files changed, 22 insertions(+), 4 deletions(-) + +diff --git a/dlls/dinput/mouse.c b/dlls/dinput/mouse.c +index 178b8fb..273d605 100644 +--- a/dlls/dinput/mouse.c ++++ b/dlls/dinput/mouse.c +@@ -25,6 +25,8 @@ + #include <stdarg.h> + #include <string.h> + ++#include <fcntl.h> ++ + #include "windef.h" + #include "winbase.h" + #include "wingdi.h" +@@ -76,6 +78,8 @@ struct SysMouseImpl + DIMOUSESTATE2 m_state; + + WARP_MOUSE warp_override; ++ ++ int mouse; + }; + + static void dinput_mouse_hook( LPDIRECTINPUTDEVICE8A iface, WPARAM wparam, LPARAM lparam ); +@@ -198,6 +202,11 @@ static SysMouseImpl *alloc_device(REFGUID rguid, const void *mvt, IDirectInputIm + newDevice->base.dinput = dinput; + newDevice->base.event_proc = dinput_mouse_hook; + ++ newDevice->mouse = open("/dev/input/mice", O_RDONLY); ++ ++ if(newDevice->mouse < 0) ++ WARN("unable to open /dev/input/mice for reading"); ++ + get_app_key(&hkey, &appkey); + if (!get_config_key(hkey, appkey, "MouseWarpOverride", buffer, sizeof(buffer))) + { +@@ -303,9 +312,17 @@ static void dinput_mouse_hook( LPDIRECTINPUTDEVICE8A iface, WPARAM wparam, LPARA + { + POINT pt, pt1; + +- GetCursorPos(&pt); +- This->m_state.lX += pt.x = hook->pt.x - pt.x; +- This->m_state.lY += pt.y = hook->pt.y - pt.y; ++ if(This->mouse >= 0) ++ { ++ char input[3] = {0,0,0}; ++ read(This->mouse, input, 3); ++ This->m_state.lX += pt.x = input[1]; ++ This->m_state.lY += pt.y = input[2]; ++ } else { ++ GetCursorPos(&pt); ++ This->m_state.lX += pt.x = hook->pt.x - pt.x; ++ This->m_state.lY += pt.y = hook->pt.y - pt.y; ++ } + + if (This->base.data_format.user_df->dwFlags & DIDF_ABSAXIS) + { +@@ -331,7 +348,8 @@ static void dinput_mouse_hook( LPDIRECTINPUTDEVICE8A iface, WPARAM wparam, LPARA + + This->need_warp = This->warp_override != WARP_DISABLE && + (pt.x || pt.y) && +- (dwCoop & DISCL_EXCLUSIVE || This->warp_override == WARP_FORCE_ON); ++ (dwCoop & DISCL_EXCLUSIVE || This->warp_override == WARP_FORCE_ON) && ++ This->mouse < 0; + break; + } + case WM_MOUSEWHEEL: +-- +1.6.0.6 + diff --git a/app-emulation/wine/files/mousepatch.diff b/app-emulation/wine/files/mousepatch.diff new file mode 100644 index 0000000..5cdd67d --- /dev/null +++ b/app-emulation/wine/files/mousepatch.diff @@ -0,0 +1,11 @@ +--- a/dlls/dinput/mouse.c ++++ b/dlls/dinput/mouse.c +@@ -330,7 +330,7 @@ static void dinput_mouse_hook( LPDIRECTINPUTDEVICE8A iface, WPARAM wparam, LPARA + } + + This->need_warp = This->warp_override != WARP_DISABLE && +- (pt.x || pt.y) && ++ (hook->pt.x<2 || hook->pt.y<2 || hook->pt.x>((2 * This->win_centerX)-2) || hook->pt.y>((2 * This->win_centerY)-2) ) && + (dwCoop & DISCL_EXCLUSIVE || This->warp_override == WARP_FORCE_ON); + break; + } diff --git a/app-emulation/wine/files/wine-1.1.15-configure-host.patch b/app-emulation/wine/files/wine-1.1.15-configure-host.patch new file mode 100644 index 0000000..47628f6 --- /dev/null +++ b/app-emulation/wine/files/wine-1.1.15-configure-host.patch @@ -0,0 +1,13 @@ +http://bugs.gentoo.org/260726 + +--- wine-1.1.15/configure ++++ wine-1.1.15/configure +@@ -3943,7 +3943,7 @@ + $as_echo "$wine_cv_toolsdir" >&6; } + TOOLSDIR=$wine_cv_toolsdir + +-if test -n "$host_alias" ++if test -n "$host_alias" -a "$host_alias" != "$build_alias" + then + TARGETFLAGS="-b $host_alias $TARGETFLAGS" + diff --git a/app-emulation/wine/files/wine-1.1.15-winegcc.patch b/app-emulation/wine/files/wine-1.1.15-winegcc.patch new file mode 100644 index 0000000..6e5bb22 --- /dev/null +++ b/app-emulation/wine/files/wine-1.1.15-winegcc.patch @@ -0,0 +1,55 @@ +http://bugs.gentoo.org/260726 + +--- wine-1.1.15/tools/winegcc/winegcc.c ++++ wine-1.1.15/tools/winegcc/winegcc.c +@@ -215,10 +215,13 @@ + strarray* files; + }; + ++#undef FORCE_POINTER_SIZE + #ifdef __i386__ + static const enum target_cpu build_cpu = CPU_x86; ++#define FORCE_POINTER_SIZE + #elif defined(__x86_64__) + static const enum target_cpu build_cpu = CPU_x86_64; ++#define FORCE_POINTER_SIZE + #elif defined(__sparc__) + static const enum target_cpu build_cpu = CPU_SPARC; + #elif defined(__ALPHA__) +@@ -968,6 +971,9 @@ + opts.linker_args = strarray_alloc(); + opts.compiler_args = strarray_alloc(); + opts.winebuild_args = strarray_alloc(); ++#ifdef FORCE_POINTER_SIZE ++ opts.force_pointer_size = sizeof(size_t); ++#endif + + /* determine the processor type */ + if (strendswith(argv[0], "winecpp")) opts.processor = proc_cpp; +--- wine-1.1.15/tools/winebuild/main.c ++++ wine-1.1.15/tools/winebuild/main.c +@@ -50,10 +50,13 @@ + int link_ext_symbols = 0; + int force_pointer_size = 0; + ++#undef FORCE_POINTER_SIZE + #ifdef __i386__ + enum target_cpu target_cpu = CPU_x86; ++#define FORCE_POINTER_SIZE + #elif defined(__x86_64__) + enum target_cpu target_cpu = CPU_x86_64; ++#define FORCE_POINTER_SIZE + #elif defined(__sparc__) + enum target_cpu target_cpu = CPU_SPARC; + #elif defined(__ALPHA__) +@@ -574,6 +577,10 @@ + signal( SIGTERM, exit_on_signal ); + signal( SIGINT, exit_on_signal ); + ++#ifdef FORCE_POINTER_SIZE ++ force_pointer_size = sizeof(size_t); ++#endif ++ + output_file = stdout; + argv = parse_options( argc, argv, spec ); + diff --git a/app-emulation/wine/files/wine-1.1.4-install-fix.patch b/app-emulation/wine/files/wine-1.1.4-install-fix.patch new file mode 100644 index 0000000..7ff5771 --- /dev/null +++ b/app-emulation/wine/files/wine-1.1.4-install-fix.patch @@ -0,0 +1,22 @@ +From: Alexandre Julliard <julliard@winehq.org> +Date: Mon, 8 Sep 2008 10:37:56 +0000 (+0200) +Subject: makefile: Fix dependency for programs install. +X-Git-Url: http://source.winehq.org/git/wine.git/?a=commitdiff_plain;h=78c79ba349deea39 + +makefile: Fix dependency for programs install. +--- + +diff --git a/Makefile.in b/Makefile.in +index 0b2c6c0..1dd8ef1 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -96,7 +96,8 @@ include/__install__ include/__install-dev__: include libs tools + libs/__install__ libs/__install-lib__ libs/__install-dev__: libs + loader/__install__ loader/__install-lib__: libs tools + server/__install__ server/__install-lib__: libs tools +-programs/__install__ programs/__install-lib__: libs tools include dlls/__install-lib__ ++programs/__install__: libs tools include dlls/__install__ ++programs/__install-lib__: libs tools include dlls/__install-lib__ + tools/__install__ tools/__install-lib__ tools/__install-dev__: tools + + RECURSE_TARGETS = \ diff --git a/app-emulation/wine/files/wine-gentoo-no-ssp.patch b/app-emulation/wine/files/wine-gentoo-no-ssp.patch new file mode 100644 index 0000000..ee33c4b --- /dev/null +++ b/app-emulation/wine/files/wine-gentoo-no-ssp.patch @@ -0,0 +1,16 @@ +support older ssp (gcc-3.4.x). this ssp was never in mainline gcc, thus +upstream wine wont accept it. can drop once hardened gets a stable gcc-4.x. + +http://bugs.gentoo.org/66002 + +--- loader/preloader.c ++++ loader/preloader.c +@@ -155,6 +155,8 @@ struct wld_link_map { + + /* similar to the above but for -fstack-protector */ + void *__stack_chk_guard = 0; ++void *__guard = 0; ++void __stack_smash_handler(void) { return; } + void __stack_chk_fail(void) { return; } + + * The _start function is the entry and exit point of this program |