summaryrefslogtreecommitdiff
path: root/recipes/xorg-lib/libx11
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/xorg-lib/libx11')
-rw-r--r--recipes/xorg-lib/libx11/X18NCMSstubs.diff528
-rw-r--r--recipes/xorg-lib/libx11/fix-disable-xlocale.diff14
-rw-r--r--recipes/xorg-lib/libx11/fix-utf8-wrong-define.patch16
-rw-r--r--recipes/xorg-lib/libx11/include_fix.patch62
-rw-r--r--recipes/xorg-lib/libx11/keysymdef_include.patch29
-rw-r--r--recipes/xorg-lib/libx11/makekeys.diff12
-rw-r--r--recipes/xorg-lib/libx11/ruutf8.patch12
-rw-r--r--recipes/xorg-lib/libx11/x11_disable_makekeys.patch30
-rw-r--r--recipes/xorg-lib/libx11/xchar2b.patch13
-rw-r--r--recipes/xorg-lib/libx11/xim.patch55
10 files changed, 771 insertions, 0 deletions
diff --git a/recipes/xorg-lib/libx11/X18NCMSstubs.diff b/recipes/xorg-lib/libx11/X18NCMSstubs.diff
new file mode 100644
index 0000000000..54b1727a95
--- /dev/null
+++ b/recipes/xorg-lib/libx11/X18NCMSstubs.diff
@@ -0,0 +1,528 @@
+--- libX11-X11R7.0-1.0.0/src/imConv.c.orig 2006-03-08 09:46:03.000000000 +0100
++++ libX11-X11R7.0-1.0.0/src/imConv.c 2006-03-08 10:50:10.000000000 +0100
+@@ -83,6 +83,7 @@
+ * from UCS char to specified charset char.
+ * This converter is needed for _XimGetCharCode subroutine.
+ */
++#ifdef XLOCALE
+ XPointer
+ _XimGetLocaleCode (
+ _Xconst char* encoding_name)
+@@ -96,6 +97,7 @@
+ }
+ return cvt;
+ }
++#endif
+
+ /*
+ * Returns the locale dependent representation of a keysym.
+@@ -107,6 +109,7 @@
+ * locale
+ */
+ /*ARGSUSED*/
++#ifdef XLOCALE
+ int
+ _XimGetCharCode (
+ XPointer ucs_conv,
+@@ -135,6 +138,7 @@
+ buf[count]= '\0';
+ return count;
+ }
++#endif
+
+ #ifdef XKB
+ static int lookup_string(
+--- libX11-X11R7.0-1.0.0/src/X18NCMSstubs.c.orig 2006-03-08 08:43:19.000000000 +0100
++++ libX11-X11R7.0-1.0.0/src/X18NCMSstubs.c 2006-03-08 11:41:28.000000000 +0100
+@@ -0,0 +1,428 @@
++/*
++ * X18NCMSstubs.c
++ * - Provides stubs and dummy funcs needed when Xcms and XLocale stuff removed
++ *
++ * Copyright © 2003 Matthew Allum
++ *
++ * Permission to use, copy, modify, distribute, and sell this software and its
++ * documentation for any purpose is hereby granted without fee, provided that
++ * the above copyright notice appear in all copies and that both that
++ * copyright notice and this permission notice appear in supporting
++ * documentation, and that the name of Matthew Allum not be used in
++ * advertising or publicity pertaining to distribution of the software without
++ * specific, written prior permission. Keith Packard and Compaq makes no
++ * representations about the suitability of this software for any purpose. It
++ * is provided "as is" without express or implied warranty.
++ *
++ * MATTHEW ALLUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
++ * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
++ * IN NO EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
++ * PERFORMANCE OF THIS SOFTWARE.
++ */
++
++#include <stdlib.h>
++#include "Xlibint.h"
++#include "Xlcint.h"
++#include <X11/Xlocale.h>
++#include <X11/Xos.h>
++#ifdef WIN32
++#undef close
++#endif
++#include <X11/Xutil.h>
++#include "XlcPubI.h"
++
++#include "Xcmsint.h" /* for XcmsCCC type */
++#include "XlcPubI.h" /* for XLCd type */
++#include "config.h"
++
++#if ! XLOCALE
++
++Bool
++XSupportsLocale()
++{
++ return False;
++}
++
++char *
++XSetLocaleModifiers(
++ const char *modifiers)
++{
++ return NULL;
++}
++
++XLCd
++_XOpenLC(
++ char *name)
++{
++ return NULL;
++}
++
++XLCd
++_XlcCurrentLC()
++{
++ return NULL;
++}
++
++void
++_XlcVaToArgList(
++ va_list var,
++ int count,
++ XlcArgList *args_ret)
++{
++ return;
++}
++
++void
++_XlcCountVaList(
++ va_list var,
++ int *count_ret)
++{
++ return;
++}
++
++void
++_XCloseLC(
++ XLCd lcd)
++{
++ return;
++}
++
++int
++_XlcConvert(
++ XlcConv conv,
++ XPointer *from,
++ int *from_left,
++ XPointer *to,
++ int *to_left,
++ XPointer *args,
++ int num_args)
++{
++ return 0;
++}
++
++/* XIM Stubs */
++
++XPointer
++_XimGetLocaleCode ( _Xconst char* encoding_name )
++{
++ return NULL;
++}
++
++int
++_XimGetCharCode (
++ XPointer ucs_conv,
++ KeySym keysym,
++ unsigned char* buf,
++ int nbytes)
++{
++ return 0;
++}
++
++/* Xrm Stubs */
++
++XrmMethods
++_XrmInitParseInfo(
++ XPointer *state)
++{
++ return (XrmMethods) NULL;
++}
++
++/* Xwc Stubs */
++
++int
++XwcTextExtents(
++ XFontSet font_set,
++ _Xconst wchar_t *text,
++ int text_len,
++ XRectangle *overall_ink_extents,
++ XRectangle *overall_logical_extents)
++{
++ return 0;
++}
++
++void
++XwcDrawString(Display *display,
++ Drawable d,
++ XFontSet font_set,
++ GC gc,
++ int x, int y,
++ _Xconst wchar_t *string,
++ int num_wchars)
++{
++ ;
++}
++
++void
++XwcDrawText(
++ Display *dpy,
++ Drawable d,
++ GC gc,
++ int x,
++ int y,
++ XwcTextItem *text_items,
++ int nitems)
++{
++ ;
++}
++
++void
++XwcDrawImageString(
++ Display *dpy,
++ Drawable d,
++ XFontSet font_set,
++ GC gc,
++ int x,
++ int y,
++ _Xconst wchar_t *text,
++ int text_len)
++{
++ ;
++}
++
++int
++XwcTextEscapement(
++ XFontSet font_set,
++ _Xconst wchar_t *text,
++ int text_len)
++{
++ return 0;
++}
++
++Status
++XwcTextPerCharExtents(
++ XFontSet font_set,
++ _Xconst wchar_t *text,
++ int text_len,
++ XRectangle *ink_extents_buffer,
++ XRectangle *logical_extents_buffer,
++ int buffer_size,
++ int *num_chars,
++ XRectangle *max_ink_extents,
++ XRectangle *max_logical_extents)
++{
++ ;
++}
++
++int
++XwcTextPropertyToTextList(
++ Display *dpy,
++ const XTextProperty *text_prop,
++ wchar_t ***list_ret,
++ int *count_ret)
++{
++ return 0;
++}
++
++int
++XwcTextListToTextProperty(
++ Display *dpy,
++ wchar_t **list,
++ int count,
++ XICCEncodingStyle style,
++ XTextProperty *text_prop)
++{
++ return 0;
++}
++
++void
++XwcFreeStringList(wchar_t **list)
++{
++ return;
++}
++
++
++void XmbSetWMProperties ( /* Actually from mbWMProps.c */
++ Display *dpy,
++ Window w,
++ _Xconst char *windowName,
++ _Xconst char *iconName,
++ char **argv,
++ int argc,
++ XSizeHints *sizeHints,
++ XWMHints *wmHints,
++ XClassHint *classHints)
++{
++ return;
++}
++
++int
++XmbTextPropertyToTextList(
++ Display *dpy,
++ const XTextProperty *text_prop,
++ char ***list_ret,
++ int *count_ret)
++{
++ return XLocaleNotSupported;
++}
++
++int
++XmbTextListToTextProperty(
++ Display *dpy,
++ char **list,
++ int count,
++ XICCEncodingStyle style,
++ XTextProperty *text_prop)
++{
++ return XLocaleNotSupported;
++}
++
++int
++XmbTextExtents(
++ XFontSet font_set,
++ _Xconst char *text,
++ int text_len,
++ XRectangle *overall_ink_extents,
++ XRectangle *overall_logical_extents)
++{
++ return 0;
++}
++
++void
++XmbDrawText(
++ Display *dpy,
++ Drawable d,
++ GC gc,
++ int x,
++ int y,
++ XmbTextItem *text_items,
++ int nitems)
++{
++ ;
++}
++
++void
++XmbDrawString(
++ Display *dpy,
++ Drawable d,
++ XFontSet font_set,
++ GC gc,
++ int x,
++ int y,
++ _Xconst char *text,
++ int text_len)
++{
++ ;
++}
++
++void
++XmbDrawImageString(
++ Display *dpy,
++ Drawable d,
++ XFontSet font_set,
++ GC gc,
++ int x,
++ int y,
++ _Xconst char *text,
++ int text_len)
++{
++ ;
++}
++
++int
++XmbTextEscapement(
++ XFontSet font_set,
++ _Xconst char *text,
++ int text_len)
++{
++ return 0;
++}
++
++Status
++XmbTextPerCharExtents(
++ XFontSet font_set,
++ _Xconst char *text,
++ int text_len,
++ XRectangle *ink_extents_buffer,
++ XRectangle *logical_extents_buffer,
++ int buffer_size,
++ int *num_chars,
++ XRectangle *max_ink_extents,
++ XRectangle *max_logical_extents)
++{
++ return 0;
++}
++
++unsigned int
++KeySymToUcs4(KeySym keysym)
++{
++ return 0;
++}
++
++#endif
++
++#if ! XCMS
++
++XcmsCCC
++XcmsCCCOfColormap(dpy, cmap)
++ Display *dpy;
++ Colormap cmap;
++{
++ return NULL;
++}
++
++Status
++_XcmsResolveColorString (
++ XcmsCCC ccc,
++ const char **color_string,
++ XcmsColor *pColor_exact_return,
++ XcmsColorFormat result_format)
++{
++ return(XcmsFailure);
++}
++
++void
++_XcmsUnresolveColor(
++ XcmsCCC ccc,
++ XcmsColor *pColor)
++{
++ return;
++}
++
++void
++_XUnresolveColor(
++ XcmsCCC ccc,
++ XColor *pXColor)
++{
++ return;
++}
++
++XcmsCmapRec *
++_XcmsAddCmapRec(dpy, cmap, windowID, visual)
++ Display *dpy;
++ Colormap cmap;
++ Window windowID;
++ Visual *visual;
++{
++ return NULL;
++}
++
++void
++_XcmsRGB_to_XColor(
++ XcmsColor *pColors,
++ XColor *pXColors,
++ unsigned int nColors)
++{
++ return;
++}
++
++XcmsCmapRec *
++_XcmsCopyCmapRecAndFree(
++ Display *dpy,
++ Colormap src_cmap,
++ Colormap copy_cmap)
++{
++ return NULL;
++}
++
++void
++_XcmsDeleteCmapRec(
++ Display *dpy,
++ Colormap cmap)
++{
++ return;
++}
++
++#endif
+--- libX11-X11R7.0-1.0.0/src/Makefile.am.orig 2006-03-08 08:31:09.000000000 +0100
++++ libX11-X11R7.0-1.0.0/src/Makefile.am 2006-03-08 09:36:23.000000000 +0100
+@@ -331,6 +331,8 @@
+ libX11_la_SOURCES+=UIThrStubs.c
+ endif
+
++libX11_la_SOURCES+=X18NCMSstubs.c
++
+ x11datadir = @X11_DATADIR@
+ x11data_DATA = XKeysymDB XErrorDB
+
+@@ -338,7 +340,8 @@
+ $(x11data_DATA) \
+ os2Stubs.c \
+ udcInf.c \
+- UIThrStubs.c
++ UIThrStubs.c \
++ X18NCMSstubs.c
+
+ #
+ # Figure out which sub-libraries to link into Xlib
+--- libX11-X11R7.0-1.0.0/src/locking.c.orig 2006-03-08 11:05:56.000000000 +0100
++++ libX11-X11R7.0-1.0.0/src/locking.c 2006-03-08 11:06:37.000000000 +0100
+@@ -55,7 +55,9 @@
+ #define NUM_FREE_CVLS 4
+
+ /* in lcWrap.c */
++#ifdef XLOCALE
+ extern LockInfoPtr _Xi18n_lock;
++#endif
+
+ #ifdef WIN32
+ static DWORD _X_TlsIndex = (DWORD)-1;
+@@ -625,9 +627,11 @@
+ _Xglobal_lock = &global_lock;
+ xmutex_init(_Xglobal_lock->lock);
+ xmutex_set_name(_Xglobal_lock->lock, "Xlib global");
++#ifdef XLOCALE
+ _Xi18n_lock = &i18n_lock;
+ xmutex_init(_Xi18n_lock->lock);
+ xmutex_set_name(_Xi18n_lock->lock, "Xlib i18n");
++#endif
+ _XLockMutex_fn = _XLockMutex;
+ _XUnlockMutex_fn = _XUnlockMutex;
+ _XCreateMutex_fn = _XCreateMutex;
+--- libX11-X11R7.0-1.0.0/configure.ac.orig 2006-03-08 10:03:57.000000000 +0100
++++ libX11-X11R7.0-1.0.0/configure.ac 2006-03-08 10:06:01.000000000 +0100
+@@ -215,7 +215,14 @@
+ esac
+ AC_SUBST(KEYSYMDEF)
+
+-AM_CONDITIONAL(UDC, test xfalse = xtrue)
++AC_ARG_ENABLE(udc,
++ AC_HELP_STRING([--disable-udc],
++ [Disable Xlib support for UDC *EXPERIMENTAL*]),
++ [UDC=$enableval],[UDC=yes])
++AM_CONDITIONAL(UDC, [test x$UDC = xyes ])
++if test x"$UDC" = "xyes"; then
++ AC_DEFINE(UDC,1,[Include support for UDC])
++fi
+
+ AC_ARG_ENABLE(xcms,
+ AC_HELP_STRING([--disable-xcms],
diff --git a/recipes/xorg-lib/libx11/fix-disable-xlocale.diff b/recipes/xorg-lib/libx11/fix-disable-xlocale.diff
new file mode 100644
index 0000000000..9dbf6dac68
--- /dev/null
+++ b/recipes/xorg-lib/libx11/fix-disable-xlocale.diff
@@ -0,0 +1,14 @@
+--- libX11-X11R7.0-1.0.0/src/Font.c.orig 2006-03-12 18:35:42.000000000 +0100
++++ libX11-X11R7.0-1.0.0/src/Font.c 2006-03-12 18:40:27.000000000 +0100
+@@ -701,7 +701,11 @@
+ }
+ if (l - 2 - (p - charset) < 0)
+ return 0;
++#ifdef XLOCALE
+ if (_XlcNCompareISOLatin1(name + l - 2 - (p - charset), charset, p - charset))
++#else
++ if (strncasecmp(name + l - 2 - (p - charset), charset, p - charset))
++#endif
+ return 0;
+ if (strlen(p + 1) + l - 1 >= sizeof(buf) - 1)
+ return 0;
diff --git a/recipes/xorg-lib/libx11/fix-utf8-wrong-define.patch b/recipes/xorg-lib/libx11/fix-utf8-wrong-define.patch
new file mode 100644
index 0000000000..a098db1941
--- /dev/null
+++ b/recipes/xorg-lib/libx11/fix-utf8-wrong-define.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+--- libX11-X11R7.0-1.0.0/include/X11/Xlib.h~fix-utf8-wrong-define
++++ libX11-X11R7.0-1.0.0/include/X11/Xlib.h
+@@ -103,7 +103,7 @@
+
+ /* API mentioning "UTF8" or "utf8" is an XFree86 extension, introduced in
+ November 2000. Its presence is indicated through the following macro. */
+-#define X_HAVE_UTF8_STRING 1
++#undef X_HAVE_UTF8_STRING
+
+ typedef char *XPointer;
+
diff --git a/recipes/xorg-lib/libx11/include_fix.patch b/recipes/xorg-lib/libx11/include_fix.patch
new file mode 100644
index 0000000000..565308834e
--- /dev/null
+++ b/recipes/xorg-lib/libx11/include_fix.patch
@@ -0,0 +1,62 @@
+---
+ configure.ac | 44 ++++++++++++++++++++++++--------------------
+ 1 file changed, 24 insertions(+), 20 deletions(-)
+
+Index: libX11-1.1.2/configure.ac
+===================================================================
+--- libX11-1.1.2.orig/configure.ac 2008-01-02 15:30:47.000000000 +0000
++++ libX11-1.1.2/configure.ac 2008-01-02 15:47:25.000000000 +0000
+@@ -207,29 +207,33 @@ AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL,
+ #
+ KEYSYMDEF=""
+ AC_MSG_CHECKING([keysymdef.h])
+-for flag in $XPROTO_CFLAGS -I/usr/include; do
+- case "$KEYSYMDEF" in
+- "")
+- case "$flag" in
+- *-I*)
+- dir=`echo "$flag" | sed 's/ *-I//'`
+- file="$dir/X11/keysymdef.h"
+- if test -f "$file"; then
+- KEYSYMDEF="$file"
+- fi
++AC_ARG_WITH(keysymdef,
++ AC_HELP_STRING([--with-keysymdef=DIR/keysymdef.h], [The location of keysymdef.h]),
++ KEYSYMDEF=$withval, KEYSYMDEF="")
++
++if test x$KEYSYMDEF = x; then
++ for flag in $XPROTO_CFLAGS -I/usr/include; do
++ case "$KEYSYMDEF" in
++ "")
++ case "$flag" in
++ *-I*)
++ dir=`echo "$flag" | sed 's/ *-I//'`
++ file="$dir/X11/keysymdef.h"
++ if test -f "$file"; then
++ KEYSYMDEF="$file"
++ fi
++ ;;
++ esac
+ ;;
+ esac
+- ;;
+- esac
+-done
+-case "$KEYSYMDEF" in
+-"")
+- AC_MSG_ERROR([Cannot find keysymdef.h])
+- ;;
+-*)
++ done
++fi
++
++if test -f "$KEYSYMDEF"; then
+ AC_MSG_RESULT([$KEYSYMDEF])
+- ;;
+-esac
++else
++ AC_MSG_ERROR([Cannot find keysymdef.h])
++fi
+ AC_SUBST(KEYSYMDEF)
+
+ AC_ARG_ENABLE(udc,
diff --git a/recipes/xorg-lib/libx11/keysymdef_include.patch b/recipes/xorg-lib/libx11/keysymdef_include.patch
new file mode 100644
index 0000000000..07487b6b2e
--- /dev/null
+++ b/recipes/xorg-lib/libx11/keysymdef_include.patch
@@ -0,0 +1,29 @@
+Index: libX11-1.1.5/configure.ac
+===================================================================
+--- libX11-1.1.5.orig/configure.ac 2008-10-28 11:36:49.000000000 +0000
++++ libX11-1.1.5/configure.ac 2008-10-28 11:40:05.000000000 +0000
+@@ -221,13 +221,21 @@
+ # Find keysymdef.h
+ #
+ AC_MSG_CHECKING([keysymdef.h])
+-dir=`pkg-config --variable=includedir xproto`
+-KEYSYMDEF="$dir/X11/keysymdef.h"
++AC_ARG_WITH(keysymdef,
++ AC_HELP_STRING([--with-keysymdef=DIR/keysymdef.h], [The location of keysymdef.h]),
++ KEYSYMDEF=$withval, KEYSYMDEF="")
++
++if test x$KEYSYMDEF = x; then
++ dir=`pkg-config --variable=includedir xproto`
++ KEYSYMDEF="$dir/X11/keysymdef.h"
++fi
++
+ if test -f "$KEYSYMDEF"; then
+- AC_MSG_RESULT([$KEYSYMDEF])
++ AC_MSG_RESULT([$KEYSYMDEF])
+ else
+ AC_MSG_ERROR([Cannot find keysymdef.h])
+ fi
++
+ AC_SUBST(KEYSYMDEF)
+
+ AM_CONDITIONAL(UDC, test xfalse = xtrue)
diff --git a/recipes/xorg-lib/libx11/makekeys.diff b/recipes/xorg-lib/libx11/makekeys.diff
new file mode 100644
index 0000000000..cea08725ec
--- /dev/null
+++ b/recipes/xorg-lib/libx11/makekeys.diff
@@ -0,0 +1,12 @@
+diff -Nru libX11-X11R7.1-1.0.1.org/src/util/makekeys.c libX11-X11R7.1-1.0.1/src/util/makekeys.c
+--- libX11-X11R7.1-1.0.1.org/src/util/makekeys.c 2007-03-08 14:34:34.000000000 +0100
++++ libX11-X11R7.1-1.0.1/src/util/makekeys.c 2007-03-08 14:34:58.000000000 +0100
+@@ -49,7 +49,7 @@
+ KeySym val;
+ } info[KTNUM];
+
+-#define MIN_REHASH 10
++#define MIN_REHASH 15
+ #define MATCHES 10
+
+ char tab[KTNUM];
diff --git a/recipes/xorg-lib/libx11/ruutf8.patch b/recipes/xorg-lib/libx11/ruutf8.patch
new file mode 100644
index 0000000000..0822b30cb8
--- /dev/null
+++ b/recipes/xorg-lib/libx11/ruutf8.patch
@@ -0,0 +1,12 @@
+diff --git a/nls/locale.alias.pre b/nls/locale.alias.pre
+index a74ca75..ff5bc3f 100644
+--- a/nls/locale.alias.pre
++++ b/nls/locale.alias.pre
+@@ -898,6 +898,7 @@ ru_RU.cp1251: ru_RU.CP1251
+ ru_RU.microsoftcp1251: ru_RU.CP1251
+ ru_RU.microsoft-cp1251: ru_RU.CP1251
+ ru_RU.MICROSOFT-CP1251: ru_RU.CP1251
++ru_RU.utf8: ru_RU.UTF-8
+ #if defined(INCLUDE_ru_SU)
+ XCOMM ru_SU is redundant now
+ ru_SU: ru_RU.KOI8-R
diff --git a/recipes/xorg-lib/libx11/x11_disable_makekeys.patch b/recipes/xorg-lib/libx11/x11_disable_makekeys.patch
new file mode 100644
index 0000000000..2a8a55cdf5
--- /dev/null
+++ b/recipes/xorg-lib/libx11/x11_disable_makekeys.patch
@@ -0,0 +1,30 @@
+---
+ src/util/Makefile.am | 17 -----------------
+ 1 file changed, 17 deletions(-)
+
+Index: libX11-1.1.2/src/util/Makefile.am
+===================================================================
+--- libX11-1.1.2.orig/src/util/Makefile.am 2007-08-22 14:17:42.000000000 +0100
++++ libX11-1.1.2/src/util/Makefile.am 2007-08-22 14:18:04.000000000 +0100
+@@ -1,21 +1,4 @@
+ # $XdotOrg: lib/X11/src/util/Makefile.am,v 1.4 2006-02-19 02:14:12 jamey Exp $
+
+-noinst_PROGRAMS=makekeys
+-
+-makekeys_CFLAGS=$(X11_CFLAGS)
+-
+-#override CC = gcc
+-LINK = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+-
+ EXTRA_DIST = mkks.sh
+
+-if LINT
+-# Check source code with tools like lint & sparse
+-
+-ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
+-
+-lint:
+- $(LINT) $(ALL_LINT_FLAGS) makekeys.c
+-
+-endif LINT
diff --git a/recipes/xorg-lib/libx11/xchar2b.patch b/recipes/xorg-lib/libx11/xchar2b.patch
new file mode 100644
index 0000000000..31da58fa5c
--- /dev/null
+++ b/recipes/xorg-lib/libx11/xchar2b.patch
@@ -0,0 +1,13 @@
+http://www.koka-in.org/~kensyu/zaurus/diary/20030618.html
+
+--- /tmp/Xlib.h 2006-12-01 14:40:27.000000000 +0100
++++ libX11-X11R7.1-1.0.1/include/X11/Xlib.h 2006-12-01 14:40:56.948254000 +0100
+@@ -1067,7 +1067,7 @@
+ typedef struct { /* normal 16 bit characters are two bytes */
+ unsigned char byte1;
+ unsigned char byte2;
+-} XChar2b;
++} __attribute__ ((packed)) XChar2b;
+
+ typedef struct {
+ XChar2b *chars; /* two byte characters */
diff --git a/recipes/xorg-lib/libx11/xim.patch b/recipes/xorg-lib/libx11/xim.patch
new file mode 100644
index 0000000000..0eab197a80
--- /dev/null
+++ b/recipes/xorg-lib/libx11/xim.patch
@@ -0,0 +1,55 @@
+--- libX11-6.2.1/src/X18NCMSstubs.c 2003-12-04 22:47:47.000000000 +0000
++++ libX11-6.2.1/src/X18NCMSstubs.c-new 2005-12-09 12:09:03.000000000 +0000
+@@ -90,6 +90,52 @@
+ return;
+ }
+
++XIM
++XOpenIM (
++ Display* display,
++ struct _XrmHashBucketRec* rdb,
++ char* res_name,
++ char* res_class)
++{
++ return (XIM) NULL;
++}
++
++Status
++XCloseIM ( XIM im )
++{
++ return NULL;
++}
++
++XIC
++XCreateIC ( XIM im, ...)
++{
++ return NULL;
++}
++
++void
++XDestroyIC ( XIC ic )
++{
++ return;
++}
++
++int
++XmbLookupString (
++ XIC ic,
++ XKeyPressedEvent* ev,
++ char* buffer,
++ int nbytes,
++ KeySym* keysym,
++ Status* status)
++{
++ return XLookupNone;
++}
++
++char *
++XGetICValues( XIC ic, ...)
++{
++ return (char *) NULL;
++}
++
+ XPointer
+ _XimGetLocaleCode ( _Xconst char* encoding_name )
+ {