summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2009-03-08 08:42:04 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2009-03-08 08:42:04 +0800
commit70bf6cc59cda384e6989e7177ef78fcc349398c2 (patch)
tree31fad30c604cd16fd853476b06a08840ce91dd0e
parent668c67513600e510f2847c7693bd829d92c895b2 (diff)
downloadmarcuscom-ports-70bf6cc59cda384e6989e7177ef78fcc349398c2.tar
marcuscom-ports-70bf6cc59cda384e6989e7177ef78fcc349398c2.tar.gz
marcuscom-ports-70bf6cc59cda384e6989e7177ef78fcc349398c2.tar.bz2
marcuscom-ports-70bf6cc59cda384e6989e7177ef78fcc349398c2.tar.lz
marcuscom-ports-70bf6cc59cda384e6989e7177ef78fcc349398c2.tar.xz
marcuscom-ports-70bf6cc59cda384e6989e7177ef78fcc349398c2.tar.zst
marcuscom-ports-70bf6cc59cda384e6989e7177ef78fcc349398c2.zip
Fix a bug with an event storm which is triggered by XSyncCreateAlarm.
Obtained from: xorg git git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@12036 df743ca5-7f9a-e211-a948-0013205c9059
-rw-r--r--x11-servers/xorg-server/Makefile124
-rw-r--r--x11-servers/xorg-server/distinfo3
-rw-r--r--x11-servers/xorg-server/files/extra-arch-alpha11
-rw-r--r--x11-servers/xorg-server/files/extra-arch-powerpc25
-rw-r--r--x11-servers/xorg-server/files/patch-Xserver-Xext-xvmc.c14
-rw-r--r--x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-compiler.h11
-rw-r--r--x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-xf86Config.c11
-rw-r--r--x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-bsd_mouse.c243
-rw-r--r--x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-i386_video.c12
-rw-r--r--x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-xf86_OSlib.h12
-rw-r--r--x11-servers/xorg-server/files/patch-Xserver-os-xprintf.c12
-rw-r--r--x11-servers/xorg-server/files/patch-bsdResource.c32
-rw-r--r--x11-servers/xorg-server/files/patch-config-hal.c143
-rw-r--r--x11-servers/xorg-server/files/patch-os-utils.c14
-rw-r--r--x11-servers/xorg-server/files/patch-render.c11
-rw-r--r--x11-servers/xorg-server/files/patch-servermd.h11
-rw-r--r--x11-servers/xorg-server/files/patch-xorgconf.cpp14
-rw-r--r--x11-servers/xorg-server/files/patch-xsync106
-rw-r--r--x11-servers/xorg-server/pkg-descr6
-rw-r--r--x11-servers/xorg-server/pkg-plist263
20 files changed, 1078 insertions, 0 deletions
diff --git a/x11-servers/xorg-server/Makefile b/x11-servers/xorg-server/Makefile
new file mode 100644
index 000000000..9fdd4e51d
--- /dev/null
+++ b/x11-servers/xorg-server/Makefile
@@ -0,0 +1,124 @@
+# New ports collection makefile for: xorg-server
+# Date created: 7 May 2004
+# Whom: anholt@FreeBSD.org
+#
+# $FreeBSD$
+#
+
+PORTNAME= xorg-server
+PORTVERSION= 1.5.3
+PORTEPOCH= 1
+PORTREVISION= 7
+CATEGORIES= x11-servers
+MASTER_SITES= http://xorg.freedesktop.org/releases/individual/xserver/
+DISTFILES= xorg-server-${PORTVERSION}.tar.bz2
+
+MAINTAINER= x11@FreeBSD.org
+COMMENT= X.Org X server and related programs
+
+LIB_DEPENDS= drm:${PORTSDIR}/graphics/libdrm
+
+RUN_DEPENDS= ${LOCALBASE}/share/X11/xkb/rules/base.xml:${PORTSDIR}/x11/xkeyboard-config
+
+CONFLICTS= XFree86-Server-*
+
+XORG_CAT= xserver
+
+USE_GL= gl
+USE_XORG= xf86driproto glproto xdmcp x11 xkbfile xxf86misc xxf86vm xaw7 \
+ xmu xt xpm xext randrproto renderproto fixesproto damageproto \
+ dri2proto xcmiscproto xextproto xproto xtrans xf86miscproto \
+ xf86vidmodeproto xf86bigfontproto scrnsaverproto bigreqsproto \
+ resourceproto fontsproto inputproto xf86dgaproto \
+ videoproto compositeproto trapproto recordproto xineramaproto \
+ evieproto xfont fontenc xkbui pixman pciaccess
+
+USE_OPENSSL= yes
+USE_PERL5_BUILD=yes
+CONFIGURE_ARGS= --disable-dmx --disable-xvfb --disable-xnest --disable-xprint \
+ --localstatedir=/var --without-dtrace --disable-xephyr \
+ --enable-record=yes --enable-xtrap=yes
+
+MAN1= Xorg.1 \
+ Xserver.1 \
+ cvt.1 \
+ gtf.1 \
+ xorgconfig.1
+MAN4= exa.4 \
+ fbdevhw.4
+MAN5= xorg.conf.5
+
+NOT_FOR_ARCHS= ia64 alpha
+
+OPTIONS= HAL "Compile with HAL config support" on \
+ AIGLX "Compile with Accelerated Indirect GLX support" on \
+ SUID "Install the Xorg server with setuid bit set" on
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_OPENSSL_BASE)
+# The reason why I use this is cause openssl from base doesn't install a .pc file
+# and configure will fail trying to find it. Setting both of those variables to
+# a *non-empty* value by-passes the pkg-config check.
+CONFIGURE_ENV= SHA1_LIB="-L/usr/lib -lcrypto" SHA1_CFLAGS="-I/usr/include"
+.endif
+
+.if !defined(WITHOUT_HAL)
+LIB_DEPENDS+= hal.1:${PORTSDIR}/sysutils/hal
+CONFIGURE_ARGS+= --enable-config-hal=yes
+.else
+CONFIGURE_ARGS+= --enable-config-hal=no
+.endif
+
+.if !defined(WITHOUT_AIGLX)
+CONFIGURE_ARGS+= --enable-aiglx=yes
+.else
+CONFIGURE_ARGS+= --enable-aiglx=no
+.endif
+
+.if !defined(WITHOUT_SUID) && (!defined(NO_SUID_XSERVER) || ${NO_SUID_XSERVER} == NO)
+CONFIGURE_ARGS+=--enable-install-setuid=yes
+.else
+CONFIGURE_ARGS+=--enable-install-setuid=no
+.endif
+
+.if ${ARCH} == alpha
+PLIST_SUB+= ALPHA_NA="@comment "
+EXTRA_PATCHES= ${.CURDIR}/files/extra-arch-alpha
+.else
+PLIST_SUB+= ALPHA_NA=""
+.endif
+
+.if ${ARCH} == powerpc
+PLIST_SUB+= PPC_NA="@comment "
+MAN4+= nv.4x
+EXTRA_PATCHES= ${.CURDIR}/files/extra-arch-powerpc
+.else
+PLIST_SUB+= PPC_NA=""
+.endif
+
+.if ${ARCH} == sparc64
+PLIST_SUB+= SPARC64=""
+PLIST_SUB+= SPARC64_NA="@comment "
+.else
+PLIST_SUB+= SPARC64="@comment "
+PLIST_SUB+= SPARC64_NA=""
+.endif
+
+.if ${ARCH} == amd64 || ${ARCH} == i386 || ${ARCH} == sparc64
+PLIST_SUB+= AMD64_I386_SPARC64=""
+.else
+PLIST_SUB+= AMD64_I386_SPARC64="@comment "
+.endif
+
+.if !defined(WITHOUT_SUID) && (!defined(NO_SUID_XSERVER) || ${NO_SUID_XSERVER} == NO)
+pre-everything::
+ @${ECHO_MSG} "By default, the X Server installs as a set-user-id root binary. When run by"
+ @${ECHO_MSG} "a normal user, it checks arguments and environment as done in the x11/wrapper"
+ @${ECHO_MSG} "port before handling them normally. If you are concerned about the security"
+ @${ECHO_MSG} "of this, but still want to run an X Server (for example using xdm/kdm/gdm,"
+ @${ECHO_MSG} "which will still run the server as root), you can cancel the build and set"
+ @${ECHO_MSG} "NO_SUID_XSERVER=YES in /etc/make.conf."
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/x11-servers/xorg-server/distinfo b/x11-servers/xorg-server/distinfo
new file mode 100644
index 000000000..0a7c42acf
--- /dev/null
+++ b/x11-servers/xorg-server/distinfo
@@ -0,0 +1,3 @@
+MD5 (xorg/xserver/xorg-server-1.5.3.tar.bz2) = 308971036e25250e7fe3cccfd5a120f8
+SHA256 (xorg/xserver/xorg-server-1.5.3.tar.bz2) = a680174f54be7763819e5275c5d5d44fc9e9b6f8e9351dd45c150eb4c182d5bb
+SIZE (xorg/xserver/xorg-server-1.5.3.tar.bz2) = 5622625
diff --git a/x11-servers/xorg-server/files/extra-arch-alpha b/x11-servers/xorg-server/files/extra-arch-alpha
new file mode 100644
index 000000000..b53d82ec0
--- /dev/null
+++ b/x11-servers/xorg-server/files/extra-arch-alpha
@@ -0,0 +1,11 @@
+--- configure.orig 2008-01-02 12:40:11.000000000 +0000
++++ configure 2008-01-02 12:41:09.000000000 +0000
+@@ -32222,7 +32222,7 @@
+
+ if test "x$XORG" = xyes -o "x$XGL" = xyes; then
+ XORG_DDXINCS='-I$(top_srcdir)/hw/xfree86 -I$(top_srcdir)/hw/xfree86/include -I$(top_srcdir)/hw/xfree86/common'
+- XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/os'
++ XORG_OSINCS='-I$(top_srcdir)/hw/xfree86/os-support -I$(top_srcdir)/hw/xfree86/os-support/bus -I$(top_srcdir)/hw/xfree86/os-support/shared -I$(top_srcdir)/os'
+ XORG_INCS="$XORG_DDXINCS $XORG_OSINCS"
+ XORG_CFLAGS="$XORGSERVER_CFLAGS -DHAVE_XORG_CONFIG_H"
+ XORG_LIBS="$COMPOSITE_LIB $MI_LIB $FIXES_LIB $XEXTXORG_LIB $GLX_LIBS $RENDER_LIB $RANDR_LIB $DAMAGE_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XPSTUBS_LIB $OS_LIB"
diff --git a/x11-servers/xorg-server/files/extra-arch-powerpc b/x11-servers/xorg-server/files/extra-arch-powerpc
new file mode 100644
index 000000000..47d5eea34
--- /dev/null
+++ b/x11-servers/xorg-server/files/extra-arch-powerpc
@@ -0,0 +1,25 @@
+--- hw/xfree86/os-support/bsd/ppc_video.c.orig 2008-01-02 12:29:21.000000000 +0000
++++ hw/xfree86/os-support/bsd/ppc_video.c 2008-01-02 12:29:00.000000000 +0000
+@@ -164,7 +164,11 @@
+
+ if (ioBase != MAP_FAILED)
+ {
++#if defined(__FreeBSD__)
++ munmap(__DEVOLATILE(unsigned char *, ioBase), 0x10000);
++#else
+ munmap(__UNVOLATILE(ioBase), 0x10000);
++#endif
+ ioBase = MAP_FAILED;
+ }
+ }
+--- hw/xfree86/int10/Makefile.in.orig 2008-01-02 12:30:05.000000000 +0000
++++ hw/xfree86/int10/Makefile.in 2008-01-02 12:30:46.000000000 +0000
+@@ -400,7 +400,7 @@
+ @INT10_VM86_TRUE@AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_VM86_LINUX $(DIX_CFLAGS) $(XORG_CFLAGS) $(EXTRA_CFLAGS)
+ @INT10_X86EMU_TRUE@AM_CFLAGS = $(I386_VIDEO_CFLAGS) -D_X86EMU -DNO_SYS_HEADERS \
+ @INT10_X86EMU_TRUE@ $(XORG_CFLAGS) $(EXTRA_CFLAGS) $(DIX_CFLAGS)
+-
++@INT10_STUB_TRUE@INCLUDES = $(XORG_INCS)
+ @INT10_VM86_TRUE@INCLUDES = $(XORG_INCS)
+ @INT10_X86EMU_TRUE@INCLUDES = $(XORG_INCS) -I$(srcdir)/../x86emu
+ @INT10_STUB_TRUE@libint10_la_SOURCES = stub.c xf86int10module.c
diff --git a/x11-servers/xorg-server/files/patch-Xserver-Xext-xvmc.c b/x11-servers/xorg-server/files/patch-Xserver-Xext-xvmc.c
new file mode 100644
index 000000000..5894dbb72
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-Xserver-Xext-xvmc.c
@@ -0,0 +1,14 @@
+Index: programs/Xserver/Xext/xvmc.c
+diff -u -p programs/Xserver/Xext/xvmc.c.orig programs/Xserver/Xext/xvmc.c
+--- Xext/xvmc.c.orig Sun Jul 3 17:53:36 2005
++++ Xext/xvmc.c Thu Jan 26 14:22:20 2006
+@@ -24,8 +24,8 @@
+
+ #ifdef HAS_XVMCSHM
+ #ifndef Lynx
+-#include <sys/ipc.h>
+ #include <sys/types.h>
++#include <sys/ipc.h>
+ #include <sys/shm.h>
+ #else
+ #include <ipc.h>
diff --git a/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-compiler.h b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-compiler.h
new file mode 100644
index 000000000..a4c50a071
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-compiler.h
@@ -0,0 +1,11 @@
+--- hw/xfree86/common/compiler.h.orig 2009-03-02 12:21:23.000000000 -0600
++++ hw/xfree86/common/compiler.h 2009-03-02 12:21:29.000000000 -0600
+@@ -498,7 +498,7 @@
+ extern unsigned int inw(unsigned long port);
+ extern unsigned int inl(unsigned long port);
+
+-# elif defined(linux) && (defined(__amd64__) || defined(__x86_64__))
++# elif defined(linux) || defined(__FreeBSD__) && (defined(__amd64__) || defined(__x86_64__))
+
+ # include <inttypes.h>
+
diff --git a/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-xf86Config.c b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-xf86Config.c
new file mode 100644
index 000000000..59aad379a
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-xf86Config.c
@@ -0,0 +1,11 @@
+--- hw/xfree86/common/xf86Config.c.orig Fri Jun 23 12:32:32 2006
++++ hw/xfree86/common/xf86Config.c Fri Jun 23 12:32:46 2006
+@@ -1042,7 +1042,7 @@
+ else
+ xf86Info.estimateSizesAggressively = 0;
+
+- xf86Info.aiglx = TRUE;
++ xf86Info.aiglx = FALSE;
+ xf86Info.aiglxFrom = X_DEFAULT;
+ if (xf86GetOptValBool(FlagOptions, FLAG_AIGLX, &value)) {
+ xf86Info.aiglx = value;
diff --git a/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-bsd_mouse.c b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-bsd_mouse.c
new file mode 100644
index 000000000..4d6e1f91b
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-bsd_mouse.c
@@ -0,0 +1,243 @@
+--- hw/xfree86/os-support/bsd/bsd_mouse.c.orig 2008-11-05 11:52:17.000000000 -0500
++++ hw/xfree86/os-support/bsd/bsd_mouse.c 2009-02-04 12:54:48.000000000 -0500
+@@ -1,4 +1,3 @@
+-
+ /*
+ * Copyright (c) 1999-2003 by The XFree86 Project, Inc.
+ *
+@@ -76,11 +75,13 @@
+ #define DEFAULT_MOUSE_DEV "/dev/mouse"
+ #define DEFAULT_SYSMOUSE_DEV "/dev/sysmouse"
+ #define DEFAULT_PS2_DEV "/dev/psm0"
++#define DEFAULT_USB_DEV "/dev/ums0"
+
+ static const char *mouseDevs[] = {
+ DEFAULT_MOUSE_DEV,
+ DEFAULT_SYSMOUSE_DEV,
+ DEFAULT_PS2_DEV,
++ DEFAULT_USB_DEV,
+ NULL
+ };
+ #elif (defined(__OpenBSD__) || defined(__NetBSD__)) && defined(WSCONS_SUPPORT)
+@@ -101,7 +102,11 @@
+ #if defined(__NetBSD__)
+ return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_AUTO;
+ #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+- return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_AUTO | MSE_MISC;
++ return MSE_SERIAL | MSE_BUS | MSE_PS2 |
++#ifdef XPS2_SUPPORT
++ MSE_XPS2 |
++#endif
++ MSE_AUTO | MSE_MISC;
+ #else
+ return MSE_SERIAL | MSE_BUS | MSE_PS2 | MSE_XPS2 | MSE_AUTO;
+ #endif
+@@ -180,10 +185,31 @@
+ { MOUSE_PROTO_THINK, "ThinkingMouse" },
+ { MOUSE_PROTO_SYSMOUSE, "SysMouse" }
+ };
+-
++
++#ifdef XPS2_SUPPORT
++static struct {
++ int dmodel;
++ char *name;
++} ps2proto[] = {
++ { MOUSE_MODEL_NETSCROLL, "NetScrollPS/2" },
++ { MOUSE_MODEL_NET, "NetMousePS/2" },
++ { MOUSE_MODEL_GLIDEPOINT, "GlidePointPS/2" },
++ { MOUSE_MODEL_THINK, "ThinkingMousePS/2" },
++ { MOUSE_MODEL_INTELLI, "IMPS/2" },
++ { MOUSE_MODEL_MOUSEMANPLUS, "MouseManPlusPS/2" },
++ { MOUSE_MODEL_EXPLORER, "ExplorerPS/2" },
++ { MOUSE_MODEL_4D, "IMPS/2" },
++ { MOUSE_MODEL_4DPLUS, "IMPS/2" },
++};
++#endif
++
+ static const char *
+ SetupAuto(InputInfoPtr pInfo, int *protoPara)
+ {
++#ifdef XPS2_SUPPORT
++ char *dev;
++#endif
++ const char *proto;
+ int i;
+ mousehw_t hw;
+ mousemode_t mode;
+@@ -191,10 +217,16 @@
+ if (pInfo->fd == -1)
+ return NULL;
+
++#ifdef XPS2_SUPPORT
+ /* set the driver operation level, if applicable */
++ dev = xf86FindOptionValue(pInfo->options, "Device");
++ if (dev != NULL && !strncmp(dev, DEFAULT_PS2_DEV, 8))
++ i = 2;
++ else
++#endif
+ i = 1;
+ ioctl(pInfo->fd, MOUSE_SETLEVEL, &i);
+-
++
+ /* interrogate the driver and get some intelligence on the device. */
+ hw.iftype = MOUSE_IF_UNKNOWN;
+ hw.model = MOUSE_MODEL_GENERIC;
+@@ -210,9 +242,18 @@
+ protoPara[0] = mode.syncmask[0];
+ protoPara[1] = mode.syncmask[1];
+ }
++ proto = devproto[i].name;
++#ifdef XPS2_SUPPORT
++ if (mode.protocol == MOUSE_PROTO_PS2)
++ for (i = 0; i < sizeof(ps2proto)/sizeof(ps2proto[0]); ++i)
++ if (hw.model == ps2proto[i].dmodel) {
++ proto = ps2proto[i].name;
++ break;
++ }
++#endif
+ xf86MsgVerb(X_INFO, 3, "%s: SetupAuto: protocol is %s\n",
+- pInfo->name, devproto[i].name);
+- return devproto[i].name;
++ pInfo->name, proto);
++ return proto;
+ }
+ }
+ }
+@@ -235,41 +276,41 @@
+ (protocol && xf86NameCmp(protocol, "SysMouse") == 0)) {
+ /*
+ * As the FreeBSD sysmouse driver defaults to protocol level 0
+- * everytime it is opened we enforce protocol level 1 again at
++ * everytime it is closed we enforce protocol level 1 again at
+ * this point.
+ */
+ mode.level = 1;
+ } else
+- mode.level = -1;
+-#else
+- mode.level = -1;
+ #endif
++ mode.level = -1;
+ ioctl(pInfo->fd, MOUSE_SETMODE, &mode);
+ }
+ #endif
+
+ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+-
+-#define MOUSED_PID_FILE "/var/run/moused.pid"
+-
+ /*
+ * Try to check if moused is running. DEFAULT_SYSMOUSE_DEV is useless without
+- * it. There doesn't seem to be a better way of checking.
++ * it. Also, try to check if the device is used by moused. If it is opened
++ * by moused, we do not want to use it directly. There doesn't seem to be
++ * a better way of checking.
+ */
+ static Bool
+-MousedRunning(void)
++MousedRunning(const char *dev)
+ {
++ char cmd[128];
+ FILE *f = NULL;
+- unsigned int pid;
++ unsigned int i;
+
+- if ((f = fopen(MOUSED_PID_FILE, "r")) != NULL) {
+- if (fscanf(f, "%u", &pid) == 1 && pid > 0) {
+- if (kill(pid, 0) == 0) {
+- fclose(f);
+- return TRUE;
+- }
++ if (dev)
++ sprintf(cmd, "sh -c 'fstat %s | grep -c moused' 2>/dev/null", dev);
++ else
++ sprintf(cmd, "sh -c 'pgrep -nx moused' 2>/dev/null");
++ if ((f = popen(cmd, "r")) != NULL) {
++ if (fscanf(f, "%u", &i) == 1 && i > 0) {
++ pclose(f);
++ return TRUE;
+ }
+- fclose(f);
++ pclose(f);
+ }
+ return FALSE;
+ }
+@@ -277,17 +318,17 @@
+ static const char *
+ FindDevice(InputInfoPtr pInfo, const char *protocol, int flags)
+ {
+- int fd = -1;
++ int ret = -1;
+ const char **pdev, *dev = NULL;
+ Bool devMouse = FALSE;
+ struct stat devMouseStat;
+ struct stat sb;
+
+ for (pdev = mouseDevs; *pdev; pdev++) {
+- SYSCALL (fd = open(*pdev, O_RDWR | O_NONBLOCK));
+- if (fd == -1) {
++ SYSCALL (ret = stat(*pdev, &sb));
++ if (ret == -1) {
+ #ifdef DEBUG
+- ErrorF("Cannot open %s (%s)\n", *pdev, strerror(errno));
++ ErrorF("Cannot stat %s (%s)\n", *pdev, strerror(errno));
+ #endif
+ } else {
+ /*
+@@ -296,28 +337,32 @@
+ * the test for whether /dev/sysmouse is usable can be made.
+ */
+ if (!strcmp(*pdev, DEFAULT_MOUSE_DEV)) {
+- if (fstat(fd, &devMouseStat) == 0)
+- devMouse = TRUE;
+- close(fd);
++ memcpy(&devMouseStat, &sb, sizeof(devMouseStat));
++ devMouse = TRUE;
+ continue;
+ } else if (!strcmp(*pdev, DEFAULT_SYSMOUSE_DEV)) {
+ /* Check if /dev/mouse is the same as /dev/sysmouse. */
+- if (devMouse && fstat(fd, &sb) == 0 &&
+- devMouseStat.st_dev == sb.st_dev &&
++ if (devMouse && devMouseStat.st_dev == sb.st_dev &&
+ devMouseStat.st_ino == sb.st_ino) {
+ /* If the same, use /dev/sysmouse. */
+ devMouse = FALSE;
+ }
+- close(fd);
+- if (MousedRunning())
++ if (MousedRunning(NULL))
+ break;
+- else {
+-#ifdef DEBUG
+- ErrorF("moused isn't running\n");
+-#endif
+- }
+ } else {
+- close(fd);
++ /* Check if /dev/mouse is the same as this device. */
++ if (devMouse && devMouseStat.st_dev == sb.st_dev &&
++ devMouseStat.st_ino == sb.st_ino) {
++ /* If the same, use this device. */
++ devMouse = FALSE;
++ }
++ if (MousedRunning(*pdev))
++ continue;
++ /* ums(4) does not support anything but SysMouse protocol. */
++ if (!strncmp(*pdev, DEFAULT_USB_DEV, 8) && protocol &&
++ xf86NameCmp(protocol, "auto") != 0 &&
++ xf86NameCmp(protocol, "sysmouse") != 0)
++ continue;
+ break;
+ }
+ }
+@@ -775,7 +820,9 @@
+ p->CheckProtocol = CheckProtocol;
+ #if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)) && defined(MOUSE_PROTO_SYSMOUSE)
+ p->SetupAuto = SetupAuto;
++#ifndef XPS2_SUPPORT
+ p->SetPS2Res = SetSysMouseRes;
++#endif
+ p->SetBMRes = SetSysMouseRes;
+ p->SetMiscRes = SetSysMouseRes;
+ #endif
diff --git a/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-i386_video.c b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-i386_video.c
new file mode 100644
index 000000000..933742b00
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-i386_video.c
@@ -0,0 +1,12 @@
+Index: programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c
+diff -u -p programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c.orig programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c
+--- hw/xfree86/os-support/bsd/i386_video.c.orig Tue Oct 4 01:46:14 2005
++++ hw/xfree86/os-support/bsd/i386_video.c Thu Jan 26 14:57:56 2006
+@@ -35,6 +35,7 @@
+ #include "xf86Priv.h"
+
+ #include <errno.h>
++#include <sys/types.h>
+ #include <sys/mman.h>
+
+ #ifdef HAS_MTRR_SUPPORT
diff --git a/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-xf86_OSlib.h b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-xf86_OSlib.h
new file mode 100644
index 000000000..169034d2a
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-xf86_OSlib.h
@@ -0,0 +1,12 @@
+--- hw/xfree86/os-support/xf86_OSlib.h.orig 2007-08-23 15:04:53.000000000 -0400
++++ hw/xfree86/os-support/xf86_OSlib.h 2008-04-08 16:20:04.000000000 -0400
+@@ -495,6 +495,9 @@
+ # if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+ # if defined(__FreeBSD_kernel_version) && (__FreeBSD_kernel_version >= 500013)
+ # include <sys/mouse.h>
++# if (__FreeBSD_kernel_version >= 700106)
++# define XPS2_SUPPORT
++# endif
+ # else
+ # undef MOUSE_GETINFO
+ # include <machine/mouse.h>
diff --git a/x11-servers/xorg-server/files/patch-Xserver-os-xprintf.c b/x11-servers/xorg-server/files/patch-Xserver-os-xprintf.c
new file mode 100644
index 000000000..e9fb87633
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-Xserver-os-xprintf.c
@@ -0,0 +1,12 @@
+diff -u -p programs/Xserver/os/xprintf.c.orig programs/Xserver/os/xprintf.c
+--- os/xprintf.c.orig Sun Jul 3 17:53:52 2005
++++ os/xprintf.c Thu Jan 26 12:47:37 2006
+@@ -39,7 +39,7 @@
+ # ifdef __va_copy
+ # define va_copy __va_copy
+ # else
+-# error "no working va_copy was found"
++# define va_copy(dest, src) ((dest) = (src))
+ # endif
+ #endif
+
diff --git a/x11-servers/xorg-server/files/patch-bsdResource.c b/x11-servers/xorg-server/files/patch-bsdResource.c
new file mode 100644
index 000000000..67eef5985
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-bsdResource.c
@@ -0,0 +1,32 @@
+--- hw/xfree86/os-support/bsd/bsdResource.c.orig 2008-07-19 12:47:13.000000000 +0100
++++ hw/xfree86/os-support/bsd/bsdResource.c 2008-07-19 12:52:03.000000000 +0100
+@@ -19,7 +19,7 @@
+
+ #ifdef INCLUDE_XF86_NO_DOMAIN
+
+-#if defined(__alpha__) || defined(__sparc64__) || defined(__amd64__) || defined(__x86_64__)
++#if defined(__alpha__) || defined(__amd64__) || defined(__x86_64__)
+
+ resPtr
+ xf86AccResFromOS(resPtr ret)
+@@ -60,7 +60,7 @@
+ return ret;
+ }
+
+-#elif defined(__powerpc__)
++#elif defined(__powerpc__) || defined(__sparc__) || defined(__sparc64__)
+
+ resPtr
+ xf86AccResFromOS(resPtr ret)
+@@ -77,7 +77,11 @@
+ ret = xf86AddResToList(ret, &range, -1);
+ RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock);
+ ret = xf86AddResToList(ret, &range, -1);
++#if defined(__sparc__) || defined(__sparc64__)
++ RANGE(range, 0x00ffffff, 0x00ffffff, ResExcIoBlock);
++#else
+ RANGE(range, 0x0000ffff, 0x0000ffff, ResExcIoBlock);
++#endif
+ ret = xf86AddResToList(ret, &range, -1);
+
+ return ret;
diff --git a/x11-servers/xorg-server/files/patch-config-hal.c b/x11-servers/xorg-server/files/patch-config-hal.c
new file mode 100644
index 000000000..69ec0d6f3
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-config-hal.c
@@ -0,0 +1,143 @@
+--- config/hal.c.orig 2008-11-14 16:27:05.000000000 -0500
++++ config/hal.c 2009-02-08 01:17:28.000000000 -0500
+@@ -467,11 +467,10 @@
+ info->system_bus = NULL;
+ }
+
+-static void
+-connect_hook(DBusConnection *connection, void *data)
++static BOOL
++connect_and_register(DBusConnection *connection, struct config_hal_info *info)
+ {
+ DBusError error;
+- struct config_hal_info *info = data;
+ char **devices;
+ int num_devices, i;
+
+@@ -479,8 +478,10 @@
+
+ dbus_error_init(&error);
+
+- if (!info->hal_ctx)
+- info->hal_ctx = libhal_ctx_new();
++ if (info->hal_ctx)
++ return TRUE; /* already registered, pretend we did something */
++
++ info->hal_ctx = libhal_ctx_new();
+ if (!info->hal_ctx) {
+ LogMessage(X_ERROR, "config/hal: couldn't create HAL context\n");
+ goto out_err;
+@@ -512,7 +513,7 @@
+
+ dbus_error_free(&error);
+
+- return;
++ return TRUE;
+
+ out_ctx2:
+ if (!libhal_ctx_shutdown(info->hal_ctx, &error))
+@@ -526,6 +527,104 @@
+ info->hal_ctx = NULL;
+ info->system_bus = NULL;
+
++ return FALSE;
++}
++
++
++/**
++ * Handle NewOwnerChanged signals to deal with HAL startup at X server runtime.
++ *
++ * NewOwnerChanged is send once when HAL shuts down, and once again when it
++ * comes back up. Message has three arguments, first is the name
++ * (org.freedesktop.Hal), the second one is the old owner, third one is new
++ * owner.
++ */
++static DBusHandlerResult
++ownerchanged_handler(DBusConnection *connection, DBusMessage *message, void *data)
++{
++ int ret = DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
++
++ if (dbus_message_is_signal(message,
++ "org.freedesktop.DBus",
++ "NameOwnerChanged")) {
++ DBusError error;
++ char *name, *old_owner, *new_owner;
++
++ dbus_error_init(&error);
++ dbus_message_get_args(message, &error,
++ DBUS_TYPE_STRING, &name,
++ DBUS_TYPE_STRING, &old_owner,
++ DBUS_TYPE_STRING, &new_owner,
++ DBUS_TYPE_INVALID);
++
++ if (dbus_error_is_set(&error)) {
++ ErrorF("[config/hal] failed to get NameOwnerChanged args: %s (%s)\n",
++ error.name, error.message);
++ } else if (name && strcmp(name, "org.freedesktop.Hal") == 0) {
++
++ if (!old_owner || !strlen(old_owner)) {
++ DebugF("[config/hal] HAL startup detected.\n");
++ if (connect_and_register(connection, (struct config_hal_info*)data))
++ dbus_connection_unregister_object_path(connection,
++ "/org/freedesktop/DBus");
++ else
++ ErrorF("[config/hal] Failed to connect to HAL bus.\n");
++ }
++
++ ret = DBUS_HANDLER_RESULT_HANDLED;
++ }
++ dbus_error_free(&error);
++ }
++
++ return ret;
++}
++
++/**
++ * Register a handler for the NameOwnerChanged signal.
++ */
++static BOOL
++listen_for_startup(DBusConnection *connection, void *data)
++{
++ DBusObjectPathVTable vtable = { .message_function = ownerchanged_handler, };
++ DBusError error;
++ const char MATCH_RULE[] = "sender='org.freedesktop.DBus',"
++ "interface='org.freedesktop.DBus',"
++ "type='signal',"
++ "path='/org/freedesktop/DBus',"
++ "member='NameOwnerChanged'";
++ int rc = FALSE;
++
++ dbus_error_init(&error);
++ dbus_bus_add_match(connection, MATCH_RULE, &error);
++ if (!dbus_error_is_set(&error)) {
++ if (dbus_connection_register_object_path(connection,
++ "/org/freedesktop/DBus",
++ &vtable,
++ data))
++ rc = TRUE;
++ else
++ ErrorF("[config/hal] cannot register object path.\n");
++ } else {
++ ErrorF("[config/hal] couldn't add match rule: %s (%s)\n", error.name,
++ error.message);
++ ErrorF("[config/hal] cannot detect a HAL startup.\n");
++ }
++
++ dbus_error_free(&error);
++
++ return rc;
++}
++
++static void
++connect_hook(DBusConnection *connection, void *data)
++{
++ struct config_hal_info *info = data;
++
++ if (listen_for_startup(connection, data) &&
++ connect_and_register(connection, info))
++ dbus_connection_unregister_object_path(connection,
++ "/org/freedesktop/DBus");
++
+ return;
+ }
+
diff --git a/x11-servers/xorg-server/files/patch-os-utils.c b/x11-servers/xorg-server/files/patch-os-utils.c
new file mode 100644
index 000000000..a5509b865
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-os-utils.c
@@ -0,0 +1,14 @@
+--- os/utils.c.orig 2007-08-23 15:04:55.000000000 -0400
++++ os/utils.c 2008-02-29 13:11:01.000000000 -0500
+@@ -525,7 +525,11 @@
+
+ #ifdef MONOTONIC_CLOCK
+ struct timespec tp;
++#if defined(__FreeBSD__) && defined(CLOCK_MONOTONIC_FAST)
++ if (clock_gettime(CLOCK_MONOTONIC_FAST, &tp) == 0)
++#else
+ if (clock_gettime(CLOCK_MONOTONIC, &tp) == 0)
++#endif
+ return (tp.tv_sec * 1000) + (tp.tv_nsec / 1000000L);
+ #endif
+
diff --git a/x11-servers/xorg-server/files/patch-render.c b/x11-servers/xorg-server/files/patch-render.c
new file mode 100644
index 000000000..17f8b144b
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-render.c
@@ -0,0 +1,11 @@
+--- render/render.c.orig Mon May 29 09:43:15 2006
++++ render/render.c Mon May 29 09:45:02 2006
+@@ -1340,7 +1340,7 @@
+ {
+ if (buffer + sizeof (GlyphSet) < end)
+ {
+- memcpy(&gs, buffer, sizeof(GlyphSet));
++ gs = *(CARD32 *) buffer;
+ glyphSet = (GlyphSetPtr) SecurityLookupIDByType (client,
+ gs,
+ GlyphSetType,
diff --git a/x11-servers/xorg-server/files/patch-servermd.h b/x11-servers/xorg-server/files/patch-servermd.h
new file mode 100644
index 000000000..5bbb1e4d8
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-servermd.h
@@ -0,0 +1,11 @@
+--- include/servermd.h.orig Sun Jan 8 14:05:55 2006
++++ include/servermd.h Sun Jan 8 14:06:22 2006
+@@ -216,7 +216,7 @@
+ defined(__sparc__) || defined(__mc68000__)
+
+ #if defined(__sparc) || defined(__sparc__)
+-# if !defined(sparc)
++# if !defined(sparc) && !defined(__FreeBSD__)
+ # define sparc 1
+ # endif
+ #endif
diff --git a/x11-servers/xorg-server/files/patch-xorgconf.cpp b/x11-servers/xorg-server/files/patch-xorgconf.cpp
new file mode 100644
index 000000000..04e217b8d
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-xorgconf.cpp
@@ -0,0 +1,14 @@
+--- hw/xfree86/xorgconf.cpp.orig Fri Dec 31 14:40:27 2004
++++ hw/xfree86/xorgconf.cpp Fri Dec 31 14:40:28 2004
+@@ -624,3 +624,11 @@
+ InputDevice "Keyboard1" "CoreKeyboard"
+ EndSection
+
++
++XCOMM Two experimental extensions are available -- Composite and XEVIE. Uncomment
++XCOMM the section below to enable Composite. Many extensions can also be disabled
++XCOMM in this manner.
++
++XCOMM Section "Extensions"
++XCOMM Option "Composite" "Enable"
++XCOMM EndSection
diff --git a/x11-servers/xorg-server/files/patch-xsync b/x11-servers/xorg-server/files/patch-xsync
new file mode 100644
index 000000000..d77c65967
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-xsync
@@ -0,0 +1,106 @@
+From 1f4fb0225b278d1cf4145aebeb0bdd23dc8f62d5 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 10 Dec 2008 21:13:20 +0000
+Subject: xsync: Fix wakeup storm in idletime counter.
+
+Wakeup scheduling only considered the threshold values, and not whether
+the trigger was edge or level.
+
+See also:
+https://bugzilla.redhat.com/show_bug.cgi?id=474586
+http://svn.gnome.org/viewvc/gnome-screensaver/trunk/src/test-idle-ext.c?view=markup
+---
+diff --git a/Xext/sync.c b/Xext/sync.c
+index 88fc03d..d9e66b3 100644
+--- Xext/sync.c
++++ Xext/sync.c
+@@ -2281,7 +2281,7 @@ SyncInitServerTime(void)
+ * IDLETIME implementation
+ */
+
+-static pointer IdleTimeCounter;
++static SyncCounter *IdleTimeCounter;
+ static XSyncValue *pIdleTimeValueLess;
+ static XSyncValue *pIdleTimeValueGreater;
+
+@@ -2293,38 +2293,69 @@ IdleTimeQueryValue (pointer pCounter, CARD64 *pValue_return)
+ }
+
+ static void
+-IdleTimeBlockHandler (pointer env,
+- struct timeval **wt,
+- pointer LastSelectMask)
++IdleTimeBlockHandler(pointer env, struct timeval **wt, pointer LastSelectMask)
+ {
+- XSyncValue idle;
++ XSyncValue idle, old_idle;
++ SyncTriggerList *list = IdleTimeCounter->pTriglist;
++ SyncTrigger *trig;
+
+ if (!pIdleTimeValueLess && !pIdleTimeValueGreater)
+ return;
+
++ old_idle = IdleTimeCounter->value;
+ IdleTimeQueryValue (NULL, &idle);
++ IdleTimeCounter->value = idle; /* push, so CheckTrigger works */
+
+ if (pIdleTimeValueLess &&
+ XSyncValueLessOrEqual (idle, *pIdleTimeValueLess))
+ {
+- AdjustWaitForDelay (wt, 0);
++ /*
++ * We've been idle for less than the threshold value, and someone
++ * wants to know about that, but now we need to know whether they
++ * want level or edge trigger. Check the trigger list against the
++ * current idle time, and if any succeed, bomb out of select()
++ * immediately so we can reschedule.
++ */
++
++ for (list = IdleTimeCounter->pTriglist; list; list = list->next) {
++ trig = list->pTrigger;
++ if (trig->CheckTrigger(trig, old_idle)) {
++ AdjustWaitForDelay(wt, 0);
++ break;
++ }
++ }
+ }
+ else if (pIdleTimeValueGreater)
+ {
+- unsigned long timeout = 0;
++ /*
++ * There's a threshold in the positive direction. If we've been
++ * idle less than it, schedule a wakeup for sometime in the future.
++ * If we've been idle more than it, and someone wants to know about
++ * that level-triggered, schedule an immediate wakeup.
++ */
++ unsigned long timeout = -1;
+
+- if (XSyncValueLessThan (idle, *pIdleTimeValueGreater))
+- {
++ if (XSyncValueLessThan (idle, *pIdleTimeValueGreater)) {
+ XSyncValue value;
+ Bool overflow;
+
+ XSyncValueSubtract (&value, *pIdleTimeValueGreater,
+ idle, &overflow);
+- timeout = XSyncValueLow32 (value);
++ timeout = min(timeout, XSyncValueLow32 (value));
++ } else {
++ for (list = IdleTimeCounter->pTriglist; list; list = list->next) {
++ trig = list->pTrigger;
++ if (trig->CheckTrigger(trig, old_idle)) {
++ timeout = min(timeout, 0);
++ break;
++ }
++ }
+ }
+
+ AdjustWaitForDelay (wt, timeout);
+ }
++
++ IdleTimeCounter->value = old_idle; /* pop */
+ }
+
+ static void
+--
+cgit v0.8.2
diff --git a/x11-servers/xorg-server/pkg-descr b/x11-servers/xorg-server/pkg-descr
new file mode 100644
index 000000000..f95969b82
--- /dev/null
+++ b/x11-servers/xorg-server/pkg-descr
@@ -0,0 +1,6 @@
+This package contains the X.Org X server and some associated programs.
+
+WWW: http://www.freedesktop.org/Software/xorg
+
+- Eric Anholt
+anholt@FreeBSD.org
diff --git a/x11-servers/xorg-server/pkg-plist b/x11-servers/xorg-server/pkg-plist
new file mode 100644
index 000000000..9f3bfac0e
--- /dev/null
+++ b/x11-servers/xorg-server/pkg-plist
@@ -0,0 +1,263 @@
+bin/X
+bin/Xorg
+bin/cvt
+bin/gtf
+%%PPC_NA%%bin/inb
+%%PPC_NA%%bin/inl
+%%PPC_NA%%bin/inw
+%%PPC_NA%%bin/ioport
+%%PPC_NA%%bin/outb
+%%PPC_NA%%bin/outl
+%%PPC_NA%%bin/outw
+bin/xorgconfig
+include/xorg/BT.h
+include/xorg/IBM.h
+include/xorg/TI.h
+include/xorg/XIstubs.h
+include/xorg/afb.h
+include/xorg/assyntax.h
+include/xorg/atKeynames.h
+include/xorg/bstore.h
+include/xorg/bstorestr.h
+include/xorg/bt829.h
+include/xorg/cfb.h
+include/xorg/cfb16.h
+include/xorg/cfb32.h
+include/xorg/cfb8_16.h
+include/xorg/cfb8_32.h
+include/xorg/cfbmap.h
+include/xorg/cfbmskbits.h
+include/xorg/cfbunmap.h
+include/xorg/closestr.h
+include/xorg/closure.h
+include/xorg/colormap.h
+include/xorg/colormapst.h
+include/xorg/compiler.h
+include/xorg/cursor.h
+include/xorg/cursorstr.h
+include/xorg/damage.h
+include/xorg/damagestr.h
+include/xorg/dbestruct.h
+include/xorg/dgaproc.h
+include/xorg/dix.h
+include/xorg/dixaccess.h
+include/xorg/dixevents.h
+include/xorg/dixfont.h
+include/xorg/dixfontstr.h
+include/xorg/dixgrabs.h
+include/xorg/dixstruct.h
+include/xorg/dri.h
+include/xorg/dristruct.h
+include/xorg/edid.h
+include/xorg/exa.h
+include/xorg/exevents.h
+include/xorg/extension.h
+include/xorg/extinit.h
+include/xorg/extnsionst.h
+include/xorg/fb.h
+include/xorg/fbdevhw.h
+include/xorg/fboverlay.h
+include/xorg/fbpseudocolor.h
+include/xorg/fbrop.h
+include/xorg/fi1236.h
+include/xorg/fourcc.h
+include/xorg/gc.h
+include/xorg/gcstruct.h
+include/xorg/globals.h
+include/xorg/glyphstr.h
+include/xorg/hotplug.h
+include/xorg/i2c_def.h
+include/xorg/input.h
+include/xorg/inputstr.h
+include/xorg/mfb.h
+include/xorg/mfbmap.h
+include/xorg/mfbunmap.h
+include/xorg/mi.h
+include/xorg/mibank.h
+include/xorg/mibstore.h
+include/xorg/micmap.h
+include/xorg/micoord.h
+include/xorg/mifillarc.h
+include/xorg/mifpoly.h
+include/xorg/migc.h
+include/xorg/miline.h
+include/xorg/mipict.h
+include/xorg/mipointer.h
+include/xorg/mipointrst.h
+include/xorg/misc.h
+include/xorg/miscstruct.h
+include/xorg/mispans.h
+include/xorg/mistruct.h
+include/xorg/miwideline.h
+include/xorg/mizerarc.h
+include/xorg/msp3430.h
+include/xorg/opaque.h
+include/xorg/os.h
+include/xorg/picture.h
+include/xorg/picturestr.h
+include/xorg/pixmap.h
+include/xorg/pixmapstr.h
+include/xorg/privates.h
+include/xorg/property.h
+include/xorg/propertyst.h
+include/xorg/randrstr.h
+include/xorg/region.h
+include/xorg/regionstr.h
+include/xorg/registry.h
+include/xorg/renderedge.h
+include/xorg/resource.h
+include/xorg/rgb.h
+include/xorg/sarea.h
+include/xorg/screenint.h
+include/xorg/scrnintstr.h
+include/xorg/selection.h
+include/xorg/servermd.h
+include/xorg/shadow.h
+include/xorg/shadowfb.h
+include/xorg/site.h
+include/xorg/swaprep.h
+include/xorg/swapreq.h
+include/xorg/tda8425.h
+include/xorg/tda9850.h
+include/xorg/tda9885.h
+include/xorg/uda1380.h
+include/xorg/validate.h
+include/xorg/vbe.h
+include/xorg/vbeModes.h
+include/xorg/vgaHW.h
+include/xorg/wfbrename.h
+include/xorg/window.h
+include/xorg/windowstr.h
+include/xorg/xaa.h
+include/xorg/xaaWrapper.h
+include/xorg/xaalocal.h
+include/xorg/xaarop.h
+include/xorg/xf1bpp.h
+include/xorg/xf4bpp.h
+include/xorg/xf86.h
+include/xorg/xf86Crtc.h
+include/xorg/xf86Cursor.h
+include/xorg/xf86DDC.h
+include/xorg/xf86Modes.h
+include/xorg/xf86Module.h
+include/xorg/xf86OSmouse.h
+include/xorg/xf86Opt.h
+include/xorg/xf86Optrec.h
+include/xorg/xf86Parser.h
+include/xorg/xf86Pci.h
+include/xorg/xf86PciInfo.h
+include/xorg/xf86Priv.h
+include/xorg/xf86Privstr.h
+include/xorg/xf86RAC.h
+include/xorg/xf86RandR12.h
+include/xorg/xf86RamDac.h
+include/xorg/xf86Rename.h
+include/xorg/xf86Resources.h
+%%SPARC64%%include/xorg/xf86Sbus.h
+include/xorg/xf86Version.h
+include/xorg/xf86Xinput.h
+include/xorg/xf86_OSlib.h
+include/xorg/xf86_OSproc.h
+include/xorg/xf86cmap.h
+include/xorg/xf86fbman.h
+include/xorg/xf86i2c.h
+include/xorg/xf86int10.h
+include/xorg/xf86sbusBus.h
+include/xorg/xf86str.h
+include/xorg/xf86xv.h
+include/xorg/xf86xvmc.h
+include/xorg/xf86xvpriv.h
+include/xorg/xisb.h
+include/xorg/xkbfile.h
+include/xorg/xkbsrv.h
+include/xorg/xkbstr.h
+include/xorg/xorg-server.h
+include/xorg/xorgVersion.h
+include/xorg/xvdix.h
+include/xorg/xvmcext.h
+lib/X11/Cards
+lib/X11/Options
+lib/xorg/modules/extensions/libdbe.la
+lib/xorg/modules/extensions/libdbe.so
+lib/xorg/modules/extensions/libdri.la
+lib/xorg/modules/extensions/libdri.so
+lib/xorg/modules/extensions/libextmod.la
+lib/xorg/modules/extensions/libextmod.so
+lib/xorg/modules/extensions/libglx.la
+lib/xorg/modules/extensions/libglx.so
+lib/xorg/modules/extensions/librecord.la
+lib/xorg/modules/extensions/librecord.so
+lib/xorg/modules/extensions/libxtrap.la
+lib/xorg/modules/extensions/libxtrap.so
+lib/xorg/modules/fonts/libfreetype.la
+lib/xorg/modules/fonts/libfreetype.so
+%%ALPHA_NA%%lib/xorg/modules/libafb.la
+%%ALPHA_NA%%lib/xorg/modules/libafb.so
+lib/xorg/modules/libcfb.la
+lib/xorg/modules/libcfb.so
+lib/xorg/modules/libcfb32.la
+lib/xorg/modules/libcfb32.so
+lib/xorg/modules/libexa.la
+lib/xorg/modules/libexa.so
+lib/xorg/modules/libfb.la
+lib/xorg/modules/libfb.so
+lib/xorg/modules/libint10.la
+lib/xorg/modules/libint10.so
+lib/xorg/modules/libmfb.la
+lib/xorg/modules/libmfb.so
+lib/xorg/modules/libshadow.la
+lib/xorg/modules/libshadow.so
+lib/xorg/modules/libshadowfb.la
+lib/xorg/modules/libshadowfb.so
+lib/xorg/modules/libvbe.la
+lib/xorg/modules/libvbe.so
+lib/xorg/modules/libvgahw.la
+lib/xorg/modules/libvgahw.so
+lib/xorg/modules/libwfb.la
+lib/xorg/modules/libwfb.so
+lib/xorg/modules/libxaa.la
+lib/xorg/modules/libxaa.so
+lib/xorg/modules/libxf1bpp.la
+lib/xorg/modules/libxf1bpp.so
+lib/xorg/modules/libxf4bpp.la
+lib/xorg/modules/libxf4bpp.so
+lib/xorg/modules/libxf8_16bpp.la
+lib/xorg/modules/libxf8_16bpp.so
+lib/xorg/modules/libxf8_32bpp.la
+lib/xorg/modules/libxf8_32bpp.so
+lib/xorg/modules/linux/libfbdevhw.la
+lib/xorg/modules/linux/libfbdevhw.so
+lib/xorg/modules/multimedia/bt829_drv.la
+lib/xorg/modules/multimedia/bt829_drv.so
+lib/xorg/modules/multimedia/fi1236_drv.la
+lib/xorg/modules/multimedia/fi1236_drv.so
+lib/xorg/modules/multimedia/msp3430_drv.la
+lib/xorg/modules/multimedia/msp3430_drv.so
+lib/xorg/modules/multimedia/tda8425_drv.la
+lib/xorg/modules/multimedia/tda8425_drv.so
+lib/xorg/modules/multimedia/tda9850_drv.la
+lib/xorg/modules/multimedia/tda9850_drv.so
+lib/xorg/modules/multimedia/tda9885_drv.la
+lib/xorg/modules/multimedia/tda9885_drv.so
+lib/xorg/modules/multimedia/uda1380_drv.la
+lib/xorg/modules/multimedia/uda1380_drv.so
+lib/xorg/protocol.txt
+libdata/pkgconfig/xorg-server.pc
+share/X11/xkb/compiled/README.compiled
+share/aclocal/xorg-server.m4
+@dirrm include/xorg
+@dirrm lib/xorg/modules/fonts
+@dirrm lib/xorg/modules/extensions
+@dirrm lib/xorg/modules/linux
+@dirrm lib/xorg/modules/multimedia
+@dirrm lib/xorg/modules
+@dirrm lib/xorg
+@dirrmtry include/X11/bitmaps
+@dirrmtry include/X11/pixmaps
+@dirrmtry lib/X11/doc
+@dirrmtry lib/X11/etc
+@dirrmtry lib/X11/xserver
+@dirrmtry lib/xorg/modules
+@dirrmtry lib/xorg
+@dirrmtry share/X11/app-defaults
+@dirrmtry share/X11