aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJory A. Pratt <anarchy@gentoo.org>2016-01-04 21:04:57 -0600
committerJory A. Pratt <anarchy@gentoo.org>2016-01-04 21:04:57 -0600
commit7a19b69187224e71b0869825d9caf528fb80bb16 (patch)
tree1af2894a6386bf452dbac7a44636b4d95236e6f8 /x11-base
parentAdd pam-1.2.1 support (diff)
downloadmusl-7a19b69187224e71b0869825d9caf528fb80bb16.tar.gz
musl-7a19b69187224e71b0869825d9caf528fb80bb16.tar.bz2
musl-7a19b69187224e71b0869825d9caf528fb80bb16.zip
x11-base/xorg-server - Fix wanrings that cause failure on arm musl
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/xorg-server/Manifest5
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch59
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch65
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.17.4-arm-musl.patch20
-rw-r--r--x11-base/xorg-server/xorg-server-1.17.4.ebuild246
5 files changed, 395 insertions, 0 deletions
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index 32d6e52..544e4d0 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -4,7 +4,12 @@ AUX xdm.initd-11 6136 SHA256 86a17c9ba172481318d5fd51c3aadfdcad9e5d52ed747837972
AUX xorg-server-1.12-ia64-fix_inx_outx.patch 1737 SHA256 bf996a01faf3d1e6f00f12b17373a2530e7e433d3e6c4cac8935ebddc91cd089 SHA512 18bf9bbb973ae4e3f95ffafca8f82845f0c318c3b2dbf0cf9089a2614215ecf000b9037bfed7d80d9367be01247bf316ba2f6e16aa04fe79c54d81441c962bcd WHIRLPOOL cd133d58fc74de9d49773fe2a570d023cea38d09d7550fb9097a8c83a8393e8fc829ffaac566eee732475410e5d8063d0f99d437a68a67e8d3f65d012522240e
AUX xorg-server-1.12-unloadsubmodule.patch 1373 SHA256 c68c4c0749b9229c3ca11c72b5ca98b58c7dbaf5c7311ce45890204bdc637c3c SHA512 a6a8ebbb1005f2ea9cfdfc928209a23fe213caab31a889c3290f14bcae0a9afd40176330e2e56cb5ff986d522505e7fb98fa0c71187f403e2afd33c9c919780e WHIRLPOOL 7e9dce7dc4e064567e68697a2966f87cef756670db7e49da50c8d9a5379d7930c3f9642913b8482b8c7597067ef9098e1989284986b5ec605aca6a536329c05c
AUX xorg-server-1.14.3-musl.patch 916 SHA256 aa3d44a6b21a7991eb730d5ddf345e8ab9cf2a319648576b30a1cf5be2621fd1 SHA512 06bc6860c6fc5508c3e7458f2a6061ad02e893d0ba6303423fe76d12b223ef609f225383da891ecbaf448d9ba82bad94f33d5854763b467c1845588fbbbafcb2 WHIRLPOOL 52e957f34a738fe79eb54707252642ee2a748fc10655a02d6998f5f93380766082a772f1de91d8c65042421329af70a9057580dd5f521edec48516ba58803793
+AUX xorg-server-1.17-ia64-fix_inx_outx.patch 1539 SHA256 4c844b2d41b6412304b8a918e3cd93d8f2ab8dad8e6a22310cd87d1f3d8f5e95 SHA512 1db65132bb04eff380d38ccc8441f9f9e5286d7a47956495c0a7de7978107d15e5638d05df0aabbcd11687dd03189a7ac50fca51d755d082869aed71e66dbda1 WHIRLPOOL 8f7f3d107e2f8ce5e07d5dac9bf68b7547425943c3e6b6db92eab8bebc0194da53384c953f5e823a5284025e1bbcf18000b497d31de7c5d46e43f9cc02999915
+AUX xorg-server-1.17-support-multiple-Files-sections.patch 2256 SHA256 1cc57d2e8449d50737c507005df348610bb68241fe36e997e4803b3b8b3e6d86 SHA512 e3141727c993e02b2e067095807e96ef0cc82e2e7c8b65664d0530ef05a0f7b9170272e4e1e3523ede3f1cc23b00c4776785b8299e0b58a6e7fd56062aecefb6 WHIRLPOOL 078a5e30777a8f6e908421a1c7cc4a7e63c23f57b600bb1117bc1e8de2db0e6440870f811e65283acaa48da06fcc5666434d2bdce257709344e8f584d1525623
+AUX xorg-server-1.17.4-arm-musl.patch 682 SHA256 b210a93b4d6128c0963ade3458925ff293e1c68ac20a15964357fd401f7161e0 SHA512 b799e757a22a61ac283adbd7a8df1ad4eccce0bb6cac38a0c962ba8438bba3cf6637a65bb64859e7b32399fca672283a49960207e186c271ba574580de360d09 WHIRLPOOL 3a197692f3d5a7563294248784d8afb5d74eb19e8533cab5166364e96753e0c99c1cbfc236b74c9fcfa553822e277b62f19a4b7193697c9e0c991d3f00de5b8e
AUX xorg-sets.conf 199 SHA256 1201d0337ac69d9715f4454a86dfb8a7bd1ae6f4c2578042fc08f283a997597c SHA512 910fe28f20909243044f079ff35136942b8790f4f28ac42ffc64a76b7f03cd22057087fa5e4e01192080b52c0d89000ea96d5a807c6f11f680d3f43312c5be41 WHIRLPOOL 4acac88e1688ea71df59a86a8a188b5369ad05f61e1369cd620eecd754511578e961a537ff6d0b22156f671d3485289cbc941dfe83bea24a27329b7bebb46c7d
DIST xorg-server-1.16.4.tar.bz2 5817330 SHA256 abb6e1cc9213a9915a121f48576ff6739a0b8cdb3d32796f9a7743c9a6efc871 SHA512 f756fca65535aa921a85d8d8eb36ea2ba5b7af90a46d640b0ca76259a9abd9d323885087e11156528d95240937c70373045001ae20266a1b9e89909f007e9e74 WHIRLPOOL 63980a3e2b57d2860998344f21a6524598b3dc135c277e5a868e34b57ab5060681ae7137358b3ba8b9ca5fd622a91aeb06bd0ac9e3e5ce1f4dc55df2b2dc0e33
+DIST xorg-server-1.17.4.tar.bz2 5791384 SHA256 0c4b45c116a812a996eb432d8508cf26c2ec8c3916ff2a50781796882f8d6457 SHA512 4b8377b86ca88f27dcf59db2996b2ee620ce6f181a37dc47600365db588d48f2f3ca66a3149e7c856e686e5783b1cccb2ba0827aa7413299163dfca869f4d376 WHIRLPOOL c5baa1b01e57eac9e18bd1890c0a7e2246836524645057d5e05a1a19225d863645616aafaadbf9d083ffb672d47ea1934ad8323d813533e9519f0d92f9a1c6ab
EBUILD xorg-server-1.16.4-r99.ebuild 6878 SHA256 2964b54ef3281174961903084f4c6333ced6e16f7fafc20e0655aa7a8d556694 SHA512 1258f0db4d9b91e428e325c9ed0472792f1b34df290115aff29e3f8211d294ffbc0d4dc4b0d51ae6ffe919f89668dbeed3ea202f4477762034ae6014e634033e WHIRLPOOL 5399e6a4f6d359049082290f0d39de1f8f09fed28d1f2b861a0d07bf14c4588388a366c0f56cf1a6d10b755c048b7353a2deedb8ea35624d64ff814c5f589ec7
+EBUILD xorg-server-1.17.4.ebuild 6389 SHA256 bed54a4700a79eac2ed3ad6286e42a87f2f07b16c35b995d7b4bb204e69a522c SHA512 59d061448ba8c9b780843bfb02bc884354829d9bcd9b37b6857fb11317b6d1c1fd606cbaaf202e9cc75e6dba26752c4aa5a39187aa8a5698cbb1b6d800aa9eab WHIRLPOOL f6212d5172b74c9c7bc0b4a3210e199692fced0110c8e55ae7cf6da183d0b59ebc65d73c6371b991aa1bade89aca400b9c20fe3c58259821bff7c3c1d93de07f
MISC metadata.xml 751 SHA256 02f470045d13e4baad4089f1cbc7cafd4dd1ab1b1799eeb2c0fb7864e956df80 SHA512 a58ad7f347519d7ba3bd710f1eab0f67925645961bcfa97fd9f106d5ea81400da79eebe95037ee4589b19c462fbdf6948949818f31210995ec9a930eaef78b26 WHIRLPOOL 67b3f0584a5c1d9e6da206761fc34a82caae36a4d9544c5512a95cdef800417c0f3f03a49606ebef72aa61522f097bf448fa0bdf651b5dd3b04554dcc86aaf5f
diff --git a/x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch b/x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch
new file mode 100644
index 0000000..84485c9
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.17-ia64-fix_inx_outx.patch
@@ -0,0 +1,59 @@
+diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
+index 1653574..fe881ee 100644
+--- a/hw/xfree86/common/compiler.h
++++ b/hw/xfree86/common/compiler.h
+@@ -286,6 +286,54 @@ extern _X_EXPORT unsigned int inl(unsigned int port);
+ #include <machine/pio.h>
+ #endif /* __NetBSD__ */
+
++#elif defined(linux) && defined(__ia64__)
++/* for Linux on ia64, we use the LIBC _inx/_outx routines */
++/* note that the appropriate setup via "ioperm" needs to be done */
++/* *before* any inx/outx is done. */
++
++extern _X_EXPORT void _outb(unsigned char val, unsigned long port);
++extern _X_EXPORT void _outw(unsigned short val, unsigned long port);
++extern _X_EXPORT void _outl(unsigned int val, unsigned long port);
++extern _X_EXPORT unsigned int _inb(unsigned long port);
++extern _X_EXPORT unsigned int _inw(unsigned long port);
++extern _X_EXPORT unsigned int _inl(unsigned long port);
++
++static __inline__ void
++outb(unsigned long port, unsigned char val)
++{
++ _outb(val, port);
++}
++
++static __inline__ void
++outw(unsigned long port, unsigned short val)
++{
++ _outw(val, port);
++}
++
++static __inline__ void
++outl(unsigned long port, unsigned int val)
++{
++ _outl(val, port);
++}
++
++static __inline__ unsigned int
++inb(unsigned long port)
++{
++ return _inb(port);
++}
++
++static __inline__ unsigned int
++inw(unsigned long port)
++{
++ return _inw(port);
++}
++
++static __inline__ unsigned int
++inl(unsigned long port)
++{
++ return _inl(port);
++}
++
+ #elif defined(__amd64__)
+
+ #include <inttypes.h>
diff --git a/x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch b/x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch
new file mode 100644
index 0000000..789a118
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.17-support-multiple-Files-sections.patch
@@ -0,0 +1,65 @@
+From a140d7ce3f37f30b4fed27c5a70ebcc4ed13c612 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 24 Feb 2015 12:57:24 +0100
+Subject: [PATCH] config: Support multiple 'Files' sections
+
+---
+ hw/xfree86/parser/Files.c | 8 ++++++--
+ hw/xfree86/parser/configProcs.h | 2 +-
+ hw/xfree86/parser/read.c | 2 +-
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/hw/xfree86/parser/Files.c b/hw/xfree86/parser/Files.c
+index 849bf92..5cc3ec7 100644
+--- a/hw/xfree86/parser/Files.c
++++ b/hw/xfree86/parser/Files.c
+@@ -76,14 +76,18 @@ static xf86ConfigSymTabRec FilesTab[] = {
+ #define CLEANUP xf86freeFiles
+
+ XF86ConfFilesPtr
+-xf86parseFilesSection(void)
++xf86parseFilesSection(XF86ConfFilesPtr ptr)
+ {
+ int i, j;
+ int k, l;
+ char *str;
+ int token;
+
+- parsePrologue(XF86ConfFilesPtr, XF86ConfFilesRec)
++ if (!ptr) {
++ if( (ptr=calloc(1,sizeof(XF86ConfFilesRec))) == NULL ) {
++ return NULL;
++ }
++ }
+
+ while ((token = xf86getToken(FilesTab)) != ENDSECTION) {
+ switch (token) {
+diff --git a/hw/xfree86/parser/configProcs.h b/hw/xfree86/parser/configProcs.h
+index 774e2a2..b9fdebb 100644
+--- a/hw/xfree86/parser/configProcs.h
++++ b/hw/xfree86/parser/configProcs.h
+@@ -37,7 +37,7 @@ void xf86freeDeviceList(XF86ConfDevicePtr ptr);
+ int xf86validateDevice(XF86ConfigPtr p);
+
+ /* Files.c */
+-XF86ConfFilesPtr xf86parseFilesSection(void);
++XF86ConfFilesPtr xf86parseFilesSection(XF86ConfFilesPtr ptr);
+ void xf86printFileSection(FILE * cf, XF86ConfFilesPtr ptr);
+ void xf86freeFiles(XF86ConfFilesPtr p);
+
+diff --git a/hw/xfree86/parser/read.c b/hw/xfree86/parser/read.c
+index 327c02a..e0d6139 100644
+--- a/hw/xfree86/parser/read.c
++++ b/hw/xfree86/parser/read.c
+@@ -110,7 +110,7 @@ xf86readConfigFile(void)
+ if (xf86nameCompare(xf86_lex_val.str, "files") == 0) {
+ free(xf86_lex_val.str);
+ xf86_lex_val.str = NULL;
+- HANDLE_RETURN(conf_files, xf86parseFilesSection());
++ HANDLE_RETURN(conf_files, xf86parseFilesSection(ptr->conf_files));
+ }
+ else if (xf86nameCompare(xf86_lex_val.str, "serverflags") == 0) {
+ free(xf86_lex_val.str);
+--
+2.3.0
+
diff --git a/x11-base/xorg-server/files/xorg-server-1.17.4-arm-musl.patch b/x11-base/xorg-server/files/xorg-server-1.17.4-arm-musl.patch
new file mode 100644
index 0000000..e661ae1
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.17.4-arm-musl.patch
@@ -0,0 +1,20 @@
+--- ./hw/xfree86/common/compiler.h.orig
++++ ./hw/xfree86/common/compiler.h
+@@ -721,7 +721,7 @@
+ :"r"(val), "r"(addr), "i"(ASI_PL));
+ }
+
+-#elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__))
++#elif defined(__mips__) || (defined(__arm32__) && !defined(__GLIBC__))
+ #if defined(__arm32__) || defined(__mips64)
+ #define PORT_SIZE long
+ #else
+@@ -996,7 +996,7 @@
+ return xf86ReadMmio32Le((void *) ioBase, port);
+ }
+
+-#elif defined(__arm__) && defined(__linux__)
++#elif defined(__arm__) && defined(__GLIBC__)
+
+ /* for Linux on ARM, we use the LIBC inx/outx routines */
+ /* note that the appropriate setup via "ioperm" needs to be done */
diff --git a/x11-base/xorg-server/xorg-server-1.17.4.ebuild b/x11-base/xorg-server/xorg-server-1.17.4.ebuild
new file mode 100644
index 0000000..9b49160
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-1.17.4.ebuild
@@ -0,0 +1,246 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+XORG_DOC=doc
+inherit xorg-2 multilib versionator flag-o-matic
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/xorg/xserver"
+
+DESCRIPTION="X.Org X servers"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+
+IUSE_SERVERS="dmx kdrive xephyr xnest xorg xvfb"
+IUSE="${IUSE_SERVERS} glamor ipv6 libressl minimal nptl selinux +suid systemd tslib +udev unwind wayland"
+
+CDEPEND=">=app-eselect/eselect-opengl-1.3.0
+ !libressl? ( dev-libs/openssl:0 )
+ libressl? ( dev-libs/libressl )
+ 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/libdrm-2.4.46
+ >=x11-libs/libpciaccess-0.12.901
+ >=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/libxshmfence-1.1
+ >=x11-libs/pixman-0.27.2
+ >=x11-libs/xtrans-1.3.5
+ >=x11-misc/xbitmaps-1.0.1
+ >=x11-misc/xkeyboard-config-2.4.1-r3
+ dmx? (
+ x11-libs/libXt
+ >=x11-libs/libdmx-1.0.99.1
+ >=x11-libs/libX11-1.1.5
+ >=x11-libs/libXaw-1.0.4
+ >=x11-libs/libXext-1.0.99.4
+ >=x11-libs/libXfixes-5.0
+ >=x11-libs/libXi-1.2.99.1
+ >=x11-libs/libXmu-1.0.3
+ x11-libs/libXrender
+ >=x11-libs/libXres-1.0.3
+ >=x11-libs/libXtst-1.0.99.2
+ )
+ glamor? (
+ media-libs/libepoxy
+ >=media-libs/mesa-10.3.4-r1[egl,gbm]
+ !x11-libs/glamor
+ )
+ kdrive? (
+ >=x11-libs/libXext-1.0.5
+ x11-libs/libXv
+ )
+ xephyr? (
+ x11-libs/libxcb
+ x11-libs/xcb-util
+ x11-libs/xcb-util-image
+ x11-libs/xcb-util-keysyms
+ x11-libs/xcb-util-renderutil
+ x11-libs/xcb-util-wm
+ )
+ !minimal? (
+ >=x11-libs/libX11-1.1.5
+ >=x11-libs/libXext-1.0.5
+ >=media-libs/mesa-10.3.4-r1[nptl=]
+ )
+ tslib? ( >=x11-libs/tslib-1.0 )
+ udev? ( >=virtual/udev-150 )
+ unwind? ( sys-libs/libunwind )
+ wayland? (
+ >=dev-libs/wayland-1.3.0
+ media-libs/libepoxy
+ )
+ >=x11-apps/xinit-1.3.3-r1
+ systemd? (
+ sys-apps/dbus
+ sys-apps/systemd
+ )"
+
+DEPEND="${CDEPEND}
+ sys-devel/flex
+ >=x11-proto/bigreqsproto-1.1.0
+ >=x11-proto/compositeproto-0.4
+ >=x11-proto/damageproto-1.1
+ >=x11-proto/fixesproto-5.0
+ >=x11-proto/fontsproto-2.1.3
+ >=x11-proto/glproto-1.4.17-r1
+ >=x11-proto/inputproto-2.2.99.1
+ >=x11-proto/kbproto-1.0.3
+ >=x11-proto/randrproto-1.4.0
+ >=x11-proto/recordproto-1.13.99.1
+ >=x11-proto/renderproto-0.11
+ >=x11-proto/resourceproto-1.2.0
+ >=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.2.99.901
+ >=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.26
+ >=x11-proto/presentproto-1.0
+ >=x11-proto/dri3proto-1.0
+ dmx? (
+ >=x11-proto/dmxproto-2.2.99.1
+ doc? (
+ || (
+ www-client/links
+ www-client/lynx
+ www-client/w3m
+ )
+ )
+ )
+ !minimal? (
+ >=x11-proto/xf86driproto-2.1.0
+ >=x11-proto/dri2proto-2.8
+ )"
+
+RDEPEND="${CDEPEND}
+ selinux? ( sec-policy/selinux-xserver )
+ !x11-drivers/xf86-video-modesetting
+"
+
+PDEPEND="
+ xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
+
+REQUIRED_USE="!minimal? (
+ || ( ${IUSE_SERVERS} )
+ )
+ xephyr? ( kdrive )"
+
+#UPSTREAMED_PATCHES=(
+# "${WORKDIR}/patches/"
+#)
+
+PATCHES=(
+ "${UPSTREAMED_PATCHES[@]}"
+ "${FILESDIR}"/${PN}-1.17-ia64-fix_inx_outx.patch
+ "${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
+ # needed for new eselect-opengl, bug #541232
+ "${FILESDIR}"/${PN}-1.17-support-multiple-Files-sections.patch
+ "${FILESDIR}"/${PN}-1.17.4-arm-musl.patch
+)
+
+pkg_pretend() {
+ # older gcc is not supported
+ [[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \
+ die "Sorry, but gcc earlier than 4.0 will not work for xorg-server."
+}
+
+src_configure() {
+ # localstatedir is used for the log location; we need to override the default
+ # from ebuild.sh
+ # sysconfdir is used for the xorg.conf location; same applies
+ # NOTE: fop is used for doc generating ; and i have no idea if gentoo
+ # package it somewhere
+ XORG_CONFIGURE_OPTIONS=(
+ $(use_enable ipv6)
+ $(use_enable dmx)
+ $(use_enable glamor)
+ $(use_enable kdrive)
+ $(use_enable kdrive kdrive-kbd)
+ $(use_enable kdrive kdrive-mouse)
+ $(use_enable kdrive kdrive-evdev)
+ $(use_enable suid install-setuid)
+ $(use_enable tslib)
+ $(use_enable unwind libunwind)
+ $(use_enable wayland xwayland)
+ $(use_enable !minimal record)
+ $(use_enable !minimal xfree86-utils)
+ $(use_enable !minimal install-libxf86config)
+ $(use_enable !minimal dri)
+ $(use_enable !minimal dri2)
+ $(use_enable !minimal glx)
+ $(use_enable xephyr)
+ $(use_enable xnest)
+ $(use_enable xorg)
+ $(use_enable xvfb)
+ $(use_enable nptl glx-tls)
+ $(use_enable udev config-udev)
+ $(use_with doc doxygen)
+ $(use_with doc xmlto)
+ $(use_with systemd systemd-daemon)
+ $(use_enable systemd systemd-logind)
+ --enable-libdrm
+ --sysconfdir="${EPREFIX}"/etc/X11
+ --localstatedir="${EPREFIX}"/var
+ --with-fontrootdir="${EPREFIX}"/usr/share/fonts
+ --with-xkb-output="${EPREFIX}"/var/lib/xkb
+ --disable-config-hal
+ --disable-linux-acpi
+ --without-dtrace
+ --without-fop
+ --with-os-vendor=Gentoo
+ --with-sha1=libcrypto
+ )
+
+ xorg-2_src_configure
+}
+
+src_install() {
+ xorg-2_src_install
+
+ server_based_install
+
+ if ! use minimal && use xorg; then
+ # Install xorg.conf.example into docs
+ dodoc "${AUTOTOOLS_BUILD_DIR}"/hw/xfree86/xorg.conf.example
+ fi
+
+ newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
+ newinitd "${FILESDIR}"/xdm.initd-11 xdm
+ newconfd "${FILESDIR}"/xdm.confd-4 xdm
+
+ # install the @x11-module-rebuild set for Portage
+ insinto /usr/share/portage/config/sets
+ newins "${FILESDIR}"/xorg-sets.conf xorg.conf
+}
+
+pkg_postinst() {
+ # sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
+ eselect opengl set xorg-x11 --use-old
+}
+
+pkg_postrm() {
+ # Get rid of module dir to ensure opengl-update works properly
+ if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then
+ rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules
+ fi
+}
+
+server_based_install() {
+ if ! use xorg; then
+ rm "${ED}"/usr/share/man/man1/Xserver.1x \
+ "${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \
+ "${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
+ "${ED}"/usr/share/man/man1/Xserver.1x
+ fi
+}