summaryrefslogtreecommitdiffstats
path: root/x11-servers/xorg-server
diff options
context:
space:
mode:
Diffstat (limited to 'x11-servers/xorg-server')
-rw-r--r--x11-servers/xorg-server/Makefile156
-rw-r--r--x11-servers/xorg-server/distinfo4
-rw-r--r--x11-servers/xorg-server/files/extra-arch-ia64221
-rw-r--r--x11-servers/xorg-server/files/extra-arch-powerpc14
-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-i386_video.c12
-rw-r--r--x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-sparc64_video.c13
-rw-r--r--x11-servers/xorg-server/files/patch-Xserver-os-xprintf.c12
-rw-r--r--x11-servers/xorg-server/files/patch-os-utils.c20
-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/pkg-descr3
-rw-r--r--x11-servers/xorg-server/pkg-plist245
13 files changed, 736 insertions, 0 deletions
diff --git a/x11-servers/xorg-server/Makefile b/x11-servers/xorg-server/Makefile
new file mode 100644
index 0000000..1db1b17
--- /dev/null
+++ b/x11-servers/xorg-server/Makefile
@@ -0,0 +1,156 @@
+# New ports collection makefile for: xorg-server
+# Date created: 7 May 2004
+# Whom: anholt@FreeBSD.org
+#
+# $FreeBSD$
+#
+
+PORTNAME?= xorg-server
+PORTVERSION= ${XORG_VERSION}
+PORTREVISION?= ${XORG_REVISION}
+PORTEPOCH?= 1
+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
+
+XORG_CAT= xserver
+
+.if defined(WITH_NEW_XORG)
+XORG_VERSION= 1.10.4
+XORG_REVISION= 1
+PLIST_SUB+= OLD="@comment " NEW=""
+.else
+XORG_VERSION= 1.7.7
+XORG_REVISION= 3
+PLIST_SUB+= OLD="" NEW="@comment "
+.endif
+
+USE_GMAKE= yes
+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 \
+ xinerama evieproto xfont fontenc xkbui pixman pciaccess
+
+MAKE_JOBS_UNSAFE= yes
+USE_OPENSSL= yes
+USE_PERL5_BUILD=yes
+CONFIGURE_ARGS?=--disable-dmx --disable-xvfb --disable-xnest \
+ --without-xmlto --disable-docs --disable-devel-docs \
+ --localstatedir=/var --without-dtrace --disable-xephyr \
+ --enable-record=yes
+
+.if !defined(SLAVE_PORT)
+MAN1= Xorg.1 \
+ Xserver.1 \
+ cvt.1 \
+ gtf.1
+MAN4= exa.4 \
+ fbdevhw.4
+MAN5= xorg.conf.5
+
+.if (WITH_NEW_XORG)
+MAN5+= xorg.conf.d.5
+.endif
+.else
+# for slave ports we need to overwrite PLIST, so it doesn't overwrite
+# PLIST_FILES, with the masterport plist.
+PLIST= ${.CURDIR}/pkg-plist
+.endif
+
+OPTIONS= AIGLX "Compile with Accelerated Indirect GLX support" on \
+ SUID "Install the Xorg server with setuid bit set" on
+
+.include <bsd.port.pre.mk>
+
+.if ${ARCH} == sparc64
+OPTIONS+= HAL "Compile with HAL config support" off
+.else
+OPTIONS+= HAL "Compile with HAL config support" on
+.endif
+
+
+.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} == ia64
+PLIST_SUB+= IA64_NA="@comment "
+EXTRA_PATCHES= ${.CURDIR}/files/extra-arch-ia64
+.else
+PLIST_SUB+= IA64_NA=""
+.endif
+
+.if ${ARCH} == powerpc || ${ARCH} == powerpc64
+PLIST_SUB+= PPC_NA="@comment "
+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
+
+.if defined(WITH_NEW_XORG)
+post-install:
+ @${MKDIR} ${PREFIX}/share/X11/xorg.conf.d
+
+PLIST_SUB+= OLD="@comment " NEW=""
+.else
+PLIST_SUB+= OLD="" NEW="@comment "
+.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 0000000..e8012a9
--- /dev/null
+++ b/x11-servers/xorg-server/distinfo
@@ -0,0 +1,4 @@
+SHA256 (xorg/xserver/xorg-server-1.7.7.tar.bz2) = 54c4d32bfeb8852adbea3ddae6981f3bc2eadb330124d9b35226c617c01926ff
+SIZE (xorg/xserver/xorg-server-1.7.7.tar.bz2) = 4939257
+SHA256 (xorg/xserver/xorg-server-1.10.4.tar.bz2) = fafc16b97b9a61b62dfaa74e8d336baa0cea752ce9ed8103c4d212baa8031ca5
+SIZE (xorg/xserver/xorg-server-1.10.4.tar.bz2) = 5386174
diff --git a/x11-servers/xorg-server/files/extra-arch-ia64 b/x11-servers/xorg-server/files/extra-arch-ia64
new file mode 100644
index 0000000..9a3f48e
--- /dev/null
+++ b/x11-servers/xorg-server/files/extra-arch-ia64
@@ -0,0 +1,221 @@
+--- configure.dist 2009-06-18 17:05:59.000000000 -0700
++++ configure 2009-06-18 17:08:47.000000000 -0700
+@@ -1097,6 +1097,8 @@
+ SPARC64_VIDEO_TRUE
+ PPC_VIDEO_FALSE
+ PPC_VIDEO_TRUE
++IA64_VIDEO_FALSE
++IA64_VIDEO_TRUE
+ I386_VIDEO_FALSE
+ I386_VIDEO_TRUE
+ ARM_VIDEO_FALSE
+@@ -19134,6 +19136,7 @@
+ GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
+ ;;
+ ia64*)
++ IA64_VIDEO=yes
+ GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
+ ;;
+ s390*)
+@@ -19166,6 +19169,14 @@
+ I386_VIDEO_FALSE=
+ fi
+
++ if test "x$IA64_VIDEO" = xyes; then
++ IA64_VIDEO_TRUE=
++ IA64_VIDEO_FALSE='#'
++else
++ IA64_VIDEO_TRUE='#'
++ IA64_VIDEO_FALSE=
++fi
++
+ if test "x$PPC_VIDEO" = xyes; then
+ PPC_VIDEO_TRUE=
+ PPC_VIDEO_FALSE='#'
+--- hw/xfree86/common/compiler.h.orig 2011-06-11 18:55:47.000000000 +0200
++++ hw/xfree86/common/compiler.h 2011-07-21 20:34:44.000000000 +0200
+@@ -397,12 +397,10 @@
+ #include <machine/pio.h>
+ #endif /* __NetBSD__ */
+
+-# elif defined(linux) && defined(__ia64__)
++# elif (defined(linux) || defined(__FreeBSD__)) && defined(__ia64__)
+
+ # include <inttypes.h>
+
+-# include <sys/io.h>
+-
+ # undef outb
+ # undef outw
+ # undef outl
+--- hw/xfree86/os-support/bsd/Makefile.in.dist 2009-06-18 17:45:13.000000000 -0700
++++ hw/xfree86/os-support/bsd/Makefile.in 2009-06-18 17:45:19.000000000 -0700
+@@ -63,6 +63,7 @@
+ @ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@I386_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@am__objects_1 = sparc64_video.lo \
+ @ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@I386_VIDEO_FALSE@@PPC_VIDEO_FALSE@@SPARC64_VIDEO_TRUE@ ioperm_noop.lo
+ @ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@I386_VIDEO_FALSE@@PPC_VIDEO_TRUE@am__objects_1 = ppc_video.lo
++@IA64_VIDEO_TRUE@am__objects_1 = ia64_video.lo
+ @ALPHA_VIDEO_FALSE@@ARM_VIDEO_FALSE@@I386_VIDEO_TRUE@am__objects_1 = i386_video.lo
+ @ALPHA_VIDEO_FALSE@@ARM_VIDEO_TRUE@am__objects_1 = arm_video.lo
+ @ALPHA_VIDEO_TRUE@am__objects_1 = alpha_video.lo bsd_ev56.lo \
+@@ -393,6 +394,7 @@
+
+ @ARM_VIDEO_TRUE@ARCH_SOURCES = arm_video.c
+ @I386_VIDEO_TRUE@ARCH_SOURCES = i386_video.c
++@IA64_VIDEO_TRUE@ARCH_SOURCES = ia64_video.c
+ @PPC_VIDEO_TRUE@ARCH_SOURCES = ppc_video.c
+
+ # Cheat here and piggyback other sparc64 bits on SPARC64_VIDEO.
+--- /dev/null 2009-06-18 18:27:23.000000000 -0700
++++ hw/xfree86/os-support/bsd/ia64_video.c 2009-06-18 18:26:02.000000000 -0700
+@@ -0,0 +1,150 @@
++#ifdef HAVE_XORG_CONFIG_H
++#include <xorg-config.h>
++#endif
++
++#include <X11/X.h>
++#include "xf86.h"
++#include "xf86Priv.h"
++
++#include "xf86_OSlib.h"
++#include "xf86OSpriv.h"
++
++#include "bus/Pci.h"
++
++#ifndef MAP_FAILED
++#define MAP_FAILED ((caddr_t)-1)
++#endif
++
++
++/***************************************************************************/
++/* Video Memory Mapping section */
++/***************************************************************************/
++
++#define DEV_MEM "/dev/mem"
++
++static pointer ia64MapVidMem(int, unsigned long, unsigned long, int flags);
++static void ia64UnmapVidMem(int, pointer, unsigned long);
++
++Bool xf86EnableIO(void);
++void xf86DisableIO(void);
++
++void
++xf86OSInitVidMem(VidMemInfoPtr pVidMem)
++{
++ pVidMem->linearSupported = TRUE;
++ pVidMem->mapMem = ia64MapVidMem;
++ pVidMem->unmapMem = ia64UnmapVidMem;
++ pVidMem->initialised = TRUE;
++ xf86EnableIO();
++}
++
++
++_X_EXPORT volatile unsigned char *ioBase = MAP_FAILED;
++
++static pointer
++ia64MapVidMem(int ScreenNum, unsigned long Base, unsigned long Size, int flags)
++{
++ int fd = xf86Info.screenFd;
++ pointer base;
++#ifdef DEBUG
++ xf86MsgVerb(X_INFO, 3, "mapVidMem %lx, %lx, fd = %d",
++ Base, Size, fd);
++#endif
++
++ base = mmap(0, Size,
++ (flags & VIDMEM_READONLY) ?
++ PROT_READ : (PROT_READ | PROT_WRITE),
++ MAP_SHARED, fd, Base);
++ if (base == MAP_FAILED)
++ FatalError("%s: could not mmap screen [s=%lx,a=%lx] (%s)",
++ "xf86MapVidMem", Size, Base, strerror(errno));
++
++ return base;
++}
++
++static void
++ia64UnmapVidMem(int ScreenNum, pointer Base, unsigned long Size)
++{
++ munmap(Base, Size);
++}
++
++_X_EXPORT int
++xf86ReadBIOS(unsigned long Base, unsigned long Offset, unsigned char *Buf,
++ int Len)
++{
++ int rv;
++ static int kmem = -1;
++
++ if (kmem == -1) {
++ kmem = open(DEV_MEM, 2);
++ if (kmem == -1) {
++ FatalError("xf86ReadBIOS: open %s", DEV_MEM);
++ }
++ }
++
++#ifdef DEBUG
++ xf86MsgVerb(X_INFO, 3, "xf86ReadBIOS() %lx %lx, %x\n",
++ Base, Offset, Len);
++#endif
++
++
++ lseek(kmem, Base + Offset, 0);
++ rv = read(kmem, Buf, Len);
++
++ return rv;
++}
++
++Bool xf86EnableIO()
++{
++ int fd = xf86Info.screenFd;
++
++ xf86MsgVerb(X_WARNING, 3, "xf86EnableIO %d\n", fd);
++ if (ioBase == MAP_FAILED)
++ {
++ ioBase=mmap(NULL, 0x10000, PROT_READ|PROT_WRITE, MAP_SHARED, fd,
++ 0);
++ xf86MsgVerb(X_INFO, 3, "xf86EnableIO: %p\n", ioBase);
++ if (ioBase == MAP_FAILED) {
++ xf86MsgVerb(X_WARNING, 3, "Can't map IO space!\n");
++ return FALSE;
++ }
++ }
++ return TRUE;
++}
++
++void xf86DisableIO()
++{
++
++ if (ioBase != MAP_FAILED)
++ {
++ munmap((void *)(uintptr_t)(void *)ioBase, 0x10000);
++ ioBase = MAP_FAILED;
++ }
++}
++
++void outb(unsigned long port, unsigned char val)
++{
++}
++
++void outw(unsigned long port, unsigned short val)
++{
++}
++
++void outl(unsigned long port, unsigned int val)
++{
++}
++
++unsigned int inb(unsigned long port)
++{
++ return 0xff;
++}
++
++unsigned int inw(unsigned long port)
++{
++ return 0xffff;
++}
++
++unsigned int inl(unsigned long port)
++{
++ return 0xffffffff;
++}
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 0000000..6fa9178
--- /dev/null
+++ b/x11-servers/xorg-server/files/extra-arch-powerpc
@@ -0,0 +1,14 @@
+--- 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;
+ }
+ }
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 0000000..59aad37
--- /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-i386_video.c b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-i386_video.c
new file mode 100644
index 0000000..933742b
--- /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-bsd-sparc64_video.c b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-sparc64_video.c
new file mode 100644
index 0000000..651be80
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-sparc64_video.c
@@ -0,0 +1,13 @@
+--- hw/xfree86/os-support/bsd/sparc64_video.c.orig 2008-10-02 21:01:25.000000000 +0000
++++ hw/xfree86/os-support/bsd/sparc64_video.c 2009-03-29 19:55:40.000000000 +0000
+@@ -52,6 +52,10 @@
+ pVidMem->mapMem = sparc64MapVidMem;
+ pVidMem->unmapMem = sparc64UnmapVidMem;
+ pVidMem->initialised = TRUE;
++
++#if defined(__FreeBSD__)
++ pci_system_init_dev_mem(xf86Info.screenFd);
++#endif
+ }
+
+ static pointer
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 0000000..e9fb876
--- /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-os-utils.c b/x11-servers/xorg-server/files/patch-os-utils.c
new file mode 100644
index 0000000..2980ded
--- /dev/null
+++ b/x11-servers/xorg-server/files/patch-os-utils.c
@@ -0,0 +1,20 @@
+--- os/utils.c.orig 2010-05-04 02:48:00.000000000 +0200
++++ os/utils.c 2011-10-18 20:08:10.000000000 +0200
+@@ -315,7 +315,7 @@
+ FatalError("Could not create lock file in %s\n", tmp);
+ (void) sprintf(pid_str, "%10ld\n", (long)getpid());
+ (void) write(lfd, pid_str, 11);
+- (void) chmod(tmp, 0444);
++ (void) fchmod(tmp, 0444);
+ (void) close(lfd);
+
+ /*
+@@ -336,7 +336,7 @@
+ /*
+ * Read the pid from the existing file
+ */
+- lfd = open(LockFile, O_RDONLY);
++ lfd = open(LockFile, O_RDONLY|O_NOFOLLOW);
+ if (lfd < 0) {
+ unlink(tmp);
+ FatalError("Can't read lock file %s\n", LockFile);
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 0000000..5bbb1e4
--- /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 0000000..04e217b
--- /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/pkg-descr b/x11-servers/xorg-server/pkg-descr
new file mode 100644
index 0000000..74ce21c
--- /dev/null
+++ b/x11-servers/xorg-server/pkg-descr
@@ -0,0 +1,3 @@
+This package contains the X.Org X server and some associated programs.
+
+WWW: http://www.freedesktop.org/Software/xorg
diff --git a/x11-servers/xorg-server/pkg-plist b/x11-servers/xorg-server/pkg-plist
new file mode 100644
index 0000000..29e90c8
--- /dev/null
+++ b/x11-servers/xorg-server/pkg-plist
@@ -0,0 +1,245 @@
+bin/X
+bin/Xorg
+bin/cvt
+bin/gtf
+include/xorg/BT.h
+include/xorg/IBM.h
+include/xorg/TI.h
+include/xorg/XIstubs.h
+%%NEW%%include/xorg/Xprintf.h
+include/xorg/bt829.h
+%%OLD%%include/xorg/bstore.h
+%%OLD%%include/xorg/bstorestr.h
+%%NEW%%include/xorg/callback.h
+%%OLD%%include/xorg/cfb8_16.h
+include/xorg/closestr.h
+include/xorg/closure.h
+include/xorg/colormap.h
+include/xorg/colormapst.h
+include/xorg/compiler.h
+include/xorg/compositeext.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/dri2.h
+include/xorg/dristruct.h
+include/xorg/edid.h
+include/xorg/exa.h
+include/xorg/events.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/fbrop.h
+include/xorg/fi1236.h
+include/xorg/fbpict.h
+include/xorg/fourcc.h
+include/xorg/gc.h
+include/xorg/gcstruct.h
+include/xorg/geext.h
+include/xorg/geint.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
+%%NEW%%include/xorg/list.h
+include/xorg/mi.h
+%%OLD%%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
+%%NEW%%include/xorg/misync.h
+%%NEW%%include/xorg/misyncstr.h
+include/xorg/miwideline.h
+include/xorg/mizerarc.h
+include/xorg/mioverlay.h
+include/xorg/msp3430.h
+include/xorg/opaque.h
+include/xorg/os.h
+include/xorg/panoramiXsrv.h
+include/xorg/panoramiX.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/ptrveloc.h
+include/xorg/randrstr.h
+%%OLD%%include/xorg/renderedge.h
+include/xorg/region.h
+include/xorg/regionstr.h
+include/xorg/registry.h
+include/xorg/resource.h
+include/xorg/rgb.h
+include/xorg/rrtransform.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/shmint.h
+include/xorg/site.h
+include/xorg/swaprep.h
+include/xorg/swapreq.h
+%%NEW%%include/xorg/syncsdk.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/vidmodeproc.h
+include/xorg/wfbrename.h
+include/xorg/window.h
+include/xorg/windowstr.h
+include/xorg/xaa.h
+%%OLD%%include/xorg/xaaWrapper.h
+include/xorg/xaalocal.h
+include/xorg/xaarop.h
+include/xorg/xace.h
+include/xorg/xacestr.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/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/xf86RandR12.h
+include/xorg/xf86RamDac.h
+include/xorg/xf86Rename.h
+%%SPARC64%%include/xorg/xf86Sbus.h
+include/xorg/xf86Xinput.h
+include/xorg/xf86_OSlib.h
+include/xorg/xf86_OSproc.h
+include/xorg/xf86VGAarbiter.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/xfixes.h
+include/xorg/xisb.h
+include/xorg/xkbfile.h
+include/xorg/xkbrules.h
+include/xorg/xkbsrv.h
+include/xorg/xkbstr.h
+include/xorg/xorg-server.h
+include/xorg/xorgVersion.h
+include/xorg/xserver-properties.h
+include/xorg/xvdix.h
+include/xorg/xvmcext.h
+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/libdri2.la
+lib/xorg/modules/extensions/libdri2.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/libexa.la
+lib/xorg/modules/libexa.so
+lib/xorg/modules/libfb.la
+lib/xorg/modules/libfb.so
+%%NEW%%lib/xorg/modules/libfbdevhw.so
+%%NEW%%lib/xorg/modules/libfbdevhw.la
+lib/xorg/modules/libint10.la
+lib/xorg/modules/libint10.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
+%%OLD%%lib/xorg/modules/libxf8_16bpp.la
+%%OLD%%lib/xorg/modules/libxf8_16bpp.so
+%%OLD%%lib/xorg/modules/linux/libfbdevhw.la
+%%OLD%%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/aclocal/xorg-server.m4
+%%NEW%%@exec /bin/mkdir -p %D/share/X11/xorg.conf.d
+%%NEW%%@dirrm share/doc/xorg-server
+@dirrm include/xorg
+@dirrm lib/xorg/modules/extensions
+@dirrm lib/xorg/modules/multimedia
+%%OLD%%@dirrm lib/xorg/modules/linux
+@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
+%%NEW%%@dirrmtry share/X11/xorg.conf.d
+@dirrmtry share/X11/app-defaults
+@dirrmtry share/X11