summaryrefslogtreecommitdiff
path: root/app-emulation/wine/files
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/wine/files')
-rw-r--r--app-emulation/wine/files/0001-dinput-Read-raw-relative-mouse-movements-from-dev.patch77
-rw-r--r--app-emulation/wine/files/mousepatch.diff11
-rw-r--r--app-emulation/wine/files/wine-1.1.15-configure-host.patch13
-rw-r--r--app-emulation/wine/files/wine-1.1.15-winegcc.patch55
-rw-r--r--app-emulation/wine/files/wine-1.1.4-install-fix.patch22
-rw-r--r--app-emulation/wine/files/wine-gentoo-no-ssp.patch16
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