From d4e56ff4dc8a0528550eb8503956bdcddb2fe516 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Mon, 30 Jun 2008 12:55:29 +0000 Subject: packages: fix xorg to compile modular and tiny versions Based on googlecode r558 by John Voltz. --- ..._xf86-input-evdev-1.1.2-10-bitfield-fixes.patch | 324 +++++++++++++++++++++ ...er_xf86-input-evdev-1.1.2-11-bitops-fixes.patch | 42 +++ ...-evdev-1.1.2-20-add-inotify-architectures.patch | 29 ++ ...r_xf86-input-evdev-1.1.2-30-absolute-axis.patch | 31 ++ ...driver_xf86-input-evdev-1.1.2-40-close-fd.patch | 18 ++ .../xdriver_xf86-input-evdev-1.1.2-50-xinput.patch | 21 ++ 6 files changed, 465 insertions(+) create mode 100644 package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-10-bitfield-fixes.patch create mode 100644 package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-11-bitops-fixes.patch create mode 100644 package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-20-add-inotify-architectures.patch create mode 100644 package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-30-absolute-axis.patch create mode 100644 package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-40-close-fd.patch create mode 100644 package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-50-xinput.patch (limited to 'package/x11r7/xdriver_xf86-input-evdev') diff --git a/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-10-bitfield-fixes.patch b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-10-bitfield-fixes.patch new file mode 100644 index 000000000..e2748724a --- /dev/null +++ b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-10-bitfield-fixes.patch @@ -0,0 +1,324 @@ +From: Zephaniah E. Hull +Date: Sun, 14 May 2006 11:55:50 +0000 (+0000) +Subject: Tweak credits and references. +X-Git-Tag: xf86-video-impact-0_2_0 +X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/driver/xf86-input-evdev.git;a=commitdiff;h=e9c60da89a9c55b81b2dedcf6ee3d1aefb4ff591 + +Tweak credits and references. +Change the longs to unsigned longs in the bitfields. +Cleanup our includes. +Stop pulling in asm/types.h and asm/bitops.h. +Conditionally define the stuff that used to come from the above, including + our own test_bit, set_bit and clear_bit. +Change the longs to unsigned longs in the bitfields. +Change the longs to unsigned longs in the bitfields. +Use the bitop defines in evdev.h properly. +Change the longs to unsigned longs in the bitfields. +Change the longs to unsigned longs in the bitfields. +Use the bitop defines in evdev.h properly. +Change the longs to unsigned longs in the bitfields. +Use the bitop defines in evdev.h properly. +Add HPPA/HPPA64 entries. (Thanks to Fabio M. Di Nitto + ) +--- + +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,37 @@ ++2006-05-14 Zephaniah E. Hull ++ ++ * man/evdev.man: ++ Tweak credits and references. ++ * src/evdev.c: (EvdevParseBits), (EvdevParseBitOption), ++ (EvdevCorePreInit): ++ Change the longs to unsigned longs in the bitfields. ++ ++ Cleanup our includes. ++ * src/evdev.h: ++ Stop pulling in asm/types.h and asm/bitops.h. ++ ++ Conditionally define the stuff that used to come from ++ the above, including our own test_bit, set_bit and clear_bit. ++ ++ Change the longs to unsigned longs in the bitfields. ++ * src/evdev_axes.c: (EvdevAxisAbsNew), (EvdevAxisRelNew): ++ Change the longs to unsigned longs in the bitfields. ++ ++ Use the bitop defines in evdev.h properly. ++ * src/evdev_brain.c: (MatchAll), (MatchNot), (MatchAny): ++ Change the longs to unsigned longs in the bitfields. ++ * src/evdev_btn.c: (EvdevBtnNew): ++ Change the longs to unsigned longs in the bitfields. ++ ++ Use the bitop defines in evdev.h properly. ++ * src/evdev_key.c: (EvdevKeyNew): ++ Change the longs to unsigned longs in the bitfields. ++ ++ Use the bitop defines in evdev.h properly. ++ * src/inotify-syscalls.h: ++ Add HPPA/HPPA64 entries. (Thanks to Fabio M. Di Nitto ++ ) ++ + 2006-04-30 Zephaniah E. Hull + + * configure.ac: +--- a/src/evdev.c ++++ b/src/evdev.c +@@ -61,8 +61,6 @@ + #include + #include + +-#include +- + #include "evdev.h" + + #include +@@ -328,7 +326,7 @@ EvdevNew(evdevDriverPtr driver, evdevDev + } + + static void +-EvdevParseBits (char *in, long *out, int len) ++EvdevParseBits (char *in, unsigned long *out, int len) + { + unsigned long v[2]; + int n, i, max_bits = len * BITS_PER_LONG; +@@ -351,7 +349,7 @@ EvdevParseBits (char *in, long *out, int + } + + static void +-EvdevParseBitOption (char *opt, long *all, long *not, long *any, int len) ++EvdevParseBitOption (char *opt, unsigned long *all, unsigned long *not, unsigned long *any, int len) + { + char *cur, *next; + +@@ -395,7 +393,7 @@ EvdevCorePreInit(InputDriverPtr drv, IDe + EvdevParseBitOption (tmp, pEvdev->all_bits.field, \ + pEvdev->not_bits.field, \ + pEvdev->any_bits.field, \ +- sizeof(pEvdev->not_bits.field) / sizeof (long)); \ ++ sizeof(pEvdev->not_bits.field) / sizeof (unsigned long)); \ + free (tmp); \ + } + bitoption(ev); +--- a/src/evdev.h ++++ b/src/evdev.h +@@ -72,20 +72,29 @@ + #include + #include + ++#ifndef BITS_PER_LONG + #define BITS_PER_LONG (sizeof(long) * 8) ++#endif ++ + #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) +-#define OFF(x) ((x)%BITS_PER_LONG) +-#define LONG(x) ((x)/BITS_PER_LONG) +-#define BIT(x) (1UL<<((x)%BITS_PER_LONG)) +-#define test_bit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1) ++#define LONG(x) ((x) >> (sizeof(unsigned long) + 1)) ++#define MASK(x) (1 << ((x) & (sizeof (unsigned long) * 8 - 1))) ++ ++#ifndef test_bit ++#define test_bit(bit, array) (array[LONG(bit)] & MASK(bit)) ++#endif ++#ifndef set_bit ++#define set_bit(bit, array) (array[LONG(bit)] |= MASK(bit)) ++#endif ++#ifndef clear_bit ++#define clear_bit(bit, array) (array[LONG(bit)] &= ~MASK(bit)) ++#endif + + /* 2.4 compatibility */ + #ifndef EVIOCGSW + + #include + #include +-#include +-#include + + #define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) /* get all switch states */ + +@@ -128,14 +137,14 @@ + #define EVDEV_MAXBUTTONS 96 + + typedef struct { +- long ev[NBITS(EV_MAX)]; +- long key[NBITS(KEY_MAX)]; +- long rel[NBITS(REL_MAX)]; +- long abs[NBITS(ABS_MAX)]; +- long msc[NBITS(MSC_MAX)]; +- long led[NBITS(LED_MAX)]; +- long snd[NBITS(SND_MAX)]; +- long ff[NBITS(FF_MAX)]; ++ unsigned long ev[NBITS(EV_MAX)]; ++ unsigned long key[NBITS(KEY_MAX)]; ++ unsigned long rel[NBITS(REL_MAX)]; ++ unsigned long abs[NBITS(ABS_MAX)]; ++ unsigned long msc[NBITS(MSC_MAX)]; ++ unsigned long led[NBITS(LED_MAX)]; ++ unsigned long snd[NBITS(SND_MAX)]; ++ unsigned long ff[NBITS(FF_MAX)]; + } evdevBitsRec, *evdevBitsPtr; + + typedef struct { +--- a/src/evdev_axes.c ++++ b/src/evdev_axes.c +@@ -49,14 +49,6 @@ + + #include + +-#define ArrayLength(a) (sizeof(a) / (sizeof((a)[0]))) +- +-#define BITS_PER_LONG (sizeof(long) * 8) +-#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) +-#define OFF(x) ((x)%BITS_PER_LONG) +-#define LONG(x) ((x)/BITS_PER_LONG) +-#define TestBit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1) +- + static char *rel_axis_names[] = { + "X", + "Y", +@@ -328,7 +320,7 @@ EvdevAxisAbsNew(InputInfoPtr pInfo) + + real_axes = 0; + for (i = 0; i < ABS_MAX; i++) +- if (TestBit (i, pEvdev->bits.abs)) ++ if (test_bit (i, pEvdev->bits.abs)) + real_axes++; + + if (!real_axes) +@@ -344,7 +336,7 @@ EvdevAxisAbsNew(InputInfoPtr pInfo) + pInfo->conversion_proc = EvdevConvert; + + for (i = 0, j = 0; i < ABS_MAX; i++) { +- if (!TestBit (i, pEvdev->bits.abs)) ++ if (!test_bit (i, pEvdev->bits.abs)) + continue; + + snprintf(option, sizeof(option), "%sAbsoluteAxisMap", abs_axis_names[i]); +@@ -389,7 +381,7 @@ EvdevAxisAbsNew(InputInfoPtr pInfo) + xf86Msg(X_CONFIG, "%s: Unknown Mode: %s.\n", pInfo->name, s); + } + +- if (TestBit (ABS_X, pEvdev->bits.abs) && TestBit (ABS_Y, pEvdev->bits.abs)) ++ if (test_bit (ABS_X, pEvdev->bits.abs) && test_bit (ABS_Y, pEvdev->bits.abs)) + k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", 0); + else + k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", -1); +@@ -417,7 +409,7 @@ EvdevAxisRelNew(InputInfoPtr pInfo) + + real_axes = 0; + for (i = 0; i < REL_MAX; i++) +- if (TestBit (i, pEvdev->bits.rel)) ++ if (test_bit (i, pEvdev->bits.rel)) + real_axes++; + + if (!real_axes && (!state->abs || state->abs->axes < 2)) +@@ -434,7 +426,7 @@ EvdevAxisRelNew(InputInfoPtr pInfo) + pInfo->conversion_proc = EvdevConvert; + + for (i = 0, j = 0; i < REL_MAX; i++) { +- if (!TestBit (i, pEvdev->bits.rel)) ++ if (!test_bit (i, pEvdev->bits.rel)) + continue; + + snprintf(option, sizeof(option), "%sRelativeAxisMap", rel_axis_names[i]); +--- a/src/evdev_brain.c ++++ b/src/evdev_brain.c +@@ -86,7 +86,7 @@ typedef struct { + } evdevDevInfoRec, *evdevDevInfoPtr; + + static Bool +-MatchAll (long *dev, long *match, int len) ++MatchAll (unsigned long *dev, unsigned long *match, int len) + { + int i; + +@@ -98,7 +98,7 @@ MatchAll (long *dev, long *match, int le + } + + static Bool +-MatchNot (long *dev, long *match, int len) ++MatchNot (unsigned long *dev, unsigned long *match, int len) + { + int i; + +@@ -110,7 +110,7 @@ MatchNot (long *dev, long *match, int le + } + + static Bool +-MatchAny (long *dev, long *match, int len) ++MatchAny (unsigned long *dev, unsigned long *match, int len) + { + int i, found = 0; + +--- a/src/evdev_btn.c ++++ b/src/evdev_btn.c +@@ -51,15 +51,6 @@ + + #include + +- +-#define ArrayLength(a) (sizeof(a) / (sizeof((a)[0]))) +- +-#define BITS_PER_LONG (sizeof(long) * 8) +-#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) +-#define OFF(x) ((x)%BITS_PER_LONG) +-#define LONG(x) ((x)/BITS_PER_LONG) +-#define TestBit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1) +- + void + EvdevBtnPostFakeClicks(InputInfoPtr pInfo, int button, int count) + { +@@ -186,7 +177,7 @@ EvdevBtnNew(InputInfoPtr pInfo) + state->btn = Xcalloc (sizeof (evdevBtnRec)); + + for (i = BTN_MISC; i < (KEY_OK - 1); i++) +- if (TestBit (i, pEvdev->bits.key)) { ++ if (test_bit (i, pEvdev->bits.key)) { + bit = i; + if ((bit >= BTN_MOUSE) && (bit < BTN_JOYSTICK)) { + bit -= BTN_MOUSE - BTN_MISC; +--- a/src/evdev_key.c ++++ b/src/evdev_key.c +@@ -81,11 +81,6 @@ + + + #define ArrayLength(a) (sizeof(a) / (sizeof((a)[0]))) +-#define BITS_PER_LONG (sizeof(long) * 8) +-#define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) +-#define OFF(x) ((x)%BITS_PER_LONG) +-#define LONG(x) ((x)/BITS_PER_LONG) +-#define TestBit(bit, array) ((array[LONG(bit)] >> OFF(bit)) & 1) + + #define MIN_KEYCODE 8 + #define GLYPHS_PER_KEY 2 +@@ -356,13 +351,13 @@ EvdevKeyNew (InputInfoPtr pInfo) + int i, keys = 0; + + for (i = 0; i <= KEY_UNKNOWN; i++) +- if (TestBit (i, pEvdev->bits.key)) { ++ if (test_bit (i, pEvdev->bits.key)) { + keys = 1; + break; + } + if (!keys) + for (i = KEY_OK; i <= KEY_MAX; i++) +- if (TestBit (i, pEvdev->bits.key)) { ++ if (test_bit (i, pEvdev->bits.key)) { + keys = 1; + break; + } +--- a/src/inotify-syscalls.h ++++ b/src/inotify-syscalls.h +@@ -39,6 +39,10 @@ + # define __NR_inotify_init 290 + # define __NR_inotify_add_watch 291 + # define __NR_inotify_rm_watch 292 ++#elif defined (__hppa__) || defined (__hppa64__) ++# define __NR_inotify_init 269 ++# define __NR_inotify_add_watch 270 ++# define __NR_inotify_rm_watch 271 + #else + # error "Unsupported architecture!" + #endif diff --git a/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-11-bitops-fixes.patch b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-11-bitops-fixes.patch new file mode 100644 index 000000000..91240faa3 --- /dev/null +++ b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-11-bitops-fixes.patch @@ -0,0 +1,42 @@ +From: Zephaniah E. Hull +Date: Mon, 15 May 2006 22:47:23 +0000 (+0000) +Subject: Hopefully fix the bitops stuff to actually _work_. +X-Git-Tag: xf86-video-impact-0_2_0 +X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/driver/xf86-input-evdev.git;a=commitdiff;h=1b03250797daa0ac98323a9f43e895dd0b5c7761 + +Hopefully fix the bitops stuff to actually _work_. +--- + +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,8 @@ ++2006-05-15 Zephaniah E. Hull,,, ++ ++ * src/evdev.h: ++ Hopefully fix the bitops stuff to actually _work_. ++ + 2006-05-14 Zephaniah E. Hull + + * man/evdev.man: +--- a/src/evdev.h ++++ b/src/evdev.h +@@ -73,15 +73,15 @@ + #include + + #ifndef BITS_PER_LONG +-#define BITS_PER_LONG (sizeof(long) * 8) ++#define BITS_PER_LONG (sizeof(unsigned long) * 8) + #endif + + #define NBITS(x) ((((x)-1)/BITS_PER_LONG)+1) +-#define LONG(x) ((x) >> (sizeof(unsigned long) + 1)) +-#define MASK(x) (1 << ((x) & (sizeof (unsigned long) * 8 - 1))) ++#define LONG(x) ((x)/BITS_PER_LONG) ++#define MASK(x) (1UL << ((x) & (BITS_PER_LONG - 1))) + + #ifndef test_bit +-#define test_bit(bit, array) (array[LONG(bit)] & MASK(bit)) ++#define test_bit(bit, array) (!!(array[LONG(bit)] & MASK(bit))) + #endif + #ifndef set_bit + #define set_bit(bit, array) (array[LONG(bit)] |= MASK(bit)) diff --git a/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-20-add-inotify-architectures.patch b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-20-add-inotify-architectures.patch new file mode 100644 index 000000000..a70832568 --- /dev/null +++ b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-20-add-inotify-architectures.patch @@ -0,0 +1,29 @@ +Index: xserver-xorg-input-evdev/src/inotify-syscalls.h +=================================================================== +--- xserver-xorg-input-evdev.orig/src/inotify-syscalls.h 2006-11-01 19:37:12.000000000 +1100 ++++ xserver-xorg-input-evdev/src/inotify-syscalls.h 2006-11-01 19:59:51.000000000 +1100 +@@ -43,6 +43,24 @@ + # define __NR_inotify_init 269 + # define __NR_inotify_add_watch 270 + # define __NR_inotify_rm_watch 271 ++#elif defined (__mips__) ++# if _MIPS_SIM == _MIPS_SIM_ABI32 ++# define __NR_inotify_init 4284 ++# define __NR_inotify_add_watch 4285 ++# define __NR_inotify_rm_watch 4286 ++# elif _MIPS_SIM == _MIPS_SIM_NABI32 ++# define __NR_inotify_init 6247 ++# define __NR_inotify_add_watch 6248 ++# define __NR_inotify_rm_watch 6249 ++# elif _MIPS_SIM == _MIPS_SIM_ABI64 ++# define __NR_inotify_init 5243 ++# define __NR_inotify_add_watch 5244 ++# define __NR_inotify_rm_watch 5245 ++# endif ++#elif defined (__mc68000__) ++# define __NR_inotify_init 284 ++# define __NR_inotify_add_watch 285 ++# define __NR_inotify_rm_watch 286 + #else + # error "Unsupported architecture!" + #endif diff --git a/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-30-absolute-axis.patch b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-30-absolute-axis.patch new file mode 100644 index 000000000..5b3737eca --- /dev/null +++ b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-30-absolute-axis.patch @@ -0,0 +1,31 @@ +From: Adam Jackson +Date: Fri, 2 Jun 2006 19:39:52 +0000 (+0000) +Subject: Fix an obvious bogon to avoid crashing on absolute axis setup. +X-Git-Tag: xf86-video-impact-0_2_0 +X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/driver/xf86-input-evdev.git;a=commitdiff;h=57a7f2844108072bf03c9f82baf92e3447d18fbe + +Fix an obvious bogon to avoid crashing on absolute axis setup. +--- + +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,8 @@ ++2006-06-02 Adam Jackson ++ ++ * src/evdev_axes.c: ++ Fix an obvious bogon to avoid crashing on absolute axis setup. ++ + 2006-05-15 Zephaniah E. Hull,,, + + * src/evdev.h: +--- a/src/evdev_axes.c ++++ b/src/evdev_axes.c +@@ -385,7 +385,7 @@ EvdevAxisAbsNew(InputInfoPtr pInfo) + k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", 0); + else + k = xf86SetIntOption(pInfo->options, "AbsoluteScreen", -1); +- if (k < screenInfo.numScreens) { ++ if (k < screenInfo.numScreens && k >= 0) { + state->abs->screen = k; + xf86Msg(X_CONFIG, "%s: AbsoluteScreen: %d.\n", pInfo->name, k); + } else { diff --git a/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-40-close-fd.patch b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-40-close-fd.patch new file mode 100644 index 000000000..e00042406 --- /dev/null +++ b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-40-close-fd.patch @@ -0,0 +1,18 @@ +From: Zephaniah E. Hull +Date: Tue, 11 Jul 2006 07:08:30 +0000 (-0400) +Subject: Set pInfo->fd to -1 when we close it in EvdevProc. +X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/driver/xf86-input-evdev.git;a=commitdiff;h=eba5ea8d5a19f2b1984cbf20c95d22e243f19567 + +Set pInfo->fd to -1 when we close it in EvdevProc. +--- + +--- a/src/evdev.c ++++ b/src/evdev.c +@@ -200,6 +200,7 @@ EvdevProc(DeviceIntPtr device, int what) + RemoveEnabledDevice (pInfo->fd); + xf86RemoveSIGIOHandler (pInfo->fd); + close (pInfo->fd); ++ pInfo->fd = -1; + + if (pEvdev->state.axes) + EvdevAxesOff (device); diff --git a/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-50-xinput.patch b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-50-xinput.patch new file mode 100644 index 000000000..d38f56689 --- /dev/null +++ b/package/x11r7/xdriver_xf86-input-evdev/xdriver_xf86-input-evdev-1.1.2-50-xinput.patch @@ -0,0 +1,21 @@ +--- a/src/evdev.c 2008-06-23 08:40:50.000000000 -0400 ++++ b/src/evdev.c 2008-06-23 08:42:00.000000000 -0400 +@@ -233,10 +233,6 @@ EvdevSwitchMode (ClientPtr client, Devic + else + return !Success; + break; +- case SendCoreEvents: +- case DontSendCoreEvents: +- xf86XInputSetSendCoreEvents (pInfo, (mode == SendCoreEvents)); +- break; + default: + return !Success; + } +@@ -263,7 +259,6 @@ EvdevNew(evdevDriverPtr driver, evdevDev + pInfo->device_control = EvdevProc; + pInfo->read_input = EvdevReadInput; + pInfo->switch_mode = EvdevSwitchMode; +- pInfo->motion_history_proc = xf86GetMotionEvents; + pInfo->conf_idev = driver->dev; + + pInfo->private = device; -- cgit v1.2.3