--- /dev/null
+From 5e6e99eaef3ca346c78a3e520ed58ec8b8100b41 Mon Sep 17 00:00:00 2001
+From: Adam Tkac <atkac@redhat.com>
+Date: Thu, 2 Sep 2010 17:24:38 +0200
+Subject: [PATCH] Add -xkbcompdir parameter to modify "xkbcomp" path from commandline.
+
+Signed-off-by: Adam Tkac <atkac@redhat.com>
+---
+ xkb/xkbInit.c | 21 +++++++++++++++++++++
+ 1 files changed, 21 insertions(+), 0 deletions(-)
+
+diff --git a/xkb/xkbInit.c b/xkb/xkbInit.c
+index fbf8f14..29fb33e 100644
+--- a/xkb/xkbInit.c
++++ b/xkb/xkbInit.c
+@@ -742,7 +742,28 @@ XkbProcessArguments(int argc,char *argv[],int i)
+ }
+ }
+ return j;
++ } else if (strncmp(argv[i], "-xkbcompdir", 11)==0) {
++ if (++i < argc) {
++#if !defined(WIN32) && !defined(__CYGWIN__)
++ if (getuid() != geteuid()) {
++ LogMessage(X_WARNING, "-xkbdir is not available for setuid X servers\n");
++ return -1;
++ } else
++#endif
++ {
++ if (strlen(argv[i]) < PATH_MAX) {
++ XkbBinDirectory = argv[i];
++ return 2;
++ } else {
++ LogMessage(X_ERROR, "-xkbcompdir pathname too long\n");
++ return -1;
++ }
++ }
++ } else {
++ return -1;
++ }
+ }
++
+ if ((strcmp(argv[i], "-ardelay") == 0) ||
+ (strcmp (argv[i], "-ar1") == 0)) { /* -ardelay int */
+ if (++i >= argc) UseMsg ();
+--
+1.7.2.3
+
--- /dev/null
+From 7c31dd5db8b43c7796bf97a07e08213af5afd2ae Mon Sep 17 00:00:00 2001
+From: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+Date: Thu, 15 Oct 2009 04:24:25 -0500
+Subject: [PATCH] Remove CopyISOLatin1Lowered
+
+This function was moved verbatim into libXfont-1.4, and it is not used
+by the server or any drivers. Exporting it in both places leads to
+multiple definition linking errors on Cygwin, where we need to use a
+static libXfont due to poor weak-symbol handling.
+
+Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+Signed-off-by: Adam Tkac <atkac@redhat.com>
+---
+ dix/dixutils.c | 10 ----------
+ include/dix.h | 5 -----
+ 2 files changed, 0 insertions(+), 15 deletions(-)
+
+diff --git a/dix/dixutils.c b/dix/dixutils.c
+index 5cede5f..8278d44 100644
+--- a/dix/dixutils.c
++++ b/dix/dixutils.c
+@@ -165,16 +165,6 @@ ISOLatin1ToLower (unsigned char source)
+ }
+
+
+-void
+-CopyISOLatin1Lowered(unsigned char *dest, unsigned char *source, int length)
+-{
+- int i;
+-
+- for (i = 0; i < length; i++, source++, dest++)
+- *dest = ISOLatin1ToLower (*source);
+- *dest = '\0';
+-}
+-
+ int
+ CompareISOLatin1Lowered(unsigned char *s1, int s1len,
+ unsigned char *s2, int s2len)
+diff --git a/include/dix.h b/include/dix.h
+index 9fd2ed8..ed3acb6 100644
+--- a/include/dix.h
++++ b/include/dix.h
+@@ -173,11 +173,6 @@ extern _X_EXPORT void MarkClientException(
+ extern _X_HIDDEN Bool CreateConnectionBlock(void);
+ /* dixutils.c */
+
+-extern _X_EXPORT void CopyISOLatin1Lowered(
+- unsigned char * /*dest*/,
+- unsigned char * /*source*/,
+- int /*length*/);
+-
+ extern _X_EXPORT int CompareISOLatin1Lowered(
+ unsigned char * /*a*/,
+ int alen,
+--
+1.7.2.3
+