summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-misc/x11rdp
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-misc/x11rdp')
-rw-r--r--net-misc/x11rdp/Manifest2
-rw-r--r--net-misc/x11rdp/files/xorg-cve-2011-4028+4029.patch22
-rw-r--r--net-misc/x11rdp/files/xorg-server-1.9-cve-2013-1940.patch31
-rw-r--r--net-misc/x11rdp/files/xorg-server-1.9-cve-2013-4396.patch43
-rw-r--r--net-misc/x11rdp/files/xorg-server-1.9-nouveau-default.patch30
-rw-r--r--net-misc/x11rdp/files/xorg-server-disable-acpi.patch31
-rw-r--r--net-misc/x11rdp/files/xrdp-0.8.0-0001-Include-xorg-list.h-to-fix-build-errors.patch25
-rw-r--r--net-misc/x11rdp/files/xrdp-0.8.0-0002-Remove-dither-printing.patch40
-rw-r--r--net-misc/x11rdp/metadata.xml8
-rw-r--r--net-misc/x11rdp/x11rdp-0.8.0.1.9.5.ebuild185
10 files changed, 417 insertions, 0 deletions
diff --git a/net-misc/x11rdp/Manifest b/net-misc/x11rdp/Manifest
new file mode 100644
index 000000000000..4b9d79679a93
--- /dev/null
+++ b/net-misc/x11rdp/Manifest
@@ -0,0 +1,2 @@
+DIST xorg-server-1.9.5.tar.bz2 5172054 SHA256 3fc775097c4f0e8f731447d0183ee709ae37c44c0c286ba00a4b028274e029dc SHA512 f17baa6e871c7df4dc61330e32e235906d9e4c842a70226b0833d2b64ab62811131b960eb942f4dc9359ea828676ce60afd82802aa7cffc711d27c4946c32345 WHIRLPOOL a8ede9d5e4ae80713e2b363042a80fe7ac9a03f8623dbf058b241a4237edd2397b437dda5ea56076ec1da71b946dc5b936adfd4afd436893b5c8350996ba169e
+DIST xrdp-0.8.0.tar.xz 1671376 SHA256 433535039f8b8766d9c22f62de9599afa94dd553e72d9791cec85a5e2f436a60 SHA512 bb2afefce7f53b6c3bca30cb6913171211df63a700f7d70325c1722348d5d31981e1d417727e48fd14aad500d0454e4126e6e1f81f8c09da4928b02f4acff26b WHIRLPOOL 39c1d4852f6f927fd348d345a8d4f4a79824eca0d5682340908d28f3b6b497ae33bfed944294b061b118e4154ed7c5dce15878302145ffabc2ca6b3a2eb07818
diff --git a/net-misc/x11rdp/files/xorg-cve-2011-4028+4029.patch b/net-misc/x11rdp/files/xorg-cve-2011-4028+4029.patch
new file mode 100644
index 000000000000..66e77f66e002
--- /dev/null
+++ b/net-misc/x11rdp/files/xorg-cve-2011-4028+4029.patch
@@ -0,0 +1,22 @@
+diff --git a/os/utils.c b/os/utils.c
+index e8ecb71..18ff1ca 100644
+--- a/os/utils.c
++++ b/os/utils.c
+@@ -297,7 +297,7 @@ LockServer(void)
+ 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(lfd, 0444);
+ (void) close(lfd);
+
+ /*
+@@ -318,7 +318,7 @@ LockServer(void)
+ /*
+ * 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/net-misc/x11rdp/files/xorg-server-1.9-cve-2013-1940.patch b/net-misc/x11rdp/files/xorg-server-1.9-cve-2013-1940.patch
new file mode 100644
index 000000000000..f06b923f3d92
--- /dev/null
+++ b/net-misc/x11rdp/files/xorg-server-1.9-cve-2013-1940.patch
@@ -0,0 +1,31 @@
+From 6ca03b9161d33b1d2b55a3a1a913cf88deb2343f Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@gmail.com>
+Date: Wed, 10 Apr 2013 06:09:01 +0000
+Subject: xf86: fix flush input to work with Linux evdev devices.
+
+So when we VT switch back and attempt to flush the input devices,
+we don't succeed because evdev won't return part of an event,
+since we were only asking for 4 bytes, we'd only get -EINVAL back.
+
+This could later cause events to be flushed that we shouldn't have
+gotten.
+
+This is a fix for CVE-2013-1940.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+
+diff -ur a/hw/xfree86/os-support/shared/posix_tty.c b/hw/xfree86/os-support/shared/posix_tty.c
+--- a/hw/xfree86/os-support/shared/posix_tty.c 2010-06-11 08:10:22.000000000 +0200
++++ b/hw/xfree86/os-support/shared/posix_tty.c 2013-04-17 22:49:20.389795964 +0200
+@@ -460,7 +460,8 @@
+ {
+ fd_set fds;
+ struct timeval timeout;
+- char c[4];
++ /* this needs to be big enough to flush an evdev event. */
++ char c[256];
+
+ DebugF("FlushingSerial\n");
+ if (tcflush(fd, TCIFLUSH) == 0)
diff --git a/net-misc/x11rdp/files/xorg-server-1.9-cve-2013-4396.patch b/net-misc/x11rdp/files/xorg-server-1.9-cve-2013-4396.patch
new file mode 100644
index 000000000000..fa8b4825f7e4
--- /dev/null
+++ b/net-misc/x11rdp/files/xorg-server-1.9-cve-2013-4396.patch
@@ -0,0 +1,43 @@
+diff -ur a/dix/dixfonts.c b/dix/dixfonts.c
+--- a/dix/dixfonts.c 2011-12-18 05:44:54.000000000 +0100
++++ b/dix/dixfonts.c 2013-10-10 12:06:44.579225694 +0200
+@@ -1479,6 +1479,7 @@
+ GC *pGC;
+ unsigned char *data;
+ ITclosurePtr new_closure;
++ ITclosurePtr old_closure;
+
+ /* We're putting the client to sleep. We need to
+ save some state. Similar problem to that handled
+@@ -1491,6 +1492,7 @@
+ err = BadAlloc;
+ goto bail;
+ }
++ old_closure = c;
+ *new_closure = *c;
+ c = new_closure;
+
+@@ -1498,6 +1500,7 @@
+ if (!data)
+ {
+ free(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
+@@ -1509,6 +1512,7 @@
+ {
+ free(c->data);
+ free(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
+@@ -1522,6 +1526,7 @@
+ FreeScratchGC(pGC);
+ free(c->data);
+ free(c);
++ c = old_closure;
+ err = BadAlloc;
+ goto bail;
+ }
diff --git a/net-misc/x11rdp/files/xorg-server-1.9-nouveau-default.patch b/net-misc/x11rdp/files/xorg-server-1.9-nouveau-default.patch
new file mode 100644
index 000000000000..2b05967a9434
--- /dev/null
+++ b/net-misc/x11rdp/files/xorg-server-1.9-nouveau-default.patch
@@ -0,0 +1,30 @@
+diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
+index 74016af..9c296f5 100644
+--- a/hw/xfree86/common/xf86pciBus.c
++++ b/hw/xfree86/common/xf86pciBus.c
+@@ -1118,7 +1118,23 @@ videoPtrToDriverList(struct pci_device *dev,
+ break;
+ case 0x102b: driverList[0] = "mga"; break;
+ case 0x10c8: driverList[0] = "neomagic"; break;
+- case 0x10de: case 0x12d2: driverList[0] = "nv"; break;
++ case 0x10de: case 0x12d2:
++ switch (dev->device_id) {
++ /* NV1 */
++ case 0x0008:
++ case 0x0009:
++ driverList[0] = "vesa";
++ break;
++ /* NV3 */
++ case 0x0018:
++ case 0x0019:
++ driverList[0] = "nv";
++ break;
++ default:
++ driverList[0] = "nouveau";
++ break;
++ }
++ break;
+ case 0x1106: driverList[0] = "openchrome"; break;
+ case 0x1b36: driverList[0] = "qxl"; break;
+ case 0x1163: driverList[0] = "rendition"; break;
+--
diff --git a/net-misc/x11rdp/files/xorg-server-disable-acpi.patch b/net-misc/x11rdp/files/xorg-server-disable-acpi.patch
new file mode 100644
index 000000000000..cc80e6cef4e1
--- /dev/null
+++ b/net-misc/x11rdp/files/xorg-server-disable-acpi.patch
@@ -0,0 +1,31 @@
+From a8079882f1884edc62a9de28af915bd8b65dfbbe Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 11 Mar 2009 14:02:11 -0400
+Subject: [PATCH] Don't build the ACPI code.
+
+No good can come of this.
+---
+ configure.ac | 2 --
+ 1 files changed, 0 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 72ae67e..04716f8 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1269,13 +1269,11 @@ if test "x$XORG" = xyes; then
+ case $host_cpu in
+ ia64*)
+ linux_ia64=yes
+- linux_acpi="yes"
+ ;;
+ alpha*)
+ linux_alpha=yes
+ ;;
+ i*86|amd64*|x86_64*)
+- linux_acpi="yes"
+ ;;
+ *)
+ ;;
+--
+1.6.1.3
+
diff --git a/net-misc/x11rdp/files/xrdp-0.8.0-0001-Include-xorg-list.h-to-fix-build-errors.patch b/net-misc/x11rdp/files/xrdp-0.8.0-0001-Include-xorg-list.h-to-fix-build-errors.patch
new file mode 100644
index 000000000000..c78d2e3fa212
--- /dev/null
+++ b/net-misc/x11rdp/files/xrdp-0.8.0-0001-Include-xorg-list.h-to-fix-build-errors.patch
@@ -0,0 +1,25 @@
+From 13b7150aef9c61966d39d779c652f988232d7381 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 27 Oct 2014 09:52:56 +0100
+Subject: [PATCH 1/2] Include <xorg/list.h> to fix build errors
+
+---
+ xorg/X11R7.6/rdp/rdp.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/xorg/X11R7.6/rdp/rdp.h b/xorg/X11R7.6/rdp/rdp.h
+index 00725d1..a2f5bdc 100644
+--- a/xorg/X11R7.6/rdp/rdp.h
++++ b/xorg/X11R7.6/rdp/rdp.h
+@@ -46,6 +46,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+ //#include "cfb.h"
+
++#include <xorg/list.h>
++
+ #include "mibstore.h"
+ #include "colormapst.h"
+ #include "gcstruct.h"
+--
+2.1.2
+
diff --git a/net-misc/x11rdp/files/xrdp-0.8.0-0002-Remove-dither-printing.patch b/net-misc/x11rdp/files/xrdp-0.8.0-0002-Remove-dither-printing.patch
new file mode 100644
index 000000000000..1d004181b427
--- /dev/null
+++ b/net-misc/x11rdp/files/xrdp-0.8.0-0002-Remove-dither-printing.patch
@@ -0,0 +1,40 @@
+From fef4e6d15aa42a7d3bb4b134cba9253323398cc6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 27 Oct 2014 09:55:49 +0100
+Subject: [PATCH 2/2] Remove dither printing
+
+---
+ xorg/X11R7.6/rdp/rdpComposite.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/xorg/X11R7.6/rdp/rdpComposite.c b/xorg/X11R7.6/rdp/rdpComposite.c
+index f763783..50ee6d7 100644
+--- a/xorg/X11R7.6/rdp/rdpComposite.c
++++ b/xorg/X11R7.6/rdp/rdpComposite.c
+@@ -240,9 +240,9 @@ compsoite_print(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
+ if (pSrc != 0)
+ {
+ LLOGLN(0, (" src depth %d width %d height %d repeat %d repeatType %d "
+- "dither %d filter %d alphaMap %p componentAlpha %d", pSrc->pDrawable->depth,
++ "filter %d alphaMap %p componentAlpha %d", pSrc->pDrawable->depth,
+ pSrc->pDrawable->width, pSrc->pDrawable->height,
+- pSrc->repeat, pSrc->repeatType, pSrc->dither, pSrc->filter,
++ pSrc->repeat, pSrc->repeatType, pSrc->filter,
+ pSrc->alphaMap, pSrc->componentAlpha));
+ LLOGLN(0, (" transform %p", pSrc->transform));
+ LLOGLN(0, (" detail format red %d red mask %d green %d green mask %d "
+@@ -277,9 +277,9 @@ compsoite_print(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
+ if (pDst != 0)
+ {
+ LLOGLN(0, (" dst depth %d width %d height %d repeat %d repeatType %d "
+- "dither %d filter %d alphaMap %p", pDst->pDrawable->depth,
++ "filter %d alphaMap %p", pDst->pDrawable->depth,
+ pDst->pDrawable->width, pDst->pDrawable->height,
+- pDst->repeat, pDst->repeatType, pDst->dither, pDst->filter,
++ pDst->repeat, pDst->repeatType, pDst->filter,
+ pDst->alphaMap));
+ LLOGLN(0, (" transform %p", pDst->transform));
+ print_format(pDst->format);
+--
+2.1.2
+
diff --git a/net-misc/x11rdp/metadata.xml b/net-misc/x11rdp/metadata.xml
new file mode 100644
index 000000000000..5cb9324943ab
--- /dev/null
+++ b/net-misc/x11rdp/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/net-misc/x11rdp/x11rdp-0.8.0.1.9.5.ebuild b/net-misc/x11rdp/x11rdp-0.8.0.1.9.5.ebuild
new file mode 100644
index 000000000000..c017e2abba8d
--- /dev/null
+++ b/net-misc/x11rdp/x11rdp-0.8.0.1.9.5.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit flag-o-matic versionator
+
+XRDP_P=xrdp-$(get_version_component_range 1-3)
+XORG_P=xorg-server-$(get_version_component_range 4-6)
+
+DESCRIPTION="A X11 server for RDP clients (used by xrdp)"
+HOMEPAGE="http://www.xrdp.org/"
+# mirrored from https://github.com/neutrinolabs/xrdp/releases
+SRC_URI="http://dev.gentoo.org/~mgorny/dist/${XRDP_P}.tar.xz
+ http://xorg.freedesktop.org/releases/individual/xserver/${XORG_P}.tar.bz2"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="nptl"
+
+RDEPEND="dev-libs/openssl
+ media-libs/freetype
+ >=x11-apps/iceauth-1.0.2
+ >=x11-apps/rgb-1.0.3
+ >=x11-apps/xauth-1.0.3
+ x11-apps/xkbcomp
+ >=x11-libs/libpciaccess-0.10.3
+ >=x11-libs/libXau-1.0.4
+ >=x11-libs/libXdmcp-1.0.2
+ >=x11-libs/libXfont-1.4.2
+ >=x11-libs/libxkbfile-1.0.4
+ >=x11-libs/pixman-0.15.20
+ >=x11-libs/xtrans-1.2.2
+ >=x11-misc/xbitmaps-1.0.1
+ >=x11-misc/xkeyboard-config-1.4
+ >=x11-libs/libX11-1.1.5
+ >=x11-libs/libXext-1.0.5
+ >=media-libs/mesa-7.8_rc[nptl=]
+ <x11-base/xorg-server-1.17"
+
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ >=x11-proto/bigreqsproto-1.1.0
+ >=x11-proto/compositeproto-0.4
+ >=x11-proto/damageproto-1.1
+ >=x11-proto/fixesproto-4.1
+ >=x11-proto/fontsproto-2.0.2
+ >=x11-proto/glproto-1.4.11
+ >=x11-proto/inputproto-1.9.99.902
+ >=x11-proto/kbproto-1.0.3
+ >=x11-proto/randrproto-1.2.99.3
+ >=x11-proto/recordproto-1.13.99.1
+ >=x11-proto/renderproto-0.11
+ >=x11-proto/resourceproto-1.0.2
+ >=x11-proto/scrnsaverproto-1.1
+ >=x11-proto/trapproto-3.4.3
+ >=x11-proto/videoproto-2.2.2
+ >=x11-proto/xcmiscproto-1.2.0
+ >=x11-proto/xextproto-7.0.99.3
+ >=x11-proto/xf86dgaproto-2.0.99.1
+ >=x11-proto/xf86rushproto-1.1.2
+ >=x11-proto/xf86vidmodeproto-2.2.99.1
+ >=x11-proto/xineramaproto-1.1.3
+ >=x11-proto/xproto-7.0.17
+ >=x11-proto/xf86driproto-2.1.0
+ >=x11-proto/dri2proto-2.3
+ >=x11-libs/libdrm-2.4.20
+ >=x11-apps/xinit-1.3"
+
+# xrdp-specific
+DEPEND="${DEPEND}
+ app-arch/xz-utils"
+
+S=${WORKDIR}/${XRDP_P}
+
+src_prepare() {
+ # -- xrdp patches --
+ epatch "${FILESDIR}"/${XRDP_P}-0001-Include-xorg-list.h-to-fix-build-errors.patch
+ epatch "${FILESDIR}"/${XRDP_P}-0002-Remove-dither-printing.patch
+
+ # missing -pthread linking
+ sed -i -e 's:LLIBS =:& -pthread:' xorg/X11R7.6/rdp/Makefile || die
+
+ # -- xrdp fancy build layout --
+
+ mv "${WORKDIR}/${XORG_P}" ./ || die
+ mv "${S}"/xorg/X11R7.6/rdp "${XORG_P}/hw" || die
+ ln -s ../.. "${XORG_P}/hw/build_dir" || die
+ ln -s "${XORG_P}" xorg-server-1.9.3 || die
+
+ # -- xorg-server patches --
+ local xorg_patches=(
+ "${FILESDIR}"/xorg-server-disable-acpi.patch
+ "${FILESDIR}"/xorg-server-1.9-nouveau-default.patch
+ "${FILESDIR}"/xorg-cve-2011-4028+4029.patch
+ "${FILESDIR}"/xorg-server-1.9-cve-2013-1940.patch
+ "${FILESDIR}"/xorg-server-1.9-cve-2013-4396.patch
+ )
+ cd "${XORG_P}" || die
+ epatch "${xorg_patches[@]}"
+
+ # -- stuff copied from xorg follows --
+
+ # Xorg-server requires includes from OS mesa which are not visible for
+ # users of binary drivers.
+ # Due to the limitations of CONFIGURE_OPTIONS, we have to export this
+ mkdir -p "${T}/mesa-symlinks/GL"
+ for i in gl glx glxmd glxproto glxtokens; do
+ ln -s "${EROOT}usr/$(get_libdir)/opengl/xorg-x11/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die
+ done
+ for i in glext glxext; do
+ ln -s "${EROOT}usr/$(get_libdir)/opengl/global/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die
+ done
+ append-cppflags "-I${T}/mesa-symlinks"
+
+ # (#121394) Causes window corruption
+ filter-flags -fweb
+
+ # Incompatible with GCC 3.x SSP on x86, bug #244352
+ if use x86 ; then
+ if [[ $(gcc-major-version) -lt 4 ]]; then
+ filter-flags -fstack-protector
+ fi
+ fi
+
+ # Incompatible with GCC 3.x CPP, bug #314615
+ if [[ $(gcc-major-version) -lt 4 ]]; then
+ ewarn "GCC 3.x C preprocessor may cause build failures. Use GCC 4.x"
+ ewarn "or set CPP=cpp-4.3.4 (replace with the actual installed version)"
+ fi
+}
+
+src_configure() {
+ local myconf=(
+ --disable-ipv6
+ --disable-dmx
+ --disable-kdrive
+ --disable-kdrive-kbd
+ --disable-kdrive-mouse
+ --disable-kdrive-evdev
+ --disable-tslib
+ --disable-xcalibrate
+ --enable-record
+ --disable-xfree86-utils
+ --disable-install-libxf86config
+ --disable-dri
+ --disable-dri2
+ --enable-glx
+ --disable-xnest
+ --enable-xorg
+ --disable-xvfb
+ $(use_enable nptl glx-tls)
+ --disable-config-udev
+ --without-doxygen
+ --without-xmlto
+ --sysconfdir=/etc/X11
+ --localstatedir=/var
+ --enable-install-setuid
+ --with-fontrootdir=/usr/share/fonts
+ --with-xkb-output=/var/lib/xkb
+ --disable-config-hal
+ --without-dtrace
+ --without-fop
+ --with-os-vendor=Gentoo
+ --with-sha1=libcrypto
+ )
+
+ # configure xorg-server, no need to configure xrdp
+ cd "${XORG_P}" || die
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ # build xorg-server
+ emake -C "${XORG_P}"
+
+ # build x11rdp
+ emake -C "${XORG_P}"/hw/rdp X11RDPBASE=/usr
+}
+
+src_install() {
+ dobin "${XORG_P}"/hw/rdp/X11rdp
+}