parent
396ab56173
commit
62a409b52d
@ -0,0 +1,4 @@
|
|||||||
|
# ChangeLog for x11-base/xorg-server
|
||||||
|
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
|
||||||
|
# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.507 2010/04/18 20:50:28 maekke Exp $
|
||||||
|
|
@ -0,0 +1,10 @@
|
|||||||
|
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 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-r1.ebuild 7312 RMD160 aeb7cbcbc82ed7ddb464cf23fbca26b58bfb2673 SHA1 a19737e87ca8d1da12fea298042a4d978d827da6 SHA256 80d1823ac772f560ee65a75b26442275454c2f2315cba6ba3a4e508582f66685
|
||||||
|
MISC ChangeLog 215 RMD160 0513f2ea19bb7bef25eb1d8242fdb55bf83ebfab SHA1 0b25366356bd04d3a3569326c631cf4a948c287b SHA256 4451538f00e55c05675e80e083db491869641474a257b15f481a78eee50e8bc6
|
||||||
|
MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055
|
@ -0,0 +1,83 @@
|
|||||||
|
From 873ef3430e92b0756c0dbe5033f6aec38a20d6ad Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Date: Wed, 16 Dec 2009 13:43:22 +1000
|
||||||
|
Subject: [PATCH] dix: if owner-events is true for passive grabs, add the window mask (#25400)
|
||||||
|
|
||||||
|
A client requesting a GrabModeSync button grab, owner-events true, with only
|
||||||
|
the ButtonRelease mask set would never receive the press event even if the
|
||||||
|
grab window had the ButtonPress mask set.
|
||||||
|
|
||||||
|
The protocol requires that if owner-events is true, then the delivery mask
|
||||||
|
is the combination of the grab mask + the window event mask.
|
||||||
|
|
||||||
|
X.Org Bug 25400 <http://bugs.freedesktop.org/show_bug.cgi?id=25400>
|
||||||
|
|
||||||
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
---
|
||||||
|
dix/events.c | 36 ++++++++++++++++++++++++++++++++++++
|
||||||
|
1 files changed, 36 insertions(+), 0 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dix/events.c b/dix/events.c
|
||||||
|
index 7e0867c..12b12a8 100644
|
||||||
|
--- a/dix/events.c
|
||||||
|
+++ b/dix/events.c
|
||||||
|
@@ -3590,6 +3590,8 @@ CheckPassiveGrabsOnWindow(
|
||||||
|
xE = &core;
|
||||||
|
count = 1;
|
||||||
|
mask = grab->eventMask;
|
||||||
|
+ if (grab->ownerEvents)
|
||||||
|
+ mask |= pWin->eventMask;
|
||||||
|
} else if (match & XI2_MATCH)
|
||||||
|
{
|
||||||
|
rc = EventToXI2((InternalEvent*)event, &xE);
|
||||||
|
@@ -3611,6 +3613,24 @@ CheckPassiveGrabsOnWindow(
|
||||||
|
mask = grab->xi2mask[device->id][((xGenericEvent*)xE)->evtype/8];
|
||||||
|
else if (event->type == XI_Enter || event->type == XI_FocusIn)
|
||||||
|
mask = grab->xi2mask[device->id][event->type/8];
|
||||||
|
+
|
||||||
|
+ if (grab->ownerEvents && wOtherInputMasks(grab->window))
|
||||||
|
+ {
|
||||||
|
+ InputClientsPtr icp =
|
||||||
|
+ wOtherInputMasks(grab->window)->inputClients;
|
||||||
|
+
|
||||||
|
+ while(icp)
|
||||||
|
+ {
|
||||||
|
+ if (rClient(icp) == rClient(grab))
|
||||||
|
+ {
|
||||||
|
+ int evtype = (xE) ? ((xGenericEvent*)xE)->evtype : event->type;
|
||||||
|
+ mask |= icp->xi2mask[device->id][evtype/8];
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ icp = icp->next;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
rc = EventToXI((InternalEvent*)event, &xE, &count);
|
||||||
|
@@ -3622,6 +3642,22 @@ CheckPassiveGrabsOnWindow(
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
mask = grab->eventMask;
|
||||||
|
+ if (grab->ownerEvents && wOtherInputMasks(grab->window))
|
||||||
|
+ {
|
||||||
|
+ InputClientsPtr icp =
|
||||||
|
+ wOtherInputMasks(grab->window)->inputClients;
|
||||||
|
+
|
||||||
|
+ while(icp)
|
||||||
|
+ {
|
||||||
|
+ if (rClient(icp) == rClient(grab))
|
||||||
|
+ {
|
||||||
|
+ mask |= icp->mask[device->id];
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ icp = icp->next;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
(*grabinfo->ActivateGrab)(device, grab, currentTime, TRUE);
|
||||||
|
--
|
||||||
|
1.6.5.2
|
||||||
|
|
@ -0,0 +1,19 @@
|
|||||||
|
--- configure.ac 2010-03-16 22:24:14.000000000 +0100
|
||||||
|
+++ configure.ac.new 2010-03-16 22:33:10.000000000 +0100
|
||||||
|
@@ -1915,8 +1915,14 @@
|
||||||
|
AC_DEFINE(KDRIVEFBDEV, 1, [Build fbdev-based kdrive server])
|
||||||
|
fi
|
||||||
|
|
||||||
|
-
|
||||||
|
- PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [HAVE_TSLIB="no"])
|
||||||
|
+dnl Do tripple check for tslib in the transition phase to unversioned pkgconfig files...
|
||||||
|
+ PKG_CHECK_MODULES([TSLIB], [tslib], [HAVE_TSLIB="yes"], [
|
||||||
|
+ PKG_CHECK_MODULES([TSLIB], [tslib-1.0], [HAVE_TSLIB="yes"], [
|
||||||
|
+ PKG_CHECK_MODULES([TSLIB], [tslib-0.0], [HAVE_TSLIB="yes"], [
|
||||||
|
+ HAVE_TSLIB="no"
|
||||||
|
+ ])
|
||||||
|
+ ])
|
||||||
|
+ ])
|
||||||
|
if test "x$HAVE_TSLIB" = xno; then
|
||||||
|
AC_CHECK_LIB(ts, ts_open, [HAVE_TSLIB="yes"])
|
||||||
|
fi
|
@ -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
|
||||||
|
}
|
@ -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"
|
@ -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 "^[^#]+.*\<tty$1\>" /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 :
|
@ -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
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||||
|
<pkgmetadata>
|
||||||
|
<herd>x11</herd>
|
||||||
|
</pkgmetadata>
|
@ -0,0 +1,272 @@
|
|||||||
|
# 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.7.6.ebuild,v 1.7 2010/04/18 20:50:28 maekke Exp $
|
||||||
|
|
||||||
|
EAPI="2"
|
||||||
|
|
||||||
|
# Must be before x-modular eclass is inherited
|
||||||
|
SNAPSHOT="yes"
|
||||||
|
|
||||||
|
inherit x-modular 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} tslib -hal ipv6 minimal nptl sdl"
|
||||||
|
RDEPEND="hal? ( sys-apps/hal )
|
||||||
|
tslib? ( >=x11-libs/tslib-1.0 x11-proto/xcalibrateproto )
|
||||||
|
dev-libs/openssl
|
||||||
|
>=x11-libs/libXfont-1.3.3
|
||||||
|
>=x11-libs/xtrans-1.2.2
|
||||||
|
>=x11-libs/libXau-1.0.4
|
||||||
|
>=x11-libs/libxkbfile-1.0.4
|
||||||
|
>=x11-libs/libXdmcp-1.0.2
|
||||||
|
>=x11-libs/libpciaccess-0.10.3
|
||||||
|
>=x11-libs/pixman-0.15.20
|
||||||
|
media-libs/freetype
|
||||||
|
>=x11-misc/xbitmaps-1.0.1
|
||||||
|
>=x11-misc/xkeyboard-config-1.4
|
||||||
|
x11-apps/xkbcomp
|
||||||
|
>=x11-apps/iceauth-1.0.2
|
||||||
|
>=x11-apps/rgb-1.0.3
|
||||||
|
>=x11-apps/xauth-1.0.3
|
||||||
|
<=x11-apps/xinit-1.2.1
|
||||||
|
>=app-admin/eselect-opengl-1.0.8
|
||||||
|
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/libXtst-1.0.3
|
||||||
|
)
|
||||||
|
!minimal? (
|
||||||
|
>=x11-libs/libX11-1.1.5
|
||||||
|
>=x11-libs/libXext-1.0.5
|
||||||
|
>=x11-libs/libXres-1.0.3
|
||||||
|
>=media-libs/mesa-7.4[nptl=]
|
||||||
|
)
|
||||||
|
>=x11-libs/libxkbui-1.0.2
|
||||||
|
kdrive? (
|
||||||
|
>=x11-libs/libXext-1.0.5
|
||||||
|
sdl? ( media-libs/libsdl ) )"
|
||||||
|
# Xres is dmx-dependent
|
||||||
|
# Xaw is dmx-dependent
|
||||||
|
# Xpm is dmx-dependent, pulls in Xt
|
||||||
|
# xkbcomp is launched at startup but not checked by ./configure
|
||||||
|
|
||||||
|
## Deps that don't have a version in configure.ac but do here:
|
||||||
|
# x11-proto/resourceproto
|
||||||
|
# x11-proto/fontsproto
|
||||||
|
# x11-libs/libXau
|
||||||
|
# x11-libs/libXfont
|
||||||
|
# x11-libs/libXdmcp
|
||||||
|
# x11-libs/libXext
|
||||||
|
# x11-libs/libX11
|
||||||
|
# x11-libs/libXrender
|
||||||
|
# x11-libs/libXmu
|
||||||
|
# x11-libs/libXfixes
|
||||||
|
# x11-libs/libXtst
|
||||||
|
# x11-proto/xineramaproto
|
||||||
|
# x11-proto/dmxproto
|
||||||
|
## Deps that are larger here than in configure.ac
|
||||||
|
# x11-libs/libpciaccess-0.8.0
|
||||||
|
#
|
||||||
|
|
||||||
|
DEPEND="${RDEPEND}
|
||||||
|
!!net-dialup/dtrace
|
||||||
|
sys-devel/flex
|
||||||
|
>=x11-proto/randrproto-1.2.99.3
|
||||||
|
>=x11-proto/renderproto-0.11
|
||||||
|
>=x11-proto/fixesproto-4.1
|
||||||
|
>=x11-proto/damageproto-1.1
|
||||||
|
>=x11-proto/xextproto-7.0.99.3
|
||||||
|
>=x11-proto/xproto-7.0.13
|
||||||
|
>=x11-proto/xf86dgaproto-2.0.99.1
|
||||||
|
>=x11-proto/xf86rushproto-1.1.2
|
||||||
|
>=x11-proto/xf86vidmodeproto-2.2.99.1
|
||||||
|
>=x11-proto/compositeproto-0.4
|
||||||
|
>=x11-proto/recordproto-1.13.99.1
|
||||||
|
>=x11-proto/resourceproto-1.0.2
|
||||||
|
>=x11-proto/videoproto-2.2.2
|
||||||
|
>=x11-proto/scrnsaverproto-1.1
|
||||||
|
>=x11-proto/trapproto-3.4.3
|
||||||
|
>=x11-proto/xineramaproto-1.1.3
|
||||||
|
>=x11-proto/fontsproto-2.0.2
|
||||||
|
>=x11-proto/kbproto-1.0.3
|
||||||
|
>=x11-proto/inputproto-1.9.99.902
|
||||||
|
>=x11-proto/bigreqsproto-1.1.0
|
||||||
|
>=x11-proto/xcmiscproto-1.2.0
|
||||||
|
>=x11-proto/glproto-1.4.9
|
||||||
|
dmx? ( >=x11-proto/dmxproto-2.2.99.1 )
|
||||||
|
!minimal? (
|
||||||
|
>=x11-proto/xf86driproto-2.1.0
|
||||||
|
>=x11-proto/dri2proto-2.1
|
||||||
|
>=x11-libs/libdrm-2.3.0
|
||||||
|
)"
|
||||||
|
|
||||||
|
PDEPEND="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/"
|
||||||
|
|
||||||
|
# Fix from bug http://bugs.freedesktop.org/show_bug.cgi?id=25400
|
||||||
|
"${FILESDIR}/1.7.3.901-0001-dix-if-owner-events-is-true-for-passive-grabs-add-th.patch"
|
||||||
|
# Fix for bug #304067
|
||||||
|
"${FILESDIR}/1.7.5.902-fix-tslib-1.0-check.patch"
|
||||||
|
)
|
||||||
|
|
||||||
|
PATCHES=(
|
||||||
|
"${UPSTREAMED_PATCHES[@]}"
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_setup() {
|
||||||
|
use minimal || ensure_a_server_is_building
|
||||||
|
|
||||||
|
# SDL only available in kdrive build
|
||||||
|
if use kdrive && use sdl; then
|
||||||
|
conf_opts="${conf_opts} --enable-xsdl"
|
||||||
|
else
|
||||||
|
conf_opts="${conf_opts} --disable-xsdl"
|
||||||
|
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_enable hal config-hal)
|
||||||
|
--sysconfdir=/etc/X11
|
||||||
|
--localstatedir=/var
|
||||||
|
--enable-install-setuid
|
||||||
|
--with-fontdir=/usr/share/fonts
|
||||||
|
--with-xkb-output=/var/lib/xkb
|
||||||
|
--without-dtrace
|
||||||
|
${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
|
||||||
|
|
||||||
|
OLD_IMPLEM="$(eselect opengl show)"
|
||||||
|
eselect opengl set ${OPENGL_DIR}
|
||||||
|
}
|
||||||
|
|
||||||
|
src_install() {
|
||||||
|
x-modular_src_install
|
||||||
|
|
||||||
|
dynamic_libgl_install
|
||||||
|
|
||||||
|
server_based_install
|
||||||
|
|
||||||
|
if ! use minimal && use xorg; then
|
||||||
|
# Install xorg.conf.example (see bugs #151421 and #151670)
|
||||||
|
insinto /etc/X11
|
||||||
|
doins hw/xfree86/xorg.conf.example \
|
||||||
|
|| die "couldn't install xorg.conf.example"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postinst() {
|
||||||
|
switch_opengl_implem
|
||||||
|
|
||||||
|
echo
|
||||||
|
ewarn "You must rebuild all drivers if upgrading from xorg-server 1.6"
|
||||||
|
ewarn "or earlier, because the ABI changed. If you cannot start X because"
|
||||||
|
ewarn "of module version mismatch errors, this is your problem."
|
||||||
|
|
||||||
|
echo
|
||||||
|
ewarn "You can generate a list of all installed packages in the x11-drivers"
|
||||||
|
ewarn "category using this command:"
|
||||||
|
ewarn "emerge portage-utils; qlist -I -C x11-drivers/"
|
||||||
|
|
||||||
|
ebeep 5
|
||||||
|
epause 10
|
||||||
|
}
|
||||||
|
|
||||||
|
pkg_postrm() {
|
||||||
|
# Get rid of module dir to ensure opengl-update works properly
|
||||||
|
if ! has_version x11-base/xorg-server; then
|
||||||
|
if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then
|
||||||
|
rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
dynamic_libgl_install() {
|
||||||
|
# next section is to setup the dynamic libGL stuff
|
||||||
|
ebegin "Moving GL files for dynamic switching"
|
||||||
|
dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
|
||||||
|
local x=""
|
||||||
|
for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/lib{glx,dri,dri2}*; do
|
||||||
|
if [ -f ${x} -o -L ${x} ]; then
|
||||||
|
mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
eend 0
|
||||||
|
}
|
||||||
|
|
||||||
|
server_based_install() {
|
||||||
|
if ! use xorg; then
|
||||||
|
rm "${D}"/usr/share/man/man1/Xserver.1x \
|
||||||
|
"${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \
|
||||||
|
"${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
|
||||||
|
"${D}"/usr/share/man/man1/Xserver.1x
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
switch_opengl_implem() {
|
||||||
|
# Switch to the xorg implementation.
|
||||||
|
# Use new opengl-update that will not reset user selected
|
||||||
|
# OpenGL interface ...
|
||||||
|
echo
|
||||||
|
eselect opengl set ${OLD_IMPLEM}
|
||||||
|
}
|
||||||
|
|
||||||
|
ensure_a_server_is_building() {
|
||||||
|
for server in ${IUSE_SERVERS}; do
|
||||||
|
use ${server} && return;
|
||||||
|
done
|
||||||
|
eerror "You need to specify at least one server to build."
|
||||||
|
eerror "Valid servers are: ${IUSE_SERVERS}."
|
||||||
|
die "No servers were specified to build."
|
||||||
|
}
|
Loading…
Reference in new issue