From: Nick Bowler Date: Mon, 19 Apr 2010 17:37:21 +0000 (-0400) Subject: xorg-server: Version bump to 1.8.0 + DontLie. X-Git-Url: http://git.draconx.ca/gitweb/gentoo-draconx.git/commitdiff_plain/7f3f6209488ef04d77ab7f08d9597f8562ab378a xorg-server: Version bump to 1.8.0 + DontLie. --- diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest index 73e58f2..e28187f 100644 --- a/x11-base/xorg-server/Manifest +++ b/x11-base/xorg-server/Manifest @@ -1,5 +1,13 @@ +AUX 0001-xfree86-Add-DontLie-server-flag.patch 4746 RMD160 87de996ac0eaab5d0bdc7013319ee8b0c7cd1727 SHA1 f5ba61e4a1a08b6d8f35be96d7295599edae0b84 SHA256 904cdde3750fdc23572286cd8d8fb6e6372b8c56021dcb8b1a14a5e1e5101759 AUX 1.7.3.901-0001-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch 3142 RMD160 3cd195de58afa6f64df332c80334bdcbd5627706 SHA1 8b226f32183eabf130e85ad07d1bbffaa2a14915 SHA256 c315ee87fb09265b6372503c628192f527064e9493fdd3c66801f26ab974df6a AUX 1.7.5.902-fix-tslib-1.0-check.patch 743 RMD160 139969e7c89ccbb6c86a93b7ea74aad2e942cd55 SHA1 621f3dea75aeb84a30279e5854b0ae256f653113 SHA256 03fced212933eb4502554c4fd629ead92027dc13f178ad5c43cd59b7ce615cea -AUX xfree86-Add-DontLie-server-flag.patch 4744 RMD160 c9650be0d9e554375f1e8a11b451222c407af24e SHA1 ed18ca8e811784042ce0e3ee070a74a9b9f26a6d SHA256 6830129ee0d48cf44ad42f2729393a392f8ccca960bda670612839e8a6003400 +AUX 1.8.0-match-only-sane-devices.patch 1980 RMD160 4fee29076bb30e8fb1b820ef58a1c26f3bd63c73 SHA1 98d4ea8e493a31f141e39f4a468458469ebff58f SHA256 95f6ab36fa1b6b80786ff90fb2ee1f7fe02d964a1d10c90277060b4982d8eace +AUX 1.8.0-no-hardcoded-etc.patch 833 RMD160 9e3736556f8c74c1c78561590cf03e9316d28a75 SHA1 0063e0c520f128507e71134571de6dd95a00079c SHA256 2168832548dbb8d6619df7b2a54b22f118de588522b4014dabaa98829331a6b9 +AUX xdm-setup.initd-1 346 RMD160 e68512e71adbf15743f789bb6b5587b07a9812a3 SHA1 f25303b8bcef0c5d2eb61517d5347b4b88736cd4 SHA256 942ce5e8d1a0770543b683dcc388bae7619a24eb9741c1cd678ed3df97c01406 +AUX xdm.confd-3 853 RMD160 363cd18f760650923e16579bf55f661e93dad63b SHA1 0027b98f2aeb5c43219fa4f9b7d81a05101bec6f SHA256 00af0d957ff1b4f31c1aa4701d93a54080408548792deafac5414cbfa13b89ec +AUX xdm.initd 5392 RMD160 eec0b0ccefeee366e891afc73d195240b447421f SHA1 d3ce725e86fa3889f77403354b7f69d8184181ae SHA256 0c087c42d46563fd9d63da655753128aab2a0815efb83f906db3f54ba5c886ce +AUX xorg-server-disable-acpi.patch 663 RMD160 7074ca5276369b746ea7606a0795232aafe07c90 SHA1 d300a37dd2e0a8aa3965948c13f6995e6767841d SHA256 5b3cc7c8bea18fe3ba81851d2846d19ffd8fab9cdf5d8f3a274846847e734200 DIST xorg-server-1.7.6.tar.bz2 4927689 RMD160 811ca10c01da9b4bdeb743ee90b6845971dfd4c7 SHA1 77a8c3dec86960e1be818df3a75d69b5fad6a3c0 SHA256 da372e064aa5c2a0421830941372d4fea864e69c70290d56d6ffc042a6e80760 -EBUILD xorg-server-1.7.6.ebuild 7134 RMD160 1d9e86620711eb4bf8b1493966b81854a764b6f6 SHA1 7f46d8b19ceaedb9ac90b657674d715c318ec067 SHA256 6bba79ecd3f8d97f6d3a003088b9038549114d62f7f32aab600a5e40f79c9e97 +DIST xorg-server-1.8.0.tar.bz2 5097035 RMD160 4dedc88bcbbbe545b0e795d541edb3c665d12018 SHA1 a5f4fc748fc9841b7c0be6ef7388d26551d0d75b SHA256 423a8092e28affb83aa736695408e01fd4641040727f34ed6bcfae9c06018b77 +EBUILD xorg-server-1.7.6.ebuild 7139 RMD160 87d35013f3a3c5461ce558426e430e7225369f8a SHA1 5b5a5a60b1135166691b4cea40d02d2b7b58a0e5 SHA256 8f68f9b269d6053b28260e65c6779b07ec1d1faf332dbd27a07f3cc80fe452fa +EBUILD xorg-server-1.8.0.ebuild 8221 RMD160 6aa53ec1042a8c12b9aa06c1aee767a50e1c2445 SHA1 d1e770f5108c161fb5d20207c612c568c32cfdc8 SHA256 5e21d8ab052b17774c40b67fb20981847a289ddbad39b8753501d21b50a6d450 diff --git a/x11-base/xorg-server/files/xfree86-Add-DontLie-server-flag.patch b/x11-base/xorg-server/files/0001-xfree86-Add-DontLie-server-flag.patch similarity index 91% rename from x11-base/xorg-server/files/xfree86-Add-DontLie-server-flag.patch rename to x11-base/xorg-server/files/0001-xfree86-Add-DontLie-server-flag.patch index 7826994..939aab1 100644 --- a/x11-base/xorg-server/files/xfree86-Add-DontLie-server-flag.patch +++ b/x11-base/xorg-server/files/0001-xfree86-Add-DontLie-server-flag.patch @@ -1,4 +1,4 @@ -From 3f5e8e89ea149a105ac191e3b7ebee922f78868f Mon Sep 17 00:00:00 2001 +From 1557c71c858c7e16a54f959135faa1620cad11ab Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Wed, 6 Jan 2010 10:42:17 -0500 Subject: [PATCH] xfree86: Add DontLie server flag. @@ -21,10 +21,10 @@ Signed-off-by: Nick Bowler 5 files changed, 26 insertions(+), 1 deletions(-) diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c -index 6fbf613..88c8a56 100644 +index 1e9543f..eb0b23e 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c -@@ -703,7 +703,8 @@ typedef enum { +@@ -715,7 +715,8 @@ typedef enum { FLAG_AUTO_ENABLE_DEVICES, FLAG_GLX_VISUALS, FLAG_DRI2, @@ -34,7 +34,7 @@ index 6fbf613..88c8a56 100644 } FlagValues; /** -@@ -767,6 +768,8 @@ static OptionInfoRec FlagOptions[] = { +@@ -779,6 +780,8 @@ static OptionInfoRec FlagOptions[] = { {0}, FALSE }, { FLAG_USE_SIGIO, "UseSIGIO", OPTV_BOOLEAN, {0}, FALSE }, @@ -43,7 +43,7 @@ index 6fbf613..88c8a56 100644 { -1, NULL, OPTV_NONE, {0}, FALSE }, }; -@@ -824,6 +827,7 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) +@@ -836,6 +839,7 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) xf86GetOptValBool(FlagOptions, FLAG_DONTVTSWITCH, &xf86Info.dontVTSwitch); xf86GetOptValBool(FlagOptions, FLAG_DONTZAP, &xf86Info.dontZap); xf86GetOptValBool(FlagOptions, FLAG_DONTZOOM, &xf86Info.dontZoom); @@ -52,7 +52,7 @@ index 6fbf613..88c8a56 100644 xf86GetOptValBool(FlagOptions, FLAG_IGNORE_ABI, &xf86Info.ignoreABI); if (xf86Info.ignoreABI) { diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c -index 98f8284..c7d03a4 100644 +index 8b483f3..6402329 100644 --- a/hw/xfree86/common/xf86Globals.c +++ b/hw/xfree86/common/xf86Globals.c @@ -110,6 +110,7 @@ xf86InfoRec xf86Info = { @@ -77,10 +77,10 @@ index b2095aa..05166f9 100644 Bool caughtSignal; diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre -index f0a7373..21ea017 100644 +index f7ff6f6..e2e5a55 100644 --- a/hw/xfree86/doc/man/xorg.conf.man.pre +++ b/hw/xfree86/doc/man/xorg.conf.man.pre -@@ -490,6 +490,12 @@ When this option is enabled, those key sequences have no special meaning +@@ -550,6 +550,12 @@ When this option is enabled, those key sequences have no special meaning and are passed to clients. Default: off. .TP 7 @@ -124,5 +124,5 @@ index 7ba09b6..c51857b 100644 { /* -- -1.7.0 +1.7.0.4 diff --git a/x11-base/xorg-server/files/1.8.0-match-only-sane-devices.patch b/x11-base/xorg-server/files/1.8.0-match-only-sane-devices.patch new file mode 100644 index 0000000..6ece211 --- /dev/null +++ b/x11-base/xorg-server/files/1.8.0-match-only-sane-devices.patch @@ -0,0 +1,63 @@ +From c8a608cb6ce8f9c86258c1ab49084f691fa9cc51 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Wed, 07 Apr 2010 00:04:38 +0000 +Subject: config: only match sane devices in 10-evdev.conf + +Having a generic catchall also adds devices like accelerometers. These +devices make X unusable, hence restrict matching to "known sane" devices +like pointers, touchpads, keyboards, tablets and touchscreens. + +Signed-off-by: Peter Hutterer +Acked-by: Julien Cristau +Acked-by: Dan Nicholson +Acked-by: James Cloos +--- +diff --git a/config/10-evdev.conf b/config/10-evdev.conf +index 7406f4e..cc83ab2 100644 +--- a/config/10-evdev.conf ++++ b/config/10-evdev.conf +@@ -1,8 +1,40 @@ + # + # Catch-all evdev loader for udev-based systems +-# ++# We don't simply match on any device since that also adds accelerometers ++# and other devices that we don't really want to use. The list below ++# matches everything but joysticks. ++ + Section "InputClass" +- Identifier "evdev-catchall" ++ Identifier "evdev pointer catchall" ++ MatchIsPointer "on" ++ MatchDevicePath "/dev/input/event*" + Driver "evdev" ++EndSection ++ ++Section "InputClass" ++ Identifier "evdev keyboard catchall" ++ MatchIsKeyboard "on" + MatchDevicePath "/dev/input/event*" ++ Driver "evdev" ++EndSection ++ ++Section "InputClass" ++ Identifier "evdev touchpad catchall" ++ MatchIsTouchpad "on" ++ MatchDevicePath "/dev/input/event*" ++ Driver "evdev" ++EndSection ++ ++Section "InputClass" ++ Identifier "evdev tablet catchall" ++ MatchIsTablet "on" ++ MatchDevicePath "/dev/input/event*" ++ Driver "evdev" ++EndSection ++ ++Section "InputClass" ++ Identifier "evdev touchscreen catchall" ++ MatchIsTouchscreen "on" ++ MatchDevicePath "/dev/input/event*" ++ Driver "evdev" + EndSection +-- +cgit v0.8.3-6-g21f6 diff --git a/x11-base/xorg-server/files/1.8.0-no-hardcoded-etc.patch b/x11-base/xorg-server/files/1.8.0-no-hardcoded-etc.patch new file mode 100644 index 0000000..33a2862 --- /dev/null +++ b/x11-base/xorg-server/files/1.8.0-no-hardcoded-etc.patch @@ -0,0 +1,28 @@ +From 7fc78783018cf2ce27f8e6829f9eff1d9032541c Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Wed, 7 Apr 2010 09:27:59 +1000 +Subject: [PATCH] config: don't hardcode /etc for 10-evdev.conf + +Use sysconfdir instead to avoid amusements like /usr/etc/ and the like. + +Signed-off-by: Peter Hutterer +--- + config/Makefile.am | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/config/Makefile.am b/config/Makefile.am +index eed7454..2e468cf 100644 +--- a/config/Makefile.am ++++ b/config/Makefile.am +@@ -9,7 +9,7 @@ AM_CFLAGS += $(UDEV_CFLAGS) + libconfig_la_SOURCES += udev.c + libconfig_la_LIBADD = $(UDEV_LIBS) + +-xorgconfddir = $(prefix)/etc/X11/$(XF86CONFIGDIR) ++xorgconfddir = $(sysconfdir)/$(XF86CONFIGDIR) + xorgconfd_DATA = 10-evdev.conf + + else +-- +1.6.6.1 + diff --git a/x11-base/xorg-server/files/xdm-setup.initd-1 b/x11-base/xorg-server/files/xdm-setup.initd-1 new file mode 100644 index 0000000..365664e --- /dev/null +++ b/x11-base/xorg-server/files/xdm-setup.initd-1 @@ -0,0 +1,14 @@ +#!/sbin/runscript +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/files/xdm-setup.initd-1,v 1.1 2010/04/13 10:07:39 scarabeus Exp $ + +depend() { + need localmount +} + +start() { + if get_bootparam "nox" ; then + touch /etc/.noxdm + fi +} diff --git a/x11-base/xorg-server/files/xdm.confd-3 b/x11-base/xorg-server/files/xdm.confd-3 new file mode 100644 index 0000000..9c560bb --- /dev/null +++ b/x11-base/xorg-server/files/xdm.confd-3 @@ -0,0 +1,16 @@ +# We always try and start X on a static VT. The various DMs normally default +# to using VT7. If you wish to use the xdm init script, then you should ensure +# that the VT checked is the same VT your DM wants to use. We do this check to +# ensure that you haven't accidentally configured something to run on the VT +# in your /etc/inittab file so that you don't get a dead keyboard. +CHECKVT=7 + +# What display manager do you use ? [ xdm | gdm | kdm | kdm-4.3 | gpe | entrance ] +# NOTE: If this is set in /etc/rc.conf, that setting will override this one. +# +# KDE-specific note: +# - If you are using kdeprefix go with "kdm-4.Y", e.g. "kdm-4.3". +# You can find possible versions by looking at the directories in /usr/kde/. +# - Else, if you are using KDE 3 enter "kdm-3.5" +# - Else, if you are using KDE 4 enter "kdm" without a version +DISPLAYMANAGER="xdm" \ No newline at end of file diff --git a/x11-base/xorg-server/files/xdm.initd b/x11-base/xorg-server/files/xdm.initd new file mode 100755 index 0000000..6d10e1f --- /dev/null +++ b/x11-base/xorg-server/files/xdm.initd @@ -0,0 +1,203 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/files/xdm.initd,v 1.1 2010/04/13 10:07:39 scarabeus Exp $ + +# This is here to serve as a note to myself, and future developers. +# +# Any Display manager (gdm,kdm,xdm) has the following problem: if +# it is started before any getty, and no vt is specified, it will +# usually run on vt2. When the getty on vt2 then starts, and the +# DM is already started, the getty will take control of the keyboard, +# leaving us with a "dead" keyboard. +# +# Resolution: add the following line to /etc/inittab +# +# x:a:once:/etc/X11/startDM.sh +# +# and have /etc/X11/startDM.sh start the DM in daemon mode if +# a lock is present (with the info of what DM should be started), +# else just fall through. +# +# How this basically works, is the "a" runlevel is a additional +# runlevel that you can use to fork processes with init, but the +# runlevel never gets changed to this runlevel. Along with the "a" +# runlevel, the "once" key word means that startDM.sh will only be +# run when we specify it to run, thus eliminating respawning +# startDM.sh when "xdm" is not added to the default runlevel, as was +# done previously. +# +# This script then just calls "telinit a", and init will run +# /etc/X11/startDM.sh after the current runlevel completes (this +# script should only be added to the actual runlevel the user is +# using). +# +# Martin Schlemmer +# aka Azarah +# 04 March 2002 + +depend() { + need localmount xdm-setup + + # this should start as early as possible + # we can't do 'before *' as that breaks it + # (#139824) Start after ypbind and autofs for network authentication + # (#145219 #180163) Could use lirc mouse as input device + # (#70689 comment #92) Start after consolefont to avoid display corruption + # (#291269) Start after quota, since some dm need readable home + after bootmisc consolefont modules netmount + after readahead-list ypbind autofs openvpn gpm lircmd + after quota + before alsasound + + # Start before X + use consolekit xfs + @HALD_DEPEND@ +} + +setup_dm() { + local MY_XDM="$(echo "${DISPLAYMANAGER}" | tr '[:upper:]' '[:lower:]')" + + # Load our root path from profile.env + # Needed for kdm + PATH="${PATH}:$(. /etc/profile.env; echo "${ROOTPATH}")" + + case "${MY_XDM}" in + kdm|kde) + EXE="$(which kdm)" + PIDFILE=/var/run/kdm.pid + ;; + kdm-*) + EXE="/usr/kde/${MY_XDM#kdm-}/bin/kdm" + PIDFILE=/var/run/kdm.pid + ;; + entrance*) + EXE=/usr/sbin/entranced + PIDFILE=/var/lib/entranced.pid + ;; + gdm|gnome) + EXE=/usr/bin/gdm + [ "${RC_UNAME}" != "Linux" ] && NAME=gdm-binary + PIDFILE=/var/run/gdm.pid + ;; + wdm) + EXE=/usr/bin/wdm + PIDFILE= + ;; + gpe) + EXE=/usr/bin/gpe-dm + PIDFILE=/var/run/gpe-dm.pid + ;; + *) + # first find out if there is such executable + EXE="$(which ${MY_XDM} 2>/dev/null)" + PIDFILE="/var/run/${MY_XDM}.pid" + + # warn user that he is doing sick things if the exe was not found + if [ "${EXE}" = "" ]; then + echo "ERROR: Your XDM value is invalid." + echo " No ${MY_XDM} executable could be found on your system." + fi + ;; + esac + + if ! [ -x "${EXE}" ]; then + EXE=/usr/bin/xdm + PIDFILE=/var/run/xdm.pid + if ! [ -x "/usr/bin/xdm" ]; then + echo "ERROR: Please set your DISPLAYMANAGER variable in /etc/conf.d/xdm," + echo " or install x11-apps/xdm package" + eend 255 + fi + fi +} + +# Check to see if something is defined on our VT +vtstatic() { + if [ -e /etc/inittab ] ; then + grep -Eq "^[^#]+.*\" /etc/inittab + elif [ -e /etc/ttys ] ; then + grep -q "^ttyv$(($1 - 1))" /etc/ttys + else + return 1 + fi +} + +start() { + local EXE= NAME= PIDFILE= + setup_dm + + if [ -f /etc/.noxdm ] ; then + einfo "Skipping ${EXE}, /etc/.noxdm found" + rm /etc/.noxdm + return 0 + fi + + ebegin "Setting up ${EXE##*/}" + + # save the prefered DM + save_options "service" "${EXE}" + save_options "name" "${NAME}" + save_options "pidfile" "${PIDFILE}" + + if [ -n "${CHECKVT-y}" ] ; then + if vtstatic "${CHECKVT:-7}" ; then + if [ -x /sbin/telinit ] && [ "${SOFTLEVEL}" != "BOOT" ] && [ "${RC_SOFTLEVEL}" != "BOOT" ] ; then + ewarn "Something is already defined on VT ${CHECKVT:-7}, will start X later" + telinit a >/dev/null 2>/dev/null + return 0 + else + eerror "Something is already defined on VT ${CHECKVT:-7}, not starting" + return 1 + fi + fi + fi + + /etc/X11/startDM.sh + eend 0 +} + +stop() { + local retval=0 + local curvt= + if [ -t 0 ] ; then + if type fgconsole >/dev/null 2>/dev/null ; then + curvt="$(fgconsole 2>/dev/null)" + else + curvt="$(tty)" + case "${curvt}" in + /dev/ttyv[0-9]*) curvt="${curvt#/dev/ttyv*}" ;; + *) curvt= ;; + esac + fi + fi + local myexe="$(get_options "service")" + local myname="$(get_options "name")" + local mypidfile="$(get_options "pidfile")" + local myservice=${myexe##*/} + + [ -z "${myexe}" ] && return 0 + + ebegin "Stopping ${myservice}" + + if start-stop-daemon --quiet --test --stop --exec "${myexe}" ; then + start-stop-daemon --stop --exec "${myexe}" --retry TERM/5/TERM/5 \ + ${mypidfile:+--pidfile} ${mypidfile} \ + ${myname:+--name} ${myname} + retval=$? + fi + + # switch back to original vt + if [ -n "${curvt}" ] ; then + if type chvt >/dev/null 2>/dev/null ; then + chvt "${curvt}" + else + vidcontrol -s "$((${curvt} + 1))" + fi + fi + + eend ${retval} "Error stopping ${myservice}" + return ${retval} +} + +# vim: set ts=4 : \ No newline at end of file diff --git a/x11-base/xorg-server/files/xorg-server-disable-acpi.patch b/x11-base/xorg-server/files/xorg-server-disable-acpi.patch new file mode 100644 index 0000000..cc80e6c --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-disable-acpi.patch @@ -0,0 +1,31 @@ +From a8079882f1884edc62a9de28af915bd8b65dfbbe Mon Sep 17 00:00:00 2001 +From: Adam Jackson +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/x11-base/xorg-server/xorg-server-1.7.6.ebuild b/x11-base/xorg-server/xorg-server-1.7.6.ebuild index 4ccaf2f..0f4db40 100644 --- a/x11-base/xorg-server/xorg-server-1.7.6.ebuild +++ b/x11-base/xorg-server/xorg-server-1.7.6.ebuild @@ -130,7 +130,7 @@ UPSTREAMED_PATCHES=( PATCHES=( "${UPSTREAMED_PATCHES[@]}" - "${FILESDIR}/xfree86-Add-DontLie-server-flag.patch" + "${FILESDIR}/0001-xfree86-Add-DontLie-server-flag.patch" ) pkg_setup() { diff --git a/x11-base/xorg-server/xorg-server-1.8.0.ebuild b/x11-base/xorg-server/xorg-server-1.8.0.ebuild new file mode 100644 index 0000000..ab3acf0 --- /dev/null +++ b/x11-base/xorg-server/xorg-server-1.8.0.ebuild @@ -0,0 +1,293 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.8.0.ebuild,v 1.6 2010/04/13 21:56:38 polynomial-c Exp $ + +EAPI=3 +XORG_EAUTORECONF="yes" +inherit xorg-2 multilib versionator +EGIT_REPO_URI="git://anongit.freedesktop.org/git/xorg/xserver" + +OPENGL_DIR="xorg-x11" + +DESCRIPTION="X.Org X servers" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" + +IUSE_SERVERS="dmx kdrive xorg" +IUSE="${IUSE_SERVERS} doc hal ipv6 minimal nptl tslib +udev" +RDEPEND=">=app-admin/eselect-opengl-1.0.8 + 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.3.3 + >=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 + 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.5 + >=x11-libs/libXfixes-4.0.3 + >=x11-libs/libXi-1.2.99.1 + >=x11-libs/libXmu-1.0.3 + >=x11-libs/libXres-1.0.3 + >=x11-libs/libXtst-1.0.3 + ) + !udev? ( hal? ( sys-apps/hal ) ) + kdrive? ( + >=x11-libs/libXext-1.0.5 + ) + !minimal? ( + >=x11-libs/libX11-1.1.5 + >=x11-libs/libXext-1.0.5 + >=media-libs/mesa-7.8_rc[nptl=] + ) + tslib? ( >=x11-libs/tslib-1.0 x11-proto/xcalibrateproto ) + udev? ( sys-fs/udev[extras] )" + +DEPEND="${RDEPEND} + !!net-dialup/dtrace + !=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.13 + dmx? ( >=x11-proto/dmxproto-2.2.99.1 ) + doc? ( app-doc/doxygen ) + !minimal? ( + >=x11-proto/xf86driproto-2.1.0 + >=x11-proto/dri2proto-2.1 + >=x11-libs/libdrm-2.3.0 + )" + +PDEPEND=" + >=x11-apps/xinit-1.2.1-r1 + xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )" + +EPATCH_FORCE="yes" +EPATCH_SUFFIX="patch" + +# These have been sent upstream +#UPSTREAMED_PATCHES=( +# "${WORKDIR}/patches/" +# ) + +PATCHES=( + "${UPSTREAMED_PATCHES[@]}" + "${FILESDIR}"/${PN}-disable-acpi.patch + "${FILESDIR}"/${PV}-no-hardcoded-etc.patch + "${FILESDIR}"/${PV}-match-only-sane-devices.patch + "${FILESDIR}/0001-xfree86-Add-DontLie-server-flag.patch" + ) + +pkg_setup() { + local myconf + + xorg-2_pkg_setup + + use minimal || ensure_a_server_is_building + + # HAL shebang + if use hal; then + ewarn "Usage of hal is strongly discouraged. Please migrate to udev." + ewarn "From next major release on the hal support will be fully disabled." + fi + if use hal && use udev; then + ewarn "Both hal and udev flags are enabled." + ewarn "Enabling only udev!" + myconf=" + $(use_enable udev config-udev) + --disable-config-hal + " + else + myconf=" + $(use_enable hal config-hal) + $(use_enable udev config-udev) + " + fi + + # 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 + # --enable-install-setuid needed because sparcs default off + CONFIGURE_OPTIONS=" + $(use_enable ipv6) + $(use_enable dmx) + $(use_enable kdrive) + $(use_enable tslib) + $(use_enable tslib xcalibrate) + $(use_enable !minimal xvfb) + $(use_enable !minimal xnest) + $(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 xorg) + $(use_enable nptl glx-tls) + $(use_with doc doxygen) + ${myconf} + --sysconfdir=/etc/X11 + --localstatedir=/var + --enable-install-setuid + --with-fontrootdir=/usr/share/fonts + --with-xkb-output=/var/lib/xkb + --without-dtrace + --with-os-vendor=Gentoo + ${conf_opts}" + + # (#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 + + # detect if we should inform user about ebuild breakage + if ! has_version "x11-base/xorg-server" || + has_version "