libx11-diet: added GIT version

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5500 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Marcin Juszkiewicz 2008-10-14 11:53:14 +00:00
parent 13a115a188
commit 8e98e1f211
7 changed files with 722 additions and 0 deletions

View File

@ -0,0 +1,19 @@
require libx11.inc
PV = "1.1.99.1+git${SRCREV}"
SRC_URI = "git://anongit.freedesktop.org/git/xorg/lib/libX11;protocol=git"
S = "${WORKDIR}/git"
SRC_URI += "file://x11_disable_makekeys.patch;patch=1 \
file://include_fix.patch;patch=1 \
file://X18NCMSstubs.diff;patch=1 \
file://fix-disable-xlocale.diff;patch=1 \
file://fix-utf8-wrong-define.patch;patch=1"
DEPENDS += "bigreqsproto xproto xextproto xtrans libxau xcmiscproto \
libxdmcp xf86bigfontproto kbproto inputproto xproto-native"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libx11-git"
EXTRA_OECONF += "--without-xcb --disable-udc --disable-xcms --disable-xlocale"
CFLAGS += "-D_GNU_SOURCE"

View File

@ -0,0 +1,568 @@
---
configure.ac | 9 -
src/Makefile.am | 5
src/X18NCMSstubs.c | 428 +++++++++++++++++++++++++++++++++++++++++++++++++++++
src/imConv.c | 4
src/locking.c | 4
5 files changed, 448 insertions(+), 2 deletions(-)
--- git.orig/configure.ac
+++ git/configure.ac
@@ -263,11 +263,18 @@ if test -f "$KEYSYMDEF"; then
else
AC_MSG_ERROR([Cannot find keysymdef.h])
fi
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],
[Disable Xlib support for CMS *EXPERIMENTAL*]),
[XCMS=$enableval],[XCMS=yes])
--- git.orig/src/Makefile.am
+++ git/src/Makefile.am
@@ -329,18 +329,21 @@ endif
if THRSTUBS
libX11_la_SOURCES+=UIThrStubs.c
endif
+libX11_la_SOURCES+=X18NCMSstubs.c
+
x11datadir = @X11_DATADIR@
x11data_DATA = XKeysymDB XErrorDB
EXTRA_DIST = \
$(x11data_DATA) \
os2Stubs.c \
udcInf.c \
- UIThrStubs.c
+ UIThrStubs.c \
+ X18NCMSstubs.c
if XCB
libX11_la_SOURCES += \
xcb_lock.c \
xcb_disp.c \
--- /dev/null
+++ git/src/X18NCMSstubs.c
@@ -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
--- git.orig/src/imConv.c
+++ git/src/imConv.c
@@ -81,10 +81,11 @@ static const struct SubstRec SubstTable[
/*
* Given the name of a charset, returns the pointer to convertors
* from UCS char to specified charset char.
* This converter is needed for _XimGetCharCode subroutine.
*/
+#ifdef XLOCALE
XPointer
_XimGetLocaleCode (
_Xconst char* encoding_name)
{
XPointer cvt = _Utf8GetConvByName(encoding_name);
@@ -94,10 +95,11 @@ _XimGetLocaleCode (
if (!strcmp(encoding_name, SubstTable[i].encoding_name))
return _Utf8GetConvByName(SubstTable[i].charset_name);
}
return cvt;
}
+#endif
/*
* Returns the locale dependent representation of a keysym.
* The locale's encoding is passed in form of pointer to UCS convertor.
* The resulting multi-byte sequence is placed starting at buf (a buffer
@@ -105,10 +107,11 @@ _XimGetLocaleCode (
* Returns the length of the resulting multi-byte sequence, excluding the
* terminating NUL byte. Return 0 if the keysym is not representable in the
* locale
*/
/*ARGSUSED*/
+#ifdef XLOCALE
int
_XimGetCharCode (
XPointer ucs_conv,
KeySym keysym,
unsigned char* buf,
@@ -133,10 +136,11 @@ _XimGetCharCode (
return nbytes;
if (count<nbytes)
buf[count]= '\0';
return count;
}
+#endif
#ifdef XKB
static int lookup_string(
XKeyEvent* event,
char* buffer,
--- git.orig/src/locking.c
+++ git/src/locking.c
@@ -53,11 +53,13 @@ in this Software without prior written a
#endif
#define NUM_FREE_CVLS 4
/* in lcWrap.c */
+#ifdef XLOCALE
extern LockInfoPtr _Xi18n_lock;
+#endif
#ifdef WIN32
static DWORD _X_TlsIndex = (DWORD)-1;
void _Xthread_init()
@@ -623,13 +625,15 @@ Status XInitThreads()
return 0;
}
_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;
_XFreeMutex_fn = _XFreeMutex;
_XInitDisplayLock_fn = _XInitDisplayLock;

View File

@ -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;

View File

@ -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;

View File

@ -0,0 +1,23 @@
---
configure.ac | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
--- libX11-1.1.5.orig/configure.ac
+++ libX11-1.1.5/configure.ac
@@ -218,13 +218,13 @@ AC_SUBST(XDMCP_LIBS)
AC_CHECK_FUNC(poll, [AC_DEFINE(USE_POLL, 1, [poll() function is available])], )
#
# 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 -f "$KEYSYMDEF"; then
AC_MSG_RESULT([$KEYSYMDEF])
else
AC_MSG_ERROR([Cannot find keysymdef.h])
fi

View File

@ -0,0 +1,27 @@
---
src/util/Makefile.am | 17 -----------------
1 file changed, 17 deletions(-)
--- git.orig/src/util/Makefile.am
+++ git/src/util/Makefile.am
@@ -1,20 +1,3 @@
# $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)
-
-CC = @CC_FOR_BUILD@
-
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

View File

@ -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 )
{