summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhang Le <r0bertz@gentoo.org>2007-07-18 16:33:08 +0800
committerZhang Le <r0bertz@gentoo.org>2007-07-18 16:33:08 +0800
commit62a321111f3c9fec5293403aa5c96f3a0728e1ea (patch)
treef468954ea74e6023a45b753f77e319de7e9ceddd /x11-base
downloadloongson-62a321111f3c9fec5293403aa5c96f3a0728e1ea.tar.gz
loongson-62a321111f3c9fec5293403aa5c96f3a0728e1ea.tar.bz2
loongson-62a321111f3c9fec5293403aa5c96f3a0728e1ea.zip
initial commit
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/xorg-server/ChangeLog1175
-rw-r--r--x11-base/xorg-server/Manifest124
-rw-r--r--x11-base/xorg-server/files/01-no-move-damage.patch33
-rw-r--r--x11-base/xorg-server/files/02-dont-backfill-bg-none.patch21
-rw-r--r--x11-base/xorg-server/files/03-tfp-damage.patch211
-rw-r--r--x11-base/xorg-server/files/04-mesa-copy-sub-buffer.patch361
-rw-r--r--x11-base/xorg-server/files/05-offscreen-pixmaps.patch55
-rw-r--r--x11-base/xorg-server/files/06-aiglx-happy-vt-switch.patch241
-rw-r--r--x11-base/xorg-server/files/1.1.1-dbe-render.diff183
-rw-r--r--x11-base/xorg-server/files/1.1.1-fix-xrandr-zoom-keys.patch186
-rw-r--r--x11-base/xorg-server/files/1.1.1-fix_acpi_tokenize.patch21
-rw-r--r--x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch24
-rw-r--r--x11-base/xorg-server/files/1.1.1-fixdualhead.patch28
-rw-r--r--x11-base/xorg-server/files/1.1.1-sparc-includes.patch28
-rw-r--r--x11-base/xorg-server/files/1.1.1-sparc64-ati-lockups.patch18
-rw-r--r--x11-base/xorg-server/files/1.2.0-client-leak.patch11
-rw-r--r--x11-base/xorg-server/files/1.2.0-server-damage-version.patch38
-rw-r--r--x11-base/xorg-server/files/1.2.0-server-randr-version.patch13
-rw-r--r--x11-base/xorg-server/files/1.2.99.0-fix-sysconfdir-references.patch11
-rw-r--r--x11-base/xorg-server/files/digest-xorg-server-1.2.0-r16
-rw-r--r--x11-base/xorg-server/files/digest-xorg-server-1.2.0-r26
-rw-r--r--x11-base/xorg-server/files/digest-xorg-server-1.3.0.06
-rw-r--r--x11-base/xorg-server/files/xorg-conf-example.patch56
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.1.1-install-libxf86config-headers.patch19
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.2.0-loongson.patch51
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.3.0.0-loongson.patch51
-rw-r--r--x11-base/xorg-server/files/xorg-x11-server-1.1.1-mesa-6.5.1.patch54
-rw-r--r--x11-base/xorg-server/files/xprint.init30
-rw-r--r--x11-base/xorg-server/metadata.xml5
-rw-r--r--x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild530
-rw-r--r--x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild531
-rw-r--r--x11-base/xorg-server/xorg-server-1.3.0.0.ebuild527
32 files changed, 4654 insertions, 0 deletions
diff --git a/x11-base/xorg-server/ChangeLog b/x11-base/xorg-server/ChangeLog
new file mode 100644
index 0000000..01538b2
--- /dev/null
+++ b/x11-base/xorg-server/ChangeLog
@@ -0,0 +1,1175 @@
+# ChangeLog for x11-base/xorg-server
+# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.219 2007/02/19 21:34:17 joshuabaergen Exp $
+
+*xorg-server-1.2.0-r1 (19 Feb 2007)
+
+ 19 Feb 2007; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/1.2.0-server-damage-version.patch,
+ +files/1.2.0-server-randr-version.patch, +xorg-server-1.2.0-r1.ebuild:
+ Fix several issues:
+
+ Bug #163613 - Server should report its damage implementation version rather
+ than the protocol header version. (Todd Merrill)
+
+ Bug #164146 - Xprint file locations have changed since 1.1, so fix the ebuild
+ to find them correctly. (Ed Catmur)
+
+ Bug #167651 - Server should report its randr implementation version rather
+ than the protocol header version. (Me)
+
+ 24 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/1.0.2-Xprint-xprintdir.patch, -files/1.0.2-dbe-render.diff,
+ -files/1.0.2-fix-readKernelMapping-overrun.patch,
+ -files/1.0.2-fix-rom-read-dualhead.patch,
+ -files/1.0.2-fix-xorgconfig-rgbpath-and-mouse.patch,
+ -files/1.0.2-try-to-fix-xorgcfg.patch, -files/x11r7.0-setuid.diff,
+ -files/xorg-server-1.0.2-64bit-fix-for-glx.patch,
+ -files/xorg-server-1.0.2-64bit-fix-have-dix-config.patch,
+ -files/xorg-server-1.0.2-64bit-fix-indirect-vertex-array.patch,
+ -files/xorg-server-1.0.2-Sbus.patch,
+ -files/xorg-server-1.0.2-Xprt-build.patch,
+ -files/xorg-server-1.0.2-sparc64-cfbrrop-fix.patch,
+ -files/xorg-server-1.0.2-xprint-init.patch,
+ -files/CVE-2006-1526-xrender-mitri.patch, -xorg-server-1.0.2-r8.ebuild:
+ Stop supporting Xorg 7.0.
+
+ 24 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/1.0.99.901-Xprint-xprintdir.patch,
+ -files/xorg-server-1.1.99.901-GetDrawableAttributes.patch,
+ -files/1.1.99.903-sparc-includes.patch,
+ -files/xorg-server-1.1.0-setuid.diff, -files/1.1.99.903-mesa-6.5.2.patch,
+ -xorg-server-1.0.2-r7.ebuild, -xorg-server-1.1.0-r1.ebuild,
+ -xorg-server-1.1.1.ebuild, -xorg-server-1.1.1-r2.ebuild,
+ -xorg-server-1.1.1-r3.ebuild, -xorg-server-1.1.99.903-r1.ebuild:
+ Clean up.
+
+*xorg-server-1.2.0 (24 Jan 2007)
+
+ 24 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>;
+ +xorg-server-1.2.0.ebuild:
+ Bump. Upstream incorporated some version of all of our patches, so no more
+ need for the aiglx USE flag.
+
+ 22 Jan 2007; Steve Dibb <beandog@gentoo.org> xorg-server-1.0.2-r8.ebuild,
+ xorg-server-1.1.1-r4.ebuild:
+ amd64 stable, bug 157421
+
+ 22 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/1.1.1-fixdualhead.patch, +files/1.1.99.903-sparc-includes.patch,
+ +files/1.1.1-sparc-includes.patch, xorg-server-1.1.1-r4.ebuild,
+ xorg-server-1.1.99.903-r1.ebuild:
+ (#159671) Fix sparc build with current kernel headers. (#159375) Fix dual
+ head when direct rendering is enabled. No revision bump because these affect
+ a minority of users.
+
+ 15 Jan 2007; Tim Yamin <plasmaroo@gentoo.org> xorg-server-1.1.1-r4.ebuild:
+ Stable on IA64; bug #157421.
+
+ 15 Jan 2007; Bryan Østergaard <kloeri@gentoo.org>
+ xorg-server-1.1.1-r4.ebuild:
+ Stable on Alpha, bug 157421.
+
+ 14 Jan 2007; René Nussbaumer <killerfox@gentoo.org>
+ xorg-server-1.1.1-r4.ebuild:
+ Stable on hppa. See bug #157421.
+
+ 14 Jan 2007; Markus Rothe <corsair@gentoo.org>
+ xorg-server-1.0.2-r8.ebuild, xorg-server-1.1.1-r4.ebuild:
+ Stable on ppc64; bug #157421
+
+ 14 Jan 2007; Ferris McCormick <fmccor@gentoo.org>
+ xorg-server-1.1.1-r4.ebuild:
+ Stable on sparc --- Security Bug #157421 --- everything as expected.
+
+ 13 Jan 2007; Andrej Kacian <ticho@gentoo.org> xorg-server-1.0.2-r8.ebuild,
+ xorg-server-1.1.1-r4.ebuild:
+ Stable on x86, bug #157421.
+
+ 13 Jan 2007; Tobias Scherbaum <dertobi123@gentoo.org>
+ xorg-server-1.1.1-r4.ebuild:
+ Stable on ppc wrt bug #157421.
+
+*xorg-server-1.1.1-r4 (13 Jan 2007)
+*xorg-server-1.0.2-r8 (13 Jan 2007)
+
+ 13 Jan 2007; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/1.0.2-dbe-render.diff, +files/1.1.1-dbe-render.diff,
+ +xorg-server-1.0.2-r8.ebuild, +xorg-server-1.1.1-r4.ebuild:
+ Fix multiple vulnerabilities in Render and DBE extensions. (Bug #157421)
+
+ 07 Dec 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.1-r3.ebuild:
+ Only apply the GLX endianness fix if AIGLX is enabled, since it fixes one of
+ the AIGLX patches. Thanks to Elisamuel Resto and Mike Auty for figuring out
+ what the problem was. Closes bug #157401.
+
+ 07 Dec 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.2.99.0.ebuild:
+ Build against the Mesa 6.5.2 release instead of the snapshot.
+
+*xorg-server-1.1.1-r3 (07 Dec 2006)
+
+ 07 Dec 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/1.1.1-fix_big_endian_glx.patch, +xorg-server-1.1.1-r3.ebuild:
+ Fix GLX endianness on big endian systems. This gets rid of the funky colours
+ on systems such as PPC when running Compiz/Beryl. (Bug #156715, Rasmus Wiman)
+
+ 05 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.99.903-r1.ebuild, xorg-server-1.2.99.0.ebuild:
+ Require kbproto 1.0.3.
+
+*xorg-server-1.1.99.903-r1 (04 Dec 2006)
+
+ 04 Dec 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/1.1.99.903-mesa-6.5.2.patch, -xorg-server-1.1.99.903.ebuild,
+ +xorg-server-1.1.99.903-r1.ebuild:
+ Build the 7.2 server against Mesa 6.5.2. Includes a patch from Hanno Böck.
+
+*xorg-server-1.1.99.903 (02 Dec 2006)
+
+ 02 Dec 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/xorg-server-1.1.99.901-GetDrawableAttributes.patch,
+ -xorg-server-1.1.99.902.ebuild, +xorg-server-1.1.99.903.ebuild:
+ Version bump for 7.2RC3. Includes several more bugfixes.
+
+ A patch has been added from upstream Bugzilla that fixes Compiz/AIGLX
+ operation on the server. It's unknown if the patch has any negative
+ side-effects yet, so it's hidden behind USE="aiglx" again.
+
+ 01 Dec 2006; Gustavo Zacarias <gustavoz@gentoo.org>
+ xorg-server-1.1.1-r1.ebuild:
+ Stable on hppa wrt #144549
+
+ 14 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.99.902.ebuild:
+ xorgcfg appears to build OK again - re-enable it.
+
+*xorg-server-1.1.99.902 (13 Nov 2006)
+
+ 13 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ -xorg-server-1.1.99.901.ebuild, +xorg-server-1.1.99.902.ebuild:
+ Bump for 7.2RC2. Brings quite a few more bugfixes.
+
+*xorg-server-1.1.1-r2 (09 Nov 2006)
+
+ 09 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/1.1.1-fix_acpi_tokenize.patch, +xorg-server-1.1.1-r2.ebuild:
+ Fix X crashes when opening/closing laptop lids on some laptops. (Bug #152184,
+ Wendall Cada for the report)
+
+ 05 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/1.2.99.0-fix-sysconfdir-references.patch:
+ Add missing patch.
+
+ 04 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.2.99.0.ebuild:
+ SDL is also currently broken in 1.2.99.0 according to Daniel Stone.
+
+ 04 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.2.99.0.ebuild:
+ 1.2.99.0:
+ - xprint is broken (bug #154067, Cyrill Helg)
+ - fix install location of dbus configuration file
+
+ 04 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.2.99.0.ebuild:
+ Add DBUS dependency. Bump dependencies on evdev, keyboard and mouse drivers
+ to enforce input hotplug-compatible versions.
+
+ 03 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.2.99.0.ebuild:
+ Add 'dbus' USE-flag and disable dmx correctly.
+
+ 03 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.2.99.0.ebuild:
+ 1.2.99 needs libdrm >= 2.2. Thanks to steev again.
+
+ 03 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.2.99.0.ebuild:
+ 1.2.99 depends on inputproto >=1.4. Thanks to Steev for the catch.
+
+ 03 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.2.99.0.ebuild:
+ Eradicate all references to the currently broken DMX. (Jakub Moc, bug #153928)
+
+*xorg-server-1.2.99.0 (03 Nov 2006)
+
+ 03 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +xorg-server-1.2.99.0.ebuild:
+ Add initial input hotplug development release.
+
+*xorg-server-1.1.99.901 (30 Oct 2006)
+
+ 30 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +xorg-server-1.1.99.901.ebuild:
+ Add 7.2RC1 server snapshot. xorgcfg is broken (probably minorly), and compiz
+ compatibility patches are also broken. Loads of fixes and changes since 7.1.
+
+ 25 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.1-r1.ebuild:
+ Unbreaking kdrive, part 4: Move all the kdrive setup code out to a separate
+ function kdrive_setup(). Make variables local to that function.
+
+ 25 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.1-r1.ebuild:
+ Unbreaking kdrive, part 3: Build fbdev and vesa for all cases in which other
+ servers require them. This replaces the existing fix for bug #136370 and
+ should also fix bug #152797.
+
+ 25 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.1-r1.ebuild:
+ Unbreaking kdrive, part 2: Instead of checking whether a certain VIDEO_CARDS
+ setting is in a long list of invalid cards for non-x86 systems, check
+ whether it's the single valid setting; Check whether VIDEO_CARDS settings
+ are valid kdrive servers before moving into the more complex processing.
+
+ 25 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.1-r1.ebuild:
+ Unbreaking kdrive, part 1: Fix logic and variable names when forcing
+ fbdev/vesa on for Xati; Don't skip binary drivers, it needlessly complicates
+ the code for no useful end result.
+
+ 18 Oct 2006; Aron Griffis <agriffis@gentoo.org>
+ xorg-server-1.1.1-r1.ebuild:
+ Mark 1.1.1-r1 stable on alpha. #144549
+
+ 17 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.1-r1.ebuild:
+ Don't try to install xorg.conf.example if the xorg server isn't built. (Bug
+ #151670, Balint Dobai-Pataky)
+
+ 15 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.1-r1.ebuild:
+ Don't try to install xorg.conf.example with USE="minimal". (Bug #151421,
+ George Kargiotakis)
+
+ 14 Oct 2006; Aron Griffis <agriffis@gentoo.org>
+ xorg-server-1.1.1-r1.ebuild:
+ Mark 1.1.1-r1 stable on ia64. #144549
+
+ 13 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.1-r1.ebuild:
+ AMD64/x86 stable for bug #144549 (X7.1).
+
+ 13 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.1-r1.ebuild:
+ Hide AIGLX patches behind the "aiglx" USE flag, since the patches seem to
+ cause some EXA slowdowns (bug #147841, reported by Giacomo Perale).
+
+ 12 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.1-r1.ebuild:
+ Really fix bug #150052.
+
+ 12 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/xorg-conf-example.patch, xorg-server-1.1.1-r1.ebuild:
+ Install xorg.conf.example like 6.x did. (Bug #138623, requested by
+ Christopher Covington; patch written by Donnie and I) Don't build kdrive
+ servers that use vm86.h on non-x86 systems. (Bug #150052, Shvetsov Alex)
+
+ 06 Oct 2006; Chris Gianelloni <wolf31o2@gentoo.org>
+ xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild,
+ xorg-server-1.1.1-r1.ebuild:
+ Remove references to nvidia-glx now that it has been removed from the tree.
+
+ 20 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ files/1.1.1-sparc64-ati-lockups.patch:
+ Base ifdef on __sparc__ rather than __sparc64__. The issue happens on 64-bit
+ kernel/32-bit userland, so sparc64 isn't defined when building the userland.
+
+ 20 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.1-r1.ebuild:
+ Use new glproto for eye candy to work properly.
+
+ 16 Sep 2006; Hanno Boeck <hanno@gentoo.org> xorg-server-1.1.1-r1.ebuild:
+ Fix download URLs.
+
+ 16 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.1-r1.ebuild:
+ Use Mesa 6.5.1 instead of a random prerelease snapshot.
+
+ 15 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/1.1.1-remove-altix.patch, +files/1.1.1-sparc64-ati-lockups.patch,
+ xorg-server-1.1.1.ebuild, xorg-server-1.1.1-r1.ebuild:
+ Use upstream's fix for sparc mach64 lockups. An 18-line patch instead of a
+ 582-line patch is a good thing.
+
+ 12 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild,
+ xorg-server-1.1.1-r1.ebuild:
+ Some comments got displaced to the wrong spot.
+
+ 12 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org>
+ xorg-server-1.1.1.ebuild:
+ Stable on hppa
+
+ 08 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.2-r7.ebuild, xorg-server-1.1.0-r1.ebuild,
+ xorg-server-1.1.1.ebuild, xorg-server-1.1.1-r1.ebuild:
+ (#128448) Depend on xplsprinters if USE=xprint, because it's used in profile
+ scripts.
+
+ 06 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-x11-server-1.1.1-mesa-6.5.1.patch:
+ Forgot to cvs add the patch, thanks fmccor.
+
+*xorg-server-1.1.1-r1 (05 Sep 2006)
+
+ 05 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/01-no-move-damage.patch, +files/02-dont-backfill-bg-none.patch,
+ +files/03-tfp-damage.patch, +files/04-mesa-copy-sub-buffer.patch,
+ +files/05-offscreen-pixmaps.patch, +files/06-aiglx-happy-vt-switch.patch,
+ +files/xorg-server-1.1.1-install-libxf86config-headers.patch,
+ +files/1.1.1-fix-xrandr-zoom-keys.patch, +xorg-server-1.1.1-r1.ebuild:
+ Bump. (#145797) Add patches for AIGLX+compiz. (#146197) Fix resolution
+ switching with ctrl-alt-+/-. Install libxf86config + headers for
+ pyxf86config, and extramodes and vesamodes for system-config-display. Do
+ correct bash substitution for nvidia kdrive server. This uses a mesa
+ snapshot in anticipation of the 6.5.1 release. Some changes will need to
+ happen to get it back to using a standard Mesa release tarball.
+
+ 03 Sep 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild:
+ kdrive's VESA driver does not build on AMD64. (Bruno Roggeri, bug #145274)
+
+ 27 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild:
+ Remove trailing whitespace.
+
+ 27 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild:
+ Allow 7.1-compatible nvidia-drivers and nvidia-legacy-drivers.
+
+ 26 Aug 2006; Hanno Boeck <hanno@gentoo.org> xorg-server-1.1.0-r1.ebuild,
+ xorg-server-1.1.1.ebuild:
+ linuxwacom moved from x11-misc to x11-drivers.
+
+ 22 Aug 2006; Ferris McCormick <fmccor@gentoo.org>
+ xorg-server-1.1.1.ebuild:
+ Stable on sparc, Bug #144549 --- Thanks to dberkholz for incorporating
+ remove-altix patch.
+
+ 22 Aug 2006; Stephen P. Becker <geoman@gentoo.org>
+ xorg-server-1.1.1.ebuild:
+ stable on mips, bug 144549
+
+ 21 Aug 2006; Markus Rothe <corsair@gentoo.org> xorg-server-1.1.1.ebuild:
+ Stable on ppc64; bug #144549
+
+ 21 Aug 2006; Joseph Jezak <josejx@gentoo.org> xorg-server-1.1.1.ebuild:
+ Marked ppc stable for bug #144549.
+
+ 20 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/1.1.1-remove-altix.patch, xorg-server-1.1.1.ebuild:
+ (fd.o #3914) Altix support breaks some sparc64 systems with Mach64 video, so
+ conditionally patch it out. This patch will be maintained and forward-ported
+ by the sparc team. This is the last stable blocker for modular X on sparc.
+
+ 18 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.1.ebuild:
+ Move architecture-specific video driver defaults into profiles.
+
+ 12 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild:
+ libdmx and dmxproto should be in USE=dmx dep, not USE=minimal.
+
+ 02 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild:
+ Add VIDEO_CARDS=fglrx back in, now that there's a compatible driver.
+
+ 19 Jul 2006; Guy Martin <gmsoft@gentoo.org> xorg-server-1.0.2-r7.ebuild:
+ Stable on hppa.
+
+ 16 Jul 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.0-r1.ebuild:
+ Add the warning to this version too.
+
+ 16 Jul 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.1.ebuild:
+ Add some warnings about the change in reduced blanking behaviour. (Bug
+ #135544, Steffen Strobel)
+
+ 11 Jul 2006; Aron Griffis <agriffis@gentoo.org>
+ xorg-server-1.1.0-r1.ebuild:
+ Mark 1.1.0-r1 stable on ia64
+
+ 09 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.1.ebuild:
+ Also don't build xorgcfg on USE=minimal.
+
+ 09 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ -xorg-server-1.0.2-r6.ebuild:
+ Pull old version.
+
+*xorg-server-1.1.1 (09 Jul 2006)
+
+ 09 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +xorg-server-1.1.1.ebuild:
+ Bump. Bunches of rendering and crasher fixes, incorporates security fix and
+ the 2 xprint patches, and more.
+
+ 07 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>; ChangeLog:
+ Update to my new email address.
+
+ 06 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org>
+ xorg-server-1.1.0-r1.ebuild:
+ Added blocker on x11-drivers/nvidia-drivers and
+ x11-drivers/nvidia-legacy-drivers since they don't work on 1.1 yet.
+
+ 01 Jul 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ files/x11r7.0-setuid.diff, files/xorg-server-1.1.0-setuid.diff:
+ Fix the setuid patches. (Thanks to Rudo Thomas for the catch in bug #138688)
+
+ 01 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.0-r1.ebuild:
+ ppc/sparc/mips/alpha/arm/sh stable
+
+ 30 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.0-r1.ebuild:
+ sparc shouldn't pull in vesa and vga.
+
+ 30 Jun 2006; Markus Rothe <corsair@gentoo.org>
+ xorg-server-1.1.0-r1.ebuild:
+ Stable on ppc64
+
+ 30 Jun 2006; Chris Gianelloni <wolf31o2@gentoo.org>
+ xorg-server-1.0.2-r7.ebuild:
+ Stable on amd64.
+
+ 30 Jun 2006; Markus Rothe <corsair@gentoo.org>
+ xorg-server-1.0.2-r7.ebuild:
+ Stable on ppc64
+
+ 30 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.2-r7.ebuild:
+ x86 stable.
+
+*xorg-server-1.0.2-r7 (30 Jun 2006)
+
+ 30 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/1.0.2-fix-rom-read-dualhead.patch, +xorg-server-1.0.2-r7.ebuild:
+ Fix dual-head.
+
+ 30 Jun 2006; Stephen P. Becker <geoman@gentoo.org>
+ xorg-server-1.1.0-r1.ebuild:
+ added video_cards_impact to IUSE_VIDEO_CARDS, enable it for mips users
+
+ 27 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.0-r1.ebuild:
+ Only pull in loadable drivers if the xorg USE-flag is set. (bug #135873)
+
+ 28 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.0-r1.ebuild:
+ Fix typo video_cards_3dfx > video_cards_tdfx (Jakub Moc).
+
+ 26 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.0-r1.ebuild:
+ Fix kdrive+ATI build. (Priit Laes, bug #136370)
+
+ 26 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.0-r1.ebuild:
+ Allow USE="-* minimal" for xorg-server so that Xvfb can be built by itself.
+ (Patch by Ed Catmur, bug #137991)
+
+ 21 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.1.0-r1.ebuild:
+ Fix up VIDEO_CARDS for mips, they don't want ati, mga, sisusb.
+
+*xorg-server-1.1.0-r1 (20 Jun 2006)
+*xorg-server-1.0.2-r6 (20 Jun 2006)
+
+ 20 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-server-1.1.0-setuid.diff, +files/x11r7.0-setuid.diff,
+ -xorg-server-1.0.2-r4.ebuild, -xorg-server-1.0.2-r5.ebuild,
+ +xorg-server-1.0.2-r6.ebuild, -xorg-server-1.1.0.ebuild,
+ +xorg-server-1.1.0-r1.ebuild:
+ Security bump. Failure to check the return value of setuid() in a privileged
+ process could be used by a local user for file overwriting and possible
+ privilege escalation in corner cases. See
+ http://lists.freedesktop.org/archives/xorg/2006-June/016146.html for more
+ information.
+
+ 17 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.0.ebuild:
+ Drop nvidia and fglrx flags for now and block all nvidia-glx and ati-drivers
+ versions since neither of the binary drivers are supported currently.
+ (Jakub Moc, bug #136788)
+
+*xorg-server-1.0.2-r5 (11 Jun 2006)
+
+ 11 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/1.0.2-fix-readKernelMapping-overrun.patch,
+ +xorg-server-1.0.2-r5.ebuild:
+ Fix an overrun that was causing various issues on VT switch. This is already
+ fixed in 1.1. (Matthias Dahl, bug #127608)
+
+ 04 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.0.ebuild:
+ Ensure eautoreconf gets run when building xprint and kdrive. (Walter Meinl,
+ bug #135263)
+
+ 04 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.1.0.ebuild:
+ Have the ebuild fail if no server will be built, instead of appearing to
+ complete successfully but not installing enough binaries for a usable X.
+ (Bug #132140)
+
+*xorg-server-1.1.0 (23 May 2006)
+
+ 23 May 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ -xorg-server-1.0.99.903.ebuild, +xorg-server-1.1.0.ebuild:
+ Bump for 7.1 final. Includes various crash fixes, etc.
+
+ 14 May 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.2-r4.ebuild:
+ Force on xorg-x11 opengl implem for compile, to ensure we have recent enough
+ glxtokens.h. Reported by johey on freenode.
+
+ 14 May 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.99.903.ebuild:
+ (#133295) Fix kdrive build when s3 is on, because it also sedded out the s3
+ from the middle of sis300. Also a fix for turning off sis300 at all. Fixes
+ by Kent Fredric.
+
+ 14 May 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.2-r4.ebuild, xorg-server-1.0.99.903.ebuild:
+ Add RESTRICT=stricter, because FEATURES=stricter dies on installing anything
+ suid with lazy bindings. The X server needs lazy bindings because of how its
+ module loading works. Hopefully at some point, upstream will change this.
+ Suggested by Kevin F. Quinn.
+
+ 13 May 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.0.99.903.ebuild:
+ Move driver dependencies from the meta-ebuild to xorg-server as a
+ PDEPEND. (Michal Suchanek, bug #132696)
+
+*xorg-server-1.0.99.903 (13 May 2006)
+
+ 13 May 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ -xorg-server-1.0.99.902-r1.ebuild, +xorg-server-1.0.99.903.ebuild:
+ Bump to 7.1RC3.
+
+ 13 May 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.0.2-r4.ebuild, xorg-server-1.0.99.902-r1.ebuild:
+ Force update to libxkbui-1.0.2 per dberkholz' suggestion, hopefully fixing
+ _XkbStrCaseCmp-related issues.
+
+*xorg-server-1.0.99.902-r1 (02 May 2006)
+*xorg-server-1.0.2-r4 (02 May 2006)
+
+ 02 May 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/CVE-2006-1526-xrender-mitri.patch, -xorg-server-1.0.2-r3.ebuild,
+ +xorg-server-1.0.2-r4.ebuild, -xorg-server-1.0.99.902.ebuild,
+ +xorg-server-1.0.99.902-r1.ebuild:
+ Security bump and remove all affected versions. Please see Bug #130979 for
+ details.
+
+ 30 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/1.0.99.901-fix-kdrive-build.patch,
+ -files/1.0.99.901-wrap-sdk-headers.patch,
+ -xorg-server-1.0.99.901-r1.ebuild:
+ Pull old 7.1RC ebuild.
+
+ 30 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.99.902.ebuild:
+ (#131817) Move the nptl diemsg out of an if, since we also use it in the else.
+
+*xorg-server-1.0.99.902 (29 Apr 2006)
+
+ 29 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +xorg-server-1.0.99.902.ebuild:
+ Version bump. Includes quite a few bugfixes.
+
+ 24 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.99.901-r1.ebuild:
+ We don't need to apply the xf86Sbus.h creation patch anymore. It was
+ applying successfully by appending itself to the already-complete file in
+ the tarball.
+
+ 23 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.99.901-r1.ebuild:
+ Fix the USE=-xorg build, can't do use_with() on mesa-source because it won't
+ accept the --without option.
+
+ 23 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ files/digest-xorg-server-1.0.99.901-r1:
+ Fix digest.
+
+ 23 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-server-1.0.2-Xprt-build.patch,
+ +files/1.0.2-Xprint-xprintdir.patch,
+ +files/xorg-server-1.0.2-xprint-init.patch,
+ +files/1.0.99.901-Xprint-xprintdir.patch, xorg-server-1.0.2-r3.ebuild,
+ xorg-server-1.0.99.901-r1.ebuild:
+ (#128448) Fix xprint (Ed Catmur). Still needs a dep added on xplsprinters
+ when xprint is in USE, but arches haven't keyworded it yet.
+
+*xorg-server-1.0.99.901-r1 (21 Apr 2006)
+
+ 21 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/1.0.99.901-fix-kdrive-build.patch,
+ +files/1.0.99.901-wrap-sdk-headers.patch, -xorg-server-1.0.99.901.ebuild,
+ +xorg-server-1.0.99.901-r1.ebuild:
+ Add option to build kdrive, tiny X servers; also add VIDEO_CARDS settings to
+ select kdrive servers to build. Add option to build AIGLX with TLS support
+ (USE=nptl) -- mesa and xorg-server must be in sync on this. Update some
+ deps: glproto, scrnsaverproto. Don't need to inherit flag-o-matic, x-modular
+ eclass does this for us. Make Xdmx build its own USE flag, instead of part
+ of minimal. Force xorg-x11 OpenGL to build, because it needs a newer
+ glxtokens.h than some binary drivers provide. Add a server_based_install()
+ function for any actions dependent on which servers get built. Add USE=xorg
+ to build the Xorg X server, which will be on by default.
+
+ 17 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.0.2-r3.ebuild:
+ Drop the mesa version check since it shouldn't be required.
+
+ 17 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.99.901.ebuild:
+ AIGLX defaults on, don't need to enable it.
+
+*xorg-server-1.0.99.901 (14 Apr 2006)
+
+ 14 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.0.2-r3.ebuild, -xorg-server-1.0.99.2.ebuild,
+ +xorg-server-1.0.99.901.ebuild:
+ Bump xorg-server for 7.1RC1. Change Mesa dependencies on all servers to
+ account for the changed paths in Mesa 6.5-r2.
+
+*xorg-server-1.0.99.2 (12 Apr 2006)
+
+ 12 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +xorg-server-1.0.99.2.ebuild:
+ Add a xorg-server snapshot from upstream. This snapshot compiles against Mesa
+ 6.5 and has AIGLX enabled.
+
+ 31 Mar 2006; Diego Pettenò <flameeyes@gentoo.org>
+ xorg-server-1.0.2-r3.ebuild:
+ Add ~x86-fbsd keyword.
+
+ 31 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; ChangeLog:
+ Only need that ChangeLog message once.
+
+*xorg-server-1.0.2-r3 (31 Mar 2006)
+
+ 31 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-server-1.0.2-64bit-fix-for-glx.patch,
+ -xorg-server-1.0.2-r2.ebuild, +xorg-server-1.0.2-r3.ebuild:
+ Really fix 64-bit direct rendering. glcontextmodes.[ch] doesn't include
+ glheader.h, so it also needs to include dix-config.h.
+
+*xorg-server-1.0.2-r2 (28 Mar 2006)
+
+ 28 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-server-1.0.2-64bit-fix-have-dix-config.patch,
+ +files/xorg-server-1.0.2-64bit-fix-indirect-vertex-array.patch,
+ -xorg-server-1.0.2-r1.ebuild, +xorg-server-1.0.2-r2.ebuild:
+ Re-add 64-bit direct rendering patches that got lost in the 1.0.2 bump.
+
+ 24 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; +files/xprint.init,
+ xorg-server-1.0.2-r1.ebuild:
+ (#127425) Install xprint init scripts and directories, patch by Ed Catmur.
+
+ 24 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.2-r1.ebuild:
+ Re-add font-adobe-75dpi to RDEPEND, caught by Jonathan Adamczewski.
+
+ 24 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.2-r1.ebuild:
+ Add deps on compositeproto 0.3 and fixesproto 4.0, otherwise build may break
+ with overlay window patch.
+
+*xorg-server-1.0.2-r1 (24 Mar 2006)
+
+ 24 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ -xorg-server-1.0.2.ebuild, +xorg-server-1.0.2-r1.ebuild:
+ (#127333) Fix crashing of pretty much all gtk+-2 apps. We had the
+ client-side updates to composite and fixes extensions, but we didn't let the
+ server know about them, which resulted in lots of BadRequests.
+
+ 23 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.2.ebuild:
+ Depends on media-fonts/font-adobe-75dpi for xorgcfg.
+
+ 23 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/1.0.2-fix-xorgconfig-rgbpath-and-mouse.patch,
+ +files/1.0.2-try-to-fix-xorgcfg.patch, xorg-server-1.0.2.ebuild:
+ (#117299) Fix xorgconfig, which was producing an invalid RgbPath setting.
+ (#117071) Attempt to fix xorgcfg. I couldn't test without /etc/X11/xorg.conf
+ because it was producing invalid modes on my monitor, but it worked when
+ xorg.conf was present.
+
+*xorg-server-1.0.2 (21 Mar 2006)
+
+ 21 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/xorg-server-1.0.1-64bit-fix-have-dix-config.patch,
+ -files/xorg-server-1.0.1-64bit-fix-indirect-vertex-array.patch,
+ -files/xorg-server-1.0.1-Sbus.patch,
+ -files/xorg-server-1.0.1-amd64-fix-for-glx.patch,
+ -files/xorg-server-1.0.1-backtrace.patch,
+ +files/xorg-server-1.0.2-Sbus.patch,
+ +files/xorg-server-1.0.2-sparc64-cfbrrop-fix.patch,
+ -xorg-server-1.0.1-r4.ebuild, +xorg-server-1.0.2.ebuild:
+ (#125803) Fix local root vulnerability present in 6.8.99.x and newer. This
+ does NOT affect 6.8.2.
+
+*xorg-server-1.0.1-r4 (19 Feb 2006)
+
+ 19 Feb 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-server-1.0.1-64bit-fix-have-dix-config.patch,
+ +files/xorg-server-1.0.1-64bit-fix-indirect-vertex-array.patch,
+ -xorg-server-1.0.1-r3.ebuild, +xorg-server-1.0.1-r4.ebuild:
+ Really fix GLX on 64-bit systems.
+
+ 14 Feb 2006; Markus Rothe <corsair@gentoo.org>
+ xorg-server-1.0.1-r3.ebuild:
+ Added ~ppc64
+
+*xorg-server-1.0.1-r3 (13 Feb 2006)
+
+ 13 Feb 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-server-1.0.1-amd64-fix-for-glx.patch,
+ -xorg-server-1.0.1-r2.ebuild, +xorg-server-1.0.1-r3.ebuild:
+ (#122140) Add patch to fix OpenGL on amd64, thanks to Igor V. Kovalenko
+ <garrison@mail.ru>. Also update to Mesa 6.4.2 tarball so people only need to
+ download one version of it.
+
+ 06 Feb 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.1-r2.ebuild:
+ Add an OR dependency with xkbdata for new x11-misc/xkeyboard-config, and
+ prefer it over xkbdata.
+
+ 03 Feb 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.1-r2.ebuild:
+ (#121394) Filter -fweb, because it causes window corruption.
+
+ 31 Jan 2006; Rene Nussbaumer <killerfox@gentoo.org>
+ xorg-server-1.0.1-r2.ebuild:
+ Unstable on hppa.
+
+*xorg-server-1.0.1-r2 (26 Jan 2006)
+
+ 26 Jan 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-server-1.0.1-backtrace.patch, -xorg-server-1.0.1.ebuild,
+ -xorg-server-1.0.1-r1.ebuild, +xorg-server-1.0.1-r2.ebuild:
+ Fix the automatic backtraces at the bottom of /var/log/Xorg.*.log on segfaults.
+
+ 19 Jan 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-1.0.1.ebuild, xorg-server-1.0.1-r1.ebuild:
+ Update the license.
+
+ 04 Jan 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.1-r1.ebuild:
+ No need to specify configure options that are the default.
+
+ 04 Jan 2006; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-1.0.1-r1.ebuild:
+ No need to manually create Xorg -> X symlink anymore.
+
+*xorg-server-1.0.1-r1 (03 Jan 2006)
+
+ 03 Jan 2006; Joshua Baergen <joshuabaergen@gentoo.org>
+ +xorg-server-1.0.1-r1.ebuild:
+ Fix the libglx* relocation routine to look in the right place so that xorg-x11
+ will play nice with eselect. Bug #117100.
+
+ 26 Dec 2005; Stefaan De Roeck <stefaan@gentoo.org>
+ xorg-server-1.0.1.ebuild:
+ Marked ~alpha
+
+*xorg-server-1.0.1 (23 Dec 2005)
+
+ 23 Dec 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-server-1.0.1-Sbus.patch, -xorg-server-0.99.4-r2.ebuild,
+ -xorg-server-1.0.0.ebuild, +xorg-server-1.0.1.ebuild:
+ Bump for 7.0. (#111361) Add patch to fix sparc build.
+
+*xorg-server-1.0.0 (17 Dec 2005)
+
+ 17 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +xorg-server-1.0.0.ebuild:
+ Bump for 7.0RC4.
+
+ 09 Dec 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/fix-xkb-compile-path-2.patch:
+ Unused file.
+
+ 09 Dec 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ -xorg-server-0.99.2-r2.ebuild, -xorg-server-0.99.3.ebuild,
+ -xorg-server-0.99.3-r1.ebuild, -xorg-server-0.99.4.ebuild,
+ -xorg-server-0.99.4-r1.ebuild:
+ Pull old versions.
+
+*xorg-server-0.99.4-r2 (06 Dec 2005)
+
+ 06 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +xorg-server-0.99.4-r2.ebuild:
+ Build against Mesa 6.4.1 instead of Mesa 6.4. Caught by dagb.
+
+*xorg-server-0.99.4-r1 (05 Dec 2005)
+
+ 05 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +xorg-server-0.99.4-r1.ebuild:
+ It would appear that libglx (silently) fails to build if libdrm is not >=
+ version 2. Rev-bump so that anyone who has merged this already gets a forced
+ re-merge and thus gets a working glx extension.
+
+*xorg-server-0.99.4 (04 Dec 2005)
+
+ 04 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +xorg-server-0.99.4.ebuild:
+ Bump for 7.0RC3.
+
+ 14 Nov 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/fix-xkb-compile-path-2.patch, -files/fix-xkb-compile-path.patch,
+ xorg-server-0.99.3-r1.ebuild:
+ Remove CVS tags from patch as they don't do anything but break installs.
+ Fixes bug #112476.
+
+*xorg-server-0.99.3-r1 (14 Nov 2005)
+
+ 14 Nov 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/fix-xkb-compile-path.patch, +xorg-server-0.99.3-r1.ebuild:
+ Fix xkb issue spotted by dberkholz.
+
+*xorg-server-0.99.3 (11 Nov 2005)
+
+ 11 Nov 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +xorg-server-0.99.3.ebuild:
+ Bump for 7.0RC2.
+
+*xorg-server-0.99.2-r2 (09 Nov 2005)
+
+ 09 Nov 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ -xorg-server-0.99.2-r1.ebuild, +xorg-server-0.99.2-r2.ebuild:
+ Build against mesa 6.4 instead of 6.3.2.
+
+ 31 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ -xorg-server-0.99.1_p20051013-r1.ebuild, -xorg-server-0.99.2.ebuild:
+ Pull old versions.
+
+ 29 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.2-r1.ebuild:
+ Note that X->Xorg symlink will be taken care of for any new snapshots, so we
+ can remove the line from the ebuild.
+
+ 20 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.2-r1.ebuild:
+ Use --enable-install-setuid instead of manually changing permissions.
+
+*xorg-server-0.99.2-r1 (20 Oct 2005)
+
+ 20 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +xorg-server-0.99.2-r1.ebuild:
+ (#109926) No need to specify xkb path anymore, it's wrong now as well.
+
+*xorg-server-0.99.2 (20 Oct 2005)
+
+ 20 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +xorg-server-0.99.2.ebuild:
+ Bump for 7.0 RC1.
+
+ 19 Oct 2005; Stephen P. Becker <geoman@gentoo.org>
+ xorg-server-0.99.1_p20051013-r1.ebuild:
+ added ~mips keyword
+
+ 17 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1_p20051013-r1.ebuild:
+ (#109354) In some mystical way all the dependency changes got reverted in
+ the new revision.
+
+ 16 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/0.99.1-r10-check-for-glproto.patch,
+ -files/0.99.1-r10_CAN-2005-2495.patch, -files/fix-transparencies.patch,
+ -xorg-server-0.99.1-r10.ebuild, -xorg-server-0.99.1_p20051013.ebuild:
+ Pull old ebuilds.
+
+*xorg-server-0.99.1_p20051013-r1 (16 Oct 2005)
+
+ 16 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +xorg-server-0.99.1_p20051013-r1.ebuild:
+ (#109467) Set a non-broken default font path so things like Xvfb actually work.
+
+ 15 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1_p20051013.ebuild:
+ Add x11-libs/libXtst for dmx.
+
+ 15 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1_p20051013.ebuild:
+ (#109354) Add lots of deps -- libXaw, libXpm, libXxf86misc, libXxf86vm. Add
+ notes on which parts depend on them.
+
+ 14 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1_p20051013.ebuild:
+ Also wrap dmxproto dep in minimal USE.
+
+ 14 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1_p20051013.ebuild:
+ (#109124) Add dep on libdmx, within check for USE=minimal. Also move libXres
+ dep within there, because it's for dmx.
+
+ 14 Oct 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ xorg-server-0.99.1_p20051013.ebuild:
+ Add missing deps (x11-libs/libXres and x11-libs/libxkbui).
+
+ 14 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/0.99.1-r9_CAN-2005-2495.patch,
+ -files/0.99.1-r9-check-for-glproto.patch, -xorg-server-0.99.1-r9.ebuild:
+ Drop old revision.
+
+*xorg-server-0.99.1_p20051013 (14 Oct 2005)
+
+ 14 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +xorg-server-0.99.1_p20051013.ebuild:
+ Update to today's CVS. Enable xprint USE flag. Stop filtering
+ -fomit-frame-pointer, because it works now. Add dep on
+ >=x11-proto/glproto-1.4.1_pre20051013 to fix build breakage.
+
+ 04 Oct 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/0.99.1-r10-check-for-glproto.patch,
+ +files/0.99.1-r10_CAN-2005-2495.patch:
+ Oops, forgot the version-dependent patches.
+
+*xorg-server-0.99.1-r10 (04 Oct 2005)
+
+ 04 Oct 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/fix-transparencies.patch, +xorg-server-0.99.1-r10.ebuild:
+ Added fix for OO/wine transparencies from bug #96053. Thanks to bartron for
+ both patches.
+
+ 27 Sep 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r9.ebuild:
+ As of 20050927, xprint will require mkfontdir/mkfontscale for XpConfig.
+
+ 13 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ -files/0.99.1-r6-check-for-glproto.patch,
+ -files/0.99.1-r8-check-for-glproto.patch, -files/fix-xnest.patch,
+ -files/make-fbcompose-endian-safe.patch, -xorg-server-0.99.1-r7.ebuild,
+ -xorg-server-0.99.1-r8.ebuild:
+ Remove old versions and patches.
+
+*xorg-server-0.99.1-r9 (13 Sep 2005)
+
+ 13 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/0.99.1-r9_CAN-2005-2495.patch,
+ +files/0.99.1-r9-check-for-glproto.patch, +xorg-server-0.99.1-r9.ebuild:
+ Bump to include security fix from bug #105688.
+
+ 12 Sep 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r8.ebuild:
+ Add some deps so we get a server that actually runs after emerging it. In
+ specific: media-fonts/font-misc-misc media-fonts/font-cursor-misc
+ x11-misc/xbitmaps x11-misc/xkbdata x11-apps/iceauth x11-apps/rgb
+ x11-apps/xauth x11-apps/xinit.
+
+ 09 Sep 2005; Donnie Berkholz <dberkholz@gentoo.org>; +metadata.xml:
+ Add metadata.
+
+*xorg-server-0.99.1-r8 (08 Sep 2005)
+
+ 08 Sep 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/0.99.1-r8-check-for-glproto.patch, +xorg-server-0.99.1-r8.ebuild:
+ Update to CVS HEAD as of 20050907. Update glproto patch to apply cleanly.
+
+ 06 Sep 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r7.ebuild:
+ Make --enable-xcsecurity always on, remove nvidia USE.
+
+ 03 Sep 2005; Jeremy Huddleston <eradicator@gentoo.org>
+ xorg-server-0.99.1-r7.ebuild:
+ Changed opengl-update envocation to use eselect instead.
+
+ 03 Sep 2005; Doug Goldstein <cardoe@gentoo.org>
+ +xorg-server-0.99.1-r7.ebuild, -xorg-server-0.99.1-r6.ebuild:
+ Added support for the XCSecurity option, which is what's needed to make
+ binary Nvidia drivers work
+
+ 02 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ -files/0.99.1-r5-check-for-glproto.patch,
+ +files/0.99.1-r6-check-for-glproto.patch:
+ Apparently this patch has a package revision-based name.
+
+ 02 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/make-fbcompose-endian-safe.patch, -xorg-server-0.99.1-r5.ebuild,
+ +xorg-server-0.99.1-r6.ebuild:
+ Makes certain draw code endian-safe. Should fix things for big-endian
+ arches. Thanks to Stanislaw Skowronek and geoman in bug #104318.
+
+*xorg-server-0.99.1-r6 (02 Sep 2005)
+
+ 02 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org>
+ +files/make-fbcompose-endian-safe.patch, -xorg-server-0.99.1-r5.ebuild,
+ +xorg-server-0.99.1-r6.ebuild:
+ Added fix to make colour calculations endian safe. Thanks to Stanislaw
+ Skowronek for the patch and geoman for the heads-up. Fixes bug #104318.
+
+ 30 Aug 2005; Herbie Hopkins <herbs@gentoo.org>
+ xorg-server-0.99.1-r5.ebuild:
+ s/lib/$(get_libdir)
+
+ 23 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/check-for-glproto.patch, -files/fix-xf86misc-typo.patch,
+ -files/xorg-server-0.99.1-x86_64-1.patch, -xorg-server-0.99.1-r4.ebuild:
+ Pull old version.
+
+ 23 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/0.99.1-r5-check-for-glproto.patch, xorg-server-0.99.1-r5.ebuild:
+ (#fd.o 3990) Add 0.99.1-r5-check-for-glproto.patch. Pass
+ --with-xkb-path=/usr/lib/X11/xkb in attempt to get VT switching closer to
+ working. Update CVS patch to 20050822-1, which makes xprint almost work.
+
+*xorg-server-0.99.1-r5 (22 Aug 2005)
+
+ 22 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/fix-xnest.patch, +xorg-server-0.99.1-r5.ebuild:
+ Update to CVS as of 20050822. This should make amd64 and sparc work. Update
+ included mesa to 6.3.2. Stop forcing glx on, it's on by default. Add
+ --disable-static so we don't build .a files for server modules. Add
+ fix-xnest.patch to fix breakage in the Xnest linking, caused by the
+ configure.ac reworking a couple of days ago.
+
+ 21 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r4.ebuild:
+ xprint build is broken; force it off.
+
+ 21 Aug 2005; Luca Barbato <lu_zero@gentoo.org>
+ xorg-server-0.99.1-r4.ebuild:
+ Marked ~ppc
+
+ 21 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ -files/xorg-composite.patch, -files/xorg-server-fbmmx-local.patch,
+ -xorg-server-0.99.1.ebuild, -xorg-server-0.99.1-r1.ebuild,
+ -xorg-server-0.99.1-r2.ebuild, -xorg-server-0.99.1-r3.ebuild:
+ Drop old versions.
+
+*xorg-server-0.99.1-r4 (21 Aug 2005)
+
+ 21 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +xorg-server-0.99.1-r4.ebuild:
+ Update to today's CVS. This adds a USE flag for xprint. Also, get rid of the
+ glx USE flag, because everybody should get it.
+
+ 20 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1.ebuild, xorg-server-0.99.1-r1.ebuild,
+ xorg-server-0.99.1-r2.ebuild, xorg-server-0.99.1-r3.ebuild:
+ panoramixproto moved to xineramaproto.
+
+ 17 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-server-fbmmx-local.patch, xorg-server-0.99.1-r3.ebuild:
+ (fd.o #4073) Fix compilation failures at fbmmx.c. Patch from Diego Pettenò
+ <flameeyes@gentoo.org>.
+
+ 16 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r3.ebuild:
+ Wrap opengl things in `if use glx..`
+
+ 15 Aug 2005; Herbie Hopkins <herbs@gentoo.org>
+ xorg-server-0.99.1-r3.ebuild:
+ Marked ~amd64.
+
+ 14 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-server-0.99.1-x86_64-1.patch, xorg-server-0.99.1-r3.ebuild:
+ Add xorg-server-0.99.1-x86_64-1.patch to fix configure.ac on amd64.
+
+ 14 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r3.ebuild:
+ Wrap pkg_postrm() module dir removal in ! has_version.
+
+ 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r3.ebuild:
+ No longer necessary to force --enable-composite; it's on by default.
+
+ 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r3.ebuild:
+ Update opengl-update dependency to 2.2.3 for proper handling of
+ /usr/libdir/modules/extensions/.
+
+ 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r3.ebuild:
+ Remove xinerama USE flag; building without it causes major issues.
+
+ 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r3.ebuild:
+ Add pkg_postrm() to get rid of /usr/lib/xorg/modules. This should make
+ things work better for people crazy enough to downgrade to monolithic.
+
+*xorg-server-0.99.1-r3 (12 Aug 2005)
+
+ 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +xorg-server-0.99.1-r3.ebuild:
+ Set /usr/bin/Xorg suid so it starts.
+
+ 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r2.ebuild:
+ Fix the patch that mysteriously broke.
+
+ 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/check-for-glproto.patch, +files/fix-xf86misc-typo.patch,
+ +xorg-server-0.99.1-r2.ebuild:
+ Re-add, this time with a huge patch on the mirror.
+
+ 12 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -files/check-for-glproto.patch, -files/fix-xf86misc-typo.patch,
+ -files/xorg-server-0.99.1-update-to-CVS-HEAD-20050811.patch,
+ -xorg-server-0.99.1-r2.ebuild:
+ Removed 0.99.1-r2 version (3.3MB patch is not good).
+
+*xorg-server-0.99.1-r2 (12 Aug 2005)
+
+ 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/check-for-glproto.patch, +files/fix-xf86misc-typo.patch,
+ +files/xorg-server-0.99.1-update-to-CVS-HEAD-20050811.patch,
+ +xorg-server-0.99.1-r2.ebuild:
+ Add xorg-server-0.99.1-update-to-CVS-HEAD-20050811.patch to fix big-endian
+ breakage, composite, some other stuff. Split out non-composite things from
+ xorg-composite.patch to check-for-glproto.patch and fix-xf86misc-typo.patch.
+
+ 11 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r1.ebuild:
+ Make an X->Xorg symlink in here until upstream can make one.
+
+ 11 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r1.ebuild:
+ Add more deps: inputproto, bigreqsproto, xcmiscproto. All reported by aaronf0.
+
+ 10 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1-r1.ebuild:
+ Move confopts into pkg_setup(), and therefore also CONFIGURE_OPTIONS.
+
+*xorg-server-0.99.1-r1 (10 Aug 2005)
+
+ 10 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +xorg-server-0.99.1-r1.ebuild:
+ Rev bump to make sure people get working GL setup.
+
+ 10 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1.ebuild:
+ Add GL handling, /usr/lib/opengl, opengl-update, etc.
+
+ 10 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1.ebuild:
+ Add dep on x11-proto/kbproto, again from aaronf0.
+
+ 10 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1.ebuild:
+ Add dep on fontsproto, reported by aaronf0 on irc.
+
+ 09 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1.ebuild:
+ (#101883) Add trapproto and panoramixproto as deps.
+
+ 08 Aug 2005; Ferris McCormick <fmccor@gentoo.org>
+ xorg-server-0.99.1.ebuild:
+ Add ~sparc keyword (prepare for X Modular testing).
+
+ 08 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ xorg-server-0.99.1.ebuild:
+ (#101749) Add dependencies on videoproto, scrnsaverproto and evieext.
+ Reported by Georgi Georgiev <chutz@gg3.net>.
+
+*xorg-server-0.99.1 (08 Aug 2005)
+
+ 08 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>;
+ +files/xorg-composite.patch, +xorg-server-0.99.1.ebuild:
+ Initial commit for modular X.
+
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
new file mode 100644
index 0000000..0881330
--- /dev/null
+++ b/x11-base/xorg-server/Manifest
@@ -0,0 +1,124 @@
+AUX 01-no-move-damage.patch 1149 RMD160 f40d73e020376e1b9603dfa5ceb2fd0b48b45e31 SHA1 b8adef394d05a8769627d71b8da302f7fc3622d5 SHA256 9396f282e3d62927e86c4aa38b0d6245b83ca8e2ea48624f22c3c6d35751d997
+MD5 0faff1bfae0c6378fae5d2875fb3972c files/01-no-move-damage.patch 1149
+RMD160 f40d73e020376e1b9603dfa5ceb2fd0b48b45e31 files/01-no-move-damage.patch 1149
+SHA256 9396f282e3d62927e86c4aa38b0d6245b83ca8e2ea48624f22c3c6d35751d997 files/01-no-move-damage.patch 1149
+AUX 02-dont-backfill-bg-none.patch 581 RMD160 b38e5b7c945434e6b60748a5f853d7eb773f3427 SHA1 862c2435249d475dd7fdd229449a89b8e2f2207b SHA256 fe5e71b9b5cb7ea4b484e76015bf364e7e1e307c1d35ed3497dc30c9b75dc7ea
+MD5 016e4e9f4bf2296ac756b476ff2c0495 files/02-dont-backfill-bg-none.patch 581
+RMD160 b38e5b7c945434e6b60748a5f853d7eb773f3427 files/02-dont-backfill-bg-none.patch 581
+SHA256 fe5e71b9b5cb7ea4b484e76015bf364e7e1e307c1d35ed3497dc30c9b75dc7ea files/02-dont-backfill-bg-none.patch 581
+AUX 03-tfp-damage.patch 5982 RMD160 7b044a9d151bdd573c80b93b7249888184fad782 SHA1 30c64426cb9db4e1fbabbd8bb8af92b3f7ed682d SHA256 dcc6fe0f6d4031b345e8f3a5a0f5bfbbf43db9ce972fb4ca7b58961fb178da59
+MD5 5994755d0cda4a71d78529f34bf798c7 files/03-tfp-damage.patch 5982
+RMD160 7b044a9d151bdd573c80b93b7249888184fad782 files/03-tfp-damage.patch 5982
+SHA256 dcc6fe0f6d4031b345e8f3a5a0f5bfbbf43db9ce972fb4ca7b58961fb178da59 files/03-tfp-damage.patch 5982
+AUX 04-mesa-copy-sub-buffer.patch 11609 RMD160 d525afd68510bed628742c28d29eec7c47e0592b SHA1 c9a654962fa930b3cced371ba9737f140c46612e SHA256 daeef79d8bd3ae91f2906f7fa62f15892307bfb5f1650ef832bd490a2d6606f5
+MD5 406413344cfe615626dc73f02c1baf5c files/04-mesa-copy-sub-buffer.patch 11609
+RMD160 d525afd68510bed628742c28d29eec7c47e0592b files/04-mesa-copy-sub-buffer.patch 11609
+SHA256 daeef79d8bd3ae91f2906f7fa62f15892307bfb5f1650ef832bd490a2d6606f5 files/04-mesa-copy-sub-buffer.patch 11609
+AUX 05-offscreen-pixmaps.patch 1548 RMD160 e0f87c88379861340524847a57bf72119256a610 SHA1 c57a9aafec35b8158098751028a76a2979379625 SHA256 73be09f2f3756021bd6261fc05733eb39084c2190e7ca107bfa01c7d447a34a6
+MD5 8cae706ff61477f510f9f14b3d64fea9 files/05-offscreen-pixmaps.patch 1548
+RMD160 e0f87c88379861340524847a57bf72119256a610 files/05-offscreen-pixmaps.patch 1548
+SHA256 73be09f2f3756021bd6261fc05733eb39084c2190e7ca107bfa01c7d447a34a6 files/05-offscreen-pixmaps.patch 1548
+AUX 06-aiglx-happy-vt-switch.patch 6043 RMD160 fce467afaa3988b511b9796af164f36172bf6b7b SHA1 ad8eaa9c48699501145a15cc22b98e88a2c4a0f2 SHA256 112f1cccc0f3e1af1d76109e845c0e89462b6e95c2fd1cc80ca9370806a617dc
+MD5 e9248d96ffd078829f56f3d8075a5304 files/06-aiglx-happy-vt-switch.patch 6043
+RMD160 fce467afaa3988b511b9796af164f36172bf6b7b files/06-aiglx-happy-vt-switch.patch 6043
+SHA256 112f1cccc0f3e1af1d76109e845c0e89462b6e95c2fd1cc80ca9370806a617dc files/06-aiglx-happy-vt-switch.patch 6043
+AUX 1.1.1-dbe-render.diff 5323 RMD160 cbddae4efaa558f3c4ea0b256bd14cc005251493 SHA1 67cfe51fdf314db3cf712cb180bdc7635788ffa3 SHA256 0c0e0c6c8e7f1928d595c90cccfa2dacdcdf52656271b2fea52f202597e5d7ab
+MD5 cffab2cec60a2af892e2853840cf2659 files/1.1.1-dbe-render.diff 5323
+RMD160 cbddae4efaa558f3c4ea0b256bd14cc005251493 files/1.1.1-dbe-render.diff 5323
+SHA256 0c0e0c6c8e7f1928d595c90cccfa2dacdcdf52656271b2fea52f202597e5d7ab files/1.1.1-dbe-render.diff 5323
+AUX 1.1.1-fix-xrandr-zoom-keys.patch 6332 RMD160 cec1b86e0a6ea88e1e65543046fd1b91ab112b04 SHA1 ebaea3bdff2564d898fe0f1bcacdafcbcfe4b9f6 SHA256 b7bb87d2170f2dd369a8b3a496dae0e93792419ccc7c78449e9affc8f07650ac
+MD5 919801a6a806a9cf93777ee8bb4367bc files/1.1.1-fix-xrandr-zoom-keys.patch 6332
+RMD160 cec1b86e0a6ea88e1e65543046fd1b91ab112b04 files/1.1.1-fix-xrandr-zoom-keys.patch 6332
+SHA256 b7bb87d2170f2dd369a8b3a496dae0e93792419ccc7c78449e9affc8f07650ac files/1.1.1-fix-xrandr-zoom-keys.patch 6332
+AUX 1.1.1-fix_acpi_tokenize.patch 737 RMD160 23e67ce9e8122c163b9baa78ee517abd382e46a9 SHA1 4c0a41a8dc060442fdfbc35f05e58134bd5c2eb0 SHA256 f3ed429b3b5c36f0efa06c11ddbd1dfbf929f031ec6365c5f47a75f7a182367b
+MD5 8753388aa11cec9eab4123a0803aaf66 files/1.1.1-fix_acpi_tokenize.patch 737
+RMD160 23e67ce9e8122c163b9baa78ee517abd382e46a9 files/1.1.1-fix_acpi_tokenize.patch 737
+SHA256 f3ed429b3b5c36f0efa06c11ddbd1dfbf929f031ec6365c5f47a75f7a182367b files/1.1.1-fix_acpi_tokenize.patch 737
+AUX 1.1.1-fix_big_endian_glx.patch 655 RMD160 aa6377a33c015af994053add2c5571a13bd0658a SHA1 9133c745ebe3b1dd39518b245c4836c9a53f40d6 SHA256 2b9f53f31fe9f4e36db01fcbf74745fddfa70a28e41614da608c53af81993dbf
+MD5 87c7bd720ae0573bf5ed8d5879bd781b files/1.1.1-fix_big_endian_glx.patch 655
+RMD160 aa6377a33c015af994053add2c5571a13bd0658a files/1.1.1-fix_big_endian_glx.patch 655
+SHA256 2b9f53f31fe9f4e36db01fcbf74745fddfa70a28e41614da608c53af81993dbf files/1.1.1-fix_big_endian_glx.patch 655
+AUX 1.1.1-fixdualhead.patch 625 RMD160 2b91d2feb1605c7fb7731e888f391e07ac6d6c67 SHA1 364b7d6ec0bb55547d81ff3ccbd84b41f5b537dd SHA256 e16f498897e470dbefb6ac38f73393b091b9bdd2f306f0441502eaaaa0d3bd61
+MD5 1b43b231253a92ff4c82565b94cb7158 files/1.1.1-fixdualhead.patch 625
+RMD160 2b91d2feb1605c7fb7731e888f391e07ac6d6c67 files/1.1.1-fixdualhead.patch 625
+SHA256 e16f498897e470dbefb6ac38f73393b091b9bdd2f306f0441502eaaaa0d3bd61 files/1.1.1-fixdualhead.patch 625
+AUX 1.1.1-sparc-includes.patch 1216 RMD160 fcfe14696821581f316413564c6a3f787dae3937 SHA1 55270574dbbc95cac7d8102a7a855e5c8800439f SHA256 1b80656cf450f0df3d25cda3e57909ff71834ad489d6033f9d16e2d6d76e34d4
+MD5 0600d155724d1a1c64ee02bfffca20ff files/1.1.1-sparc-includes.patch 1216
+RMD160 fcfe14696821581f316413564c6a3f787dae3937 files/1.1.1-sparc-includes.patch 1216
+SHA256 1b80656cf450f0df3d25cda3e57909ff71834ad489d6033f9d16e2d6d76e34d4 files/1.1.1-sparc-includes.patch 1216
+AUX 1.1.1-sparc64-ati-lockups.patch 652 RMD160 7d642aa1c0153a4c48b8d2338b1afafdbc130852 SHA1 31f3b422d4dc621a7638cf4f9b388ce6a5cccec4 SHA256 0db8886c157b253449057865c938b63aa8a4f11d746e5df4ed2a12b75d718c51
+MD5 b20d4cd92f74e0722b9cf2e5f0704655 files/1.1.1-sparc64-ati-lockups.patch 652
+RMD160 7d642aa1c0153a4c48b8d2338b1afafdbc130852 files/1.1.1-sparc64-ati-lockups.patch 652
+SHA256 0db8886c157b253449057865c938b63aa8a4f11d746e5df4ed2a12b75d718c51 files/1.1.1-sparc64-ati-lockups.patch 652
+AUX 1.2.0-client-leak.patch 363 RMD160 788a7468df4305319ee3a05137ce0b90e76b982a SHA1 67ee249858947cea7fcd9a08db3ff3e81cd0036e SHA256 5969bf63e88ab4030c6913237379b76fb55e9e1f249a058eb17487a4b7103b87
+MD5 c46eeebdde41ceb57f1dca6ef4b1a8b7 files/1.2.0-client-leak.patch 363
+RMD160 788a7468df4305319ee3a05137ce0b90e76b982a files/1.2.0-client-leak.patch 363
+SHA256 5969bf63e88ab4030c6913237379b76fb55e9e1f249a058eb17487a4b7103b87 files/1.2.0-client-leak.patch 363
+AUX 1.2.0-server-damage-version.patch 1322 RMD160 25ba5ce01bc338d3a906ec959a0f1ad3303c5dd2 SHA1 129565a0151d42b85c43f273da507396111bdc9b SHA256 28a049c39e7995f7768eed34993f12252da416093e2f919c1ae84cb2dfee9f09
+MD5 789e294aaa7f8a03551f639dc022c568 files/1.2.0-server-damage-version.patch 1322
+RMD160 25ba5ce01bc338d3a906ec959a0f1ad3303c5dd2 files/1.2.0-server-damage-version.patch 1322
+SHA256 28a049c39e7995f7768eed34993f12252da416093e2f919c1ae84cb2dfee9f09 files/1.2.0-server-damage-version.patch 1322
+AUX 1.2.0-server-randr-version.patch 444 RMD160 05a4c38c141bf5dddd1f94eb61dba62b79f17658 SHA1 5faef7578c55439433b10731c87d82536db7232b SHA256 226560c2d5c0c76987e2e315c2eef805e96ee9189aa3394148968fa13392f17e
+MD5 e14a71605039b6cded7ce9541ded2f1e files/1.2.0-server-randr-version.patch 444
+RMD160 05a4c38c141bf5dddd1f94eb61dba62b79f17658 files/1.2.0-server-randr-version.patch 444
+SHA256 226560c2d5c0c76987e2e315c2eef805e96ee9189aa3394148968fa13392f17e files/1.2.0-server-randr-version.patch 444
+AUX 1.2.99.0-fix-sysconfdir-references.patch 421 RMD160 4af58784b1af8c02ebe395530da3e0a3f619c9a9 SHA1 3c836428f18aa6e42a8ab243c59c9693af57100e SHA256 216905a6ac45ae01cbec53c5a8a5ebd53e9c8f647e91d57d926f9109a73cef24
+MD5 cceefbe34d34bd2d776d95d63851ec51 files/1.2.99.0-fix-sysconfdir-references.patch 421
+RMD160 4af58784b1af8c02ebe395530da3e0a3f619c9a9 files/1.2.99.0-fix-sysconfdir-references.patch 421
+SHA256 216905a6ac45ae01cbec53c5a8a5ebd53e9c8f647e91d57d926f9109a73cef24 files/1.2.99.0-fix-sysconfdir-references.patch 421
+AUX xorg-conf-example.patch 1924 RMD160 04325d6624ad01ee69702b069be3665b5e96b647 SHA1 2d7b8328c695dc179e4f6e1d0e4609bb449159ee SHA256 ceb0dd0ccc6b02a026b599f1c838fc0a0c3f789f58407e85ee783ddaf9989350
+MD5 f2c08e04fd4d36bf1e9e5fd25102c243 files/xorg-conf-example.patch 1924
+RMD160 04325d6624ad01ee69702b069be3665b5e96b647 files/xorg-conf-example.patch 1924
+SHA256 ceb0dd0ccc6b02a026b599f1c838fc0a0c3f789f58407e85ee783ddaf9989350 files/xorg-conf-example.patch 1924
+AUX xorg-server-1.1.1-install-libxf86config-headers.patch 422 RMD160 297df8f5478195a8e0c0589436c9dad457c91539 SHA1 435f5d3c410a7e17b31c27c44a1f36145db626ea SHA256 85de5a76afb5a6c6ab0ac0d0f7d7decad99035cbbc04362e69a1627f04d86269
+MD5 f17556037156af0294c22e094172d1f6 files/xorg-server-1.1.1-install-libxf86config-headers.patch 422
+RMD160 297df8f5478195a8e0c0589436c9dad457c91539 files/xorg-server-1.1.1-install-libxf86config-headers.patch 422
+SHA256 85de5a76afb5a6c6ab0ac0d0f7d7decad99035cbbc04362e69a1627f04d86269 files/xorg-server-1.1.1-install-libxf86config-headers.patch 422
+AUX xorg-server-1.2.0-loongson.patch 1931 RMD160 cc84def06fdfa7099342411baa037529166f56c0 SHA1 3596b2abaab7f58e78722988f9e4f1ca97bd7cd3 SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90
+MD5 eb8a89c732436e561035fc866162eedb files/xorg-server-1.2.0-loongson.patch 1931
+RMD160 cc84def06fdfa7099342411baa037529166f56c0 files/xorg-server-1.2.0-loongson.patch 1931
+SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90 files/xorg-server-1.2.0-loongson.patch 1931
+AUX xorg-server-1.3.0.0-loongson.patch 1931 RMD160 cc84def06fdfa7099342411baa037529166f56c0 SHA1 3596b2abaab7f58e78722988f9e4f1ca97bd7cd3 SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90
+MD5 eb8a89c732436e561035fc866162eedb files/xorg-server-1.3.0.0-loongson.patch 1931
+RMD160 cc84def06fdfa7099342411baa037529166f56c0 files/xorg-server-1.3.0.0-loongson.patch 1931
+SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90 files/xorg-server-1.3.0.0-loongson.patch 1931
+AUX xorg-x11-server-1.1.1-mesa-6.5.1.patch 1684 RMD160 8a6142a781d0ee626b4569f2324c6884234c7856 SHA1 287d09b104826c0ac852d401457c230fa96f7296 SHA256 8428c09c0bd11e7db9fbf0807754312cfb7c2659b2c203f8ad9741fc35c356c0
+MD5 f6f3f09436867be5b09782fed580b6f3 files/xorg-x11-server-1.1.1-mesa-6.5.1.patch 1684
+RMD160 8a6142a781d0ee626b4569f2324c6884234c7856 files/xorg-x11-server-1.1.1-mesa-6.5.1.patch 1684
+SHA256 8428c09c0bd11e7db9fbf0807754312cfb7c2659b2c203f8ad9741fc35c356c0 files/xorg-x11-server-1.1.1-mesa-6.5.1.patch 1684
+AUX xprint.init 598 RMD160 85de6a023912d8ac40cba4f32b5559655e0e281e SHA1 1590a29e11f813bb1353b4cc815708e97bfbb96b SHA256 9474c19d125d9534b93c038cba7c4bdc7c45bf3ed51279ff2e130fe031a15c13
+MD5 9bf4e36931c99f405aa6766ff5614e51 files/xprint.init 598
+RMD160 85de6a023912d8ac40cba4f32b5559655e0e281e files/xprint.init 598
+SHA256 9474c19d125d9534b93c038cba7c4bdc7c45bf3ed51279ff2e130fe031a15c13 files/xprint.init 598
+DIST MesaLib-6.5.2.tar.bz2 3295166 RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 SHA1 ba860bb6ee57c02202342dfd5927464a068ea18f SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f
+DIST xorg-server-1.2.0.tar.bz2 6014596 RMD160 0bbc5ccb5cbbe7627b4f09f17848b188e8be2a50 SHA1 85fa0e8fa7d6bea6f1a73c66a57488ea68dffa17 SHA256 e3e56b35ee13098f4ee79948beb20bfc9a06d1a7a35fb906405ff1531b92bb85
+DIST xorg-server-1.3.0.0.tar.bz2 5968263 RMD160 1a4fecd73aed0d5adabe84066c24ce69dc2c2dc1 SHA1 6f9645fe70da5b6a121f3e8fa6c2fc1e4307390c SHA256 93c656f142f37607c15372dd24c5de9eab82cd79c5d60449174a928d345c2975
+EBUILD xorg-server-1.2.0-r1.ebuild 16442 RMD160 ac4717116f699a89feb7070b57123cfc7bc2dc07 SHA1 8996dccbdbfe6c1a54122bf8ffc3a22886646c5b SHA256 becbdd3224bc6acc1cd1bf7933000d2a1f99042cb59ab074419b8057ee7f4e13
+MD5 e70fcb819cdf4877377b74d7a1b7b98b xorg-server-1.2.0-r1.ebuild 16442
+RMD160 ac4717116f699a89feb7070b57123cfc7bc2dc07 xorg-server-1.2.0-r1.ebuild 16442
+SHA256 becbdd3224bc6acc1cd1bf7933000d2a1f99042cb59ab074419b8057ee7f4e13 xorg-server-1.2.0-r1.ebuild 16442
+EBUILD xorg-server-1.2.0-r2.ebuild 16479 RMD160 3274a5a2bcbb4c650642a692a6b0eb08707c2515 SHA1 2b0b7ce45032e44f6e4bdb699d9ced9839173ca0 SHA256 74009fe505532f613e8c3d609af91c1837822e9b4c1ac114a2c9ca9cf94ff536
+MD5 4de5a292b9d36612ea3716164210a96a xorg-server-1.2.0-r2.ebuild 16479
+RMD160 3274a5a2bcbb4c650642a692a6b0eb08707c2515 xorg-server-1.2.0-r2.ebuild 16479
+SHA256 74009fe505532f613e8c3d609af91c1837822e9b4c1ac114a2c9ca9cf94ff536 xorg-server-1.2.0-r2.ebuild 16479
+EBUILD xorg-server-1.3.0.0.ebuild 16332 RMD160 96f7260adacacec77d9eff7a1459c87a9b9d5ae8 SHA1 c10e6ea1dcab9e7a2f0231c4372aa065d1ec9fea SHA256 582a8abbfcd8962944b5a751a0ce385add7d33354e905b1ef52e6b55d747c7dc
+MD5 23808a3e81201ffca520193a0140fbb2 xorg-server-1.3.0.0.ebuild 16332
+RMD160 96f7260adacacec77d9eff7a1459c87a9b9d5ae8 xorg-server-1.3.0.0.ebuild 16332
+SHA256 582a8abbfcd8962944b5a751a0ce385add7d33354e905b1ef52e6b55d747c7dc xorg-server-1.3.0.0.ebuild 16332
+MISC ChangeLog 46548 RMD160 fd66dad1dc5b8181e294f00b2d867e273f375fed SHA1 c1c264afd91f7d13bd8c4cd5d8d03cc9327e1e14 SHA256 ae56c39d52f287b2e1e0c5be5bffe5207fbc60e0cbf906a15f50f7f849bd69d7
+MD5 e31a590302270c7d0072ec4c5e2b8cde ChangeLog 46548
+RMD160 fd66dad1dc5b8181e294f00b2d867e273f375fed ChangeLog 46548
+SHA256 ae56c39d52f287b2e1e0c5be5bffe5207fbc60e0cbf906a15f50f7f849bd69d7 ChangeLog 46548
+MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055
+MD5 a37bab73e2f24b213932c30997d3d360 metadata.xml 156
+RMD160 c1274bdccf57603d580de0075ba07a35b7509560 metadata.xml 156
+SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 metadata.xml 156
+MD5 92aecc687a1f65f481da05e14bab56c3 files/digest-xorg-server-1.2.0-r1 506
+RMD160 2816986513ee6479e25d5c213f00ceb38b905ccb files/digest-xorg-server-1.2.0-r1 506
+SHA256 4cd7c7723d603c993f0cc320ebf294ff367030d2d5c0bb1a9d4d02221235ef07 files/digest-xorg-server-1.2.0-r1 506
+MD5 92aecc687a1f65f481da05e14bab56c3 files/digest-xorg-server-1.2.0-r2 506
+RMD160 2816986513ee6479e25d5c213f00ceb38b905ccb files/digest-xorg-server-1.2.0-r2 506
+SHA256 4cd7c7723d603c993f0cc320ebf294ff367030d2d5c0bb1a9d4d02221235ef07 files/digest-xorg-server-1.2.0-r2 506
+MD5 f5088a38f31782713a97f0cf19bfbbd1 files/digest-xorg-server-1.3.0.0 512
+RMD160 70dafff2a513850c2631793f877a2ffe294758c6 files/digest-xorg-server-1.3.0.0 512
+SHA256 ae8d04a5e64f7aedd5cc910085a1db5ce1638012a3bfedeab142ce99b0d3968a files/digest-xorg-server-1.3.0.0 512
diff --git a/x11-base/xorg-server/files/01-no-move-damage.patch b/x11-base/xorg-server/files/01-no-move-damage.patch
new file mode 100644
index 0000000..4278043
--- /dev/null
+++ b/x11-base/xorg-server/files/01-no-move-damage.patch
@@ -0,0 +1,33 @@
+Disable damage notifications on move for manually redirected windows.
+The automatic compositor needs damage notification on move, but a
+compositing manager doesn't.
+
+--- ./composite/compwindow.c.spiffiffity 2006-03-29 12:51:53.000000000 -0500
++++ ./composite/compwindow.c 2006-04-13 23:18:42.000000000 -0400
+@@ -571,12 +571,15 @@
+ }
+ else
+ {
++ CompWindowPtr cw = GetCompWindow (pWin);
++
+ ptOldOrg.x -= dx;
+ ptOldOrg.y -= dy;
+ REGION_TRANSLATE (prgnSrc, prgnSrc,
+ pWin->drawable.x - ptOldOrg.x,
+ pWin->drawable.y - ptOldOrg.y);
+- DamageDamageRegion (&pWin->drawable, prgnSrc);
++ if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic)
++ DamageDamageRegion (&pWin->drawable, prgnSrc);
+ }
+ cs->CopyWindow = pScreen->CopyWindow;
+ pScreen->CopyWindow = compCopyWindow;
+@@ -655,7 +658,8 @@
+ /*
+ * Report that as damaged so it will be redrawn
+ */
+- DamageDamageRegion (&pWin->drawable, &damage);
++ if (cw->update == CompositeRedirectAutomatic)
++ DamageDamageRegion (&pWin->drawable, &damage);
+ REGION_UNINIT (pScreen, &damage);
+ /*
+ * Save the new border clip region
diff --git a/x11-base/xorg-server/files/02-dont-backfill-bg-none.patch b/x11-base/xorg-server/files/02-dont-backfill-bg-none.patch
new file mode 100644
index 0000000..9a5cacd
--- /dev/null
+++ b/x11-base/xorg-server/files/02-dont-backfill-bg-none.patch
@@ -0,0 +1,21 @@
+Disable backfilling of windows created with bg=none, which otherwise
+would force a framebuffer readback.
+
+--- ./composite/compalloc.c.spiffiffity 2006-03-13 16:59:55.000000000 -0500
++++ ./composite/compalloc.c 2006-04-12 16:37:50.000000000 -0400
+@@ -478,6 +478,7 @@
+ * Copy bits from the parent into the new pixmap so that it will
+ * have "reasonable" contents in case for background None areas.
+ */
++#if 0
+ if (pGC)
+ {
+ XID val = IncludeInferiors;
+@@ -492,6 +493,7 @@
+ w, h, 0, 0);
+ FreeScratchGC (pGC);
+ }
++#endif
+ return pPixmap;
+ }
+
diff --git a/x11-base/xorg-server/files/03-tfp-damage.patch b/x11-base/xorg-server/files/03-tfp-damage.patch
new file mode 100644
index 0000000..942d44e
--- /dev/null
+++ b/x11-base/xorg-server/files/03-tfp-damage.patch
@@ -0,0 +1,211 @@
+--- ./GL/glx/glxdrawable.h.tfp-damage 2006-03-11 19:11:33.000000000 -0500
++++ ./GL/glx/glxdrawable.h 2006-06-20 20:33:53.000000000 -0400
+@@ -41,6 +41,8 @@
+ **
+ */
+
++#include <damage.h>
++
+ typedef struct {
+
+ DrawablePtr pDraw;
+@@ -49,7 +51,7 @@
+ ScreenPtr pScreen;
+ Bool idExists;
+ int refcnt;
+-
++ DamagePtr pDamage;
+ } __GLXpixmap;
+
+ struct __GLXdrawable {
+--- ./GL/glx/glxcmds.c.tfp-damage 2006-05-09 13:44:26.000000000 -0400
++++ ./GL/glx/glxcmds.c 2006-06-20 20:33:53.000000000 -0400
+@@ -1271,6 +1271,7 @@
+ pGlxPixmap->pGlxScreen = pGlxScreen;
+ pGlxPixmap->pScreen = pScreen;
+ pGlxPixmap->idExists = True;
++ pGlxPixmap->pDamage = NULL;
+ pGlxPixmap->refcnt = 0;
+
+ pGlxPixmap->modes = modes;
+--- ./GL/glx/glxdri.c.tfp-damage 2006-04-02 21:25:21.000000000 -0400
++++ ./GL/glx/glxdri.c 2006-06-21 00:39:40.000000000 -0400
+@@ -296,24 +296,18 @@
+ }
+
+ static void
+-glxFillAlphaChannel (PixmapPtr pixmap)
++glxFillAlphaChannel (PixmapPtr pixmap, int x, int y, int width, int height)
+ {
+- int i, j;
+- CARD32 *pixels = (CARD32 *)pixmap->devPrivate.ptr;
++ int i;
++ CARD32 *p, *end, *pixels = (CARD32 *)pixmap->devPrivate.ptr;
+ CARD32 rowstride = pixmap->devKind / 4;
+- CARD32 x, y;
+-
+- x = pixmap->drawable.x;
+- y = pixmap->drawable.y;
+
+- for (i = y; i < pixmap->drawable.height + y; ++i)
++ for (i = y; i < y + height; i++)
+ {
+- for (j = x; j < pixmap->drawable.width + x; ++j)
+- {
+- int index = i * rowstride + j;
+-
+- pixels[index] |= 0xFF000000;
+- }
++ p = &pixels[i * rowstride + x];
++ end = p + width;
++ while (p < end)
++ *p++ |= 0xFF000000;
+ }
+ }
+
+@@ -326,7 +320,6 @@
+ * - No fbconfig handling for TEXTURE_TARGET
+ * - No fbconfig exposure of Y inversion state
+ * - No GenerateMipmapEXT support (due to no FBO support)
+- * - No damage tracking between binds
+ * - No support for anything but 16bpp and 32bpp-sparse pixmaps
+ */
+
+@@ -335,38 +328,97 @@
+ int buffer,
+ __GLXpixmap *glxPixmap)
+ {
++ RegionPtr pRegion;
+ PixmapPtr pixmap;
+ int bpp;
+- Bool npot;
++ GLenum target, format, type;
+
+ pixmap = (PixmapPtr) glxPixmap->pDraw;
+- bpp = pixmap->drawable.depth >= 24 ? 4 : 2; /* XXX 24bpp packed, 8, etc */
+-
++ if (!glxPixmap->pDamage) {
++ glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone,
++ TRUE, glxPixmap->pScreen, NULL);
++ if (!glxPixmap->pDamage)
++ return BadAlloc;
++
++ DamageRegister ((DrawablePtr) pixmap, glxPixmap->pDamage);
++ pRegion = NULL;
++ } else {
++ pRegion = DamageRegion(glxPixmap->pDamage);
++ if (REGION_NIL(pRegion))
++ return Success;
++ }
++
++ /* XXX 24bpp packed, 8, etc */
++ if (pixmap->drawable.depth >= 24) {
++ bpp = 4;
++ format = GL_BGRA;
++ type = GL_UNSIGNED_BYTE;
++ } else {
++ bpp = 2;
++ format = GL_RGB;
++ type = GL_UNSIGNED_SHORT_5_6_5;
++ }
++
++ target = GL_TEXTURE_RECTANGLE_ARB;
++
+ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH,
+- pixmap->devKind / bpp) );
+- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS,
+- pixmap->drawable.y) );
+- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS,
+- pixmap->drawable.x) );
+-
+- if (pixmap->drawable.depth == 24)
+- glxFillAlphaChannel(pixmap);
+-
+- npot = !(glxCountBits(pixmap->drawable.width) == 1 &&
+- glxCountBits(pixmap->drawable.height) == 1) /* ||
+- strstr(CALL_GetString(GL_EXTENSIONS,
+- "GL_ARB_texture_non_power_of_two")) */ ;
+-
+- CALL_TexImage2D( GET_DISPATCH(),
+- ( npot ? GL_TEXTURE_RECTANGLE_ARB : GL_TEXTURE_2D,
+- 0,
+- bpp == 4 ? 4 : 3,
+- pixmap->drawable.width,
+- pixmap->drawable.height,
+- 0,
+- bpp == 4 ? GL_BGRA : GL_RGB,
+- bpp == 4 ? GL_UNSIGNED_BYTE : GL_UNSIGNED_SHORT_5_6_5,
+- pixmap->devPrivate.ptr ) );
++ pixmap->devKind / bpp) );
++ if (pRegion == NULL)
++ {
++ if (pixmap->drawable.depth == 24)
++ glxFillAlphaChannel(pixmap,
++ pixmap->drawable.x,
++ pixmap->drawable.y,
++ pixmap->drawable.width,
++ pixmap->drawable.height);
++
++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS,
++ pixmap->drawable.x) );
++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS,
++ pixmap->drawable.y) );
++
++ CALL_TexImage2D( GET_DISPATCH(),
++ (target,
++ 0,
++ bpp == 4 ? 4 : 3,
++ pixmap->drawable.width,
++ pixmap->drawable.height,
++ 0,
++ format,
++ type,
++ pixmap->devPrivate.ptr) );
++ } else {
++ int i, numRects;
++ BoxPtr p;
++
++ numRects = REGION_NUM_RECTS (pRegion);
++ p = REGION_RECTS (pRegion);
++ for (i = 0; i < numRects; i++)
++ {
++ if (pixmap->drawable.depth == 24)
++ glxFillAlphaChannel(pixmap,
++ pixmap->drawable.x + p[i].x1,
++ pixmap->drawable.y + p[i].y1,
++ p[i].x2 - p[i].x1,
++ p[i].y2 - p[i].y1);
++
++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS,
++ pixmap->drawable.x + p[i].x1) );
++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS,
++ pixmap->drawable.y + p[i].y1) );
++
++ CALL_TexSubImage2D( GET_DISPATCH(),
++ (target,
++ 0,
++ p[i].x1, p[i].y1,
++ p[i].x2 - p[i].x1, p[i].y2 - p[i].y1,
++ format,
++ type,
++ pixmap->devPrivate.ptr) );
++ }
++ }
++
++ DamageEmpty(glxPixmap->pDamage);
+
+ return Success;
+ }
+--- ./GL/glx/glxext.c.tfp-damage 2006-03-16 20:47:25.000000000 -0500
++++ ./GL/glx/glxext.c 2006-06-20 20:33:53.000000000 -0400
+@@ -141,6 +141,10 @@
+
+ pGlxPixmap->idExists = False;
+ if (!pGlxPixmap->refcnt) {
++ if (pGlxPixmap->pDamage) {
++ DamageUnregister (pGlxPixmap->pDraw, pGlxPixmap->pDamage);
++ DamageDestroy(pGlxPixmap->pDamage);
++ }
+ /*
+ ** The DestroyPixmap routine should decrement the refcount and free
+ ** only if it's zero.
diff --git a/x11-base/xorg-server/files/04-mesa-copy-sub-buffer.patch b/x11-base/xorg-server/files/04-mesa-copy-sub-buffer.patch
new file mode 100644
index 0000000..2b62dad
--- /dev/null
+++ b/x11-base/xorg-server/files/04-mesa-copy-sub-buffer.patch
@@ -0,0 +1,361 @@
+--- ./GL/glx/glxdrawable.h.mesa-copy-sub-buffer 2006-07-06 21:40:41.000000000 -0400
++++ ./GL/glx/glxdrawable.h 2006-07-06 21:56:33.000000000 -0400
+@@ -58,6 +58,8 @@
+ void (*destroy)(__GLXdrawable *private);
+ GLboolean (*resize)(__GLXdrawable *private);
+ GLboolean (*swapBuffers)(__GLXdrawable *);
++ void (*copySubBuffer)(__GLXdrawable *drawable,
++ int x, int y, int w, int h);
+
+ /*
+ ** list of drawable private structs
+--- ./GL/glx/glxcmds.c.mesa-copy-sub-buffer 2006-07-06 21:40:41.000000000 -0400
++++ ./GL/glx/glxcmds.c 2006-07-06 22:30:01.000000000 -0400
+@@ -1331,21 +1331,14 @@
+
+ /*****************************************************************************/
+
+-/*
+-** NOTE: There is no portable implementation for swap buffers as of
+-** this time that is of value. Consequently, this code must be
+-** implemented by somebody other than SGI.
+-*/
+-int __glXSwapBuffers(__GLXclientState *cl, GLbyte *pc)
++static __GLXdrawable *
++SyncContextGetDrawable (__GLXclientState *cl, GLXContextTag tag,
++ XID drawId, int *status)
+ {
+ ClientPtr client = cl->client;
+ DrawablePtr pDraw;
+- xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc;
+- GLXContextTag tag = req->contextTag;
+- XID drawId = req->drawable;
+ __GLXpixmap *pGlxPixmap;
+ __GLXcontext *glxc = NULL;
+- int error;
+
+ /*
+ ** Check that the GLX drawable is valid.
+@@ -1361,11 +1354,11 @@
+ ** Drawable is an X pixmap, which is not allowed.
+ */
+ client->errorValue = drawId;
+- return __glXBadDrawable;
++ *status = __glXBadDrawable;
++ return NULL;
+ }
+ } else {
+- pGlxPixmap = (__GLXpixmap *) LookupIDByType(drawId,
+- __glXPixmapRes);
++ pGlxPixmap = (__GLXpixmap *) LookupIDByType(drawId, __glXPixmapRes);
+ if (pGlxPixmap) {
+ /*
+ ** Drawable is a GLX pixmap.
+@@ -1375,21 +1368,23 @@
+ ** Drawable is neither a X window nor a GLX pixmap.
+ */
+ client->errorValue = drawId;
+- return __glXBadDrawable;
++ *status = __glXBadDrawable;
++ return NULL;
+ }
+ }
+
+ if (tag) {
+ glxc = __glXLookupContextByTag(cl, tag);
+ if (!glxc) {
+- return __glXBadContextTag;
++ *status = __glXBadContextTag;
++ return NULL;
+ }
+ /*
+ ** The calling thread is swapping its current drawable. In this case,
+ ** glxSwapBuffers is in both GL and X streams, in terms of
+ ** sequentiality.
+ */
+- if (__glXForceCurrent(cl, tag, &error)) {
++ if (__glXForceCurrent(cl, tag, status)) {
+ /*
+ ** Do whatever is needed to make sure that all preceding requests
+ ** in both streams are completed before the swap is executed.
+@@ -1397,33 +1392,53 @@
+ CALL_Finish( GET_DISPATCH(), () );
+ __GLX_NOTE_FLUSHED_CMDS(glxc);
+ } else {
+- return error;
++ return NULL;
+ }
+ }
+
++ *status = Success;
+ if (pDraw) {
+- __GLXdrawable *glxPriv;
++ __GLXdrawable *glxPriv;
+
+ if (glxc) {
+ glxPriv = __glXGetDrawable(glxc, pDraw, drawId);
+ if (glxPriv == NULL) {
+- return __glXBadDrawable;
++ *status = __glXBadDrawable;
++ return NULL;
+ }
+ }
+ else {
+ glxPriv = __glXFindDrawable(drawId);
+ if (glxPriv == NULL) {
+ /* This is a window we've never seen before, do nothing */
+- return Success;
++ return NULL;
+ }
+ }
+
+- if ((*glxPriv->swapBuffers)(glxPriv) == GL_FALSE) {
+- return __glXBadDrawable;
+- }
++ return glxPriv;
+ }
+
+- return Success;
++ return NULL;
++}
++
++/*
++** NOTE: There is no portable implementation for swap buffers as of
++** this time that is of value. Consequently, this code must be
++** implemented by somebody other than SGI.
++*/
++int __glXSwapBuffers(__GLXclientState *cl, GLbyte *pc)
++{
++ xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc;
++ GLXContextTag tag = req->contextTag;
++ __GLXdrawable *glxPriv;
++ int status;
++
++ glxPriv = SyncContextGetDrawable (cl, tag, req->drawable, &status);
++ if (glxPriv && (*glxPriv->swapBuffers)(glxPriv) == GL_FALSE) {
++ return __glXBadDrawable;
++ }
++
++ return status;
+ }
+
+
+@@ -1544,6 +1559,30 @@
+ pGlxPixmap);
+ }
+
++int __glXCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc)
++{
++ xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc;
++ GLXContextTag tag = req->contextTag;
++ __GLXdrawable *glxPriv;
++ GLXDrawable drawId;
++ int x, y, width, height;
++ int status;
++
++ pc += __GLX_VENDPRIV_HDR_SIZE;
++
++ drawId = *((CARD32 *) (pc));
++ x = *((INT32 *) (pc + 4));
++ y = *((INT32 *) (pc + 8));
++ width = *((INT32 *) (pc + 12));
++ height = *((INT32 *) (pc + 16));
++
++ glxPriv = SyncContextGetDrawable (cl, tag, drawId, &status);
++ if (glxPriv)
++ (*glxPriv->copySubBuffer)(glxPriv, x, y, width, height);
++
++ return status;
++}
++
+ /*
+ ** Get drawable attributes
+ */
+@@ -2173,7 +2212,9 @@
+ case X_GLXvop_BindTexImageEXT:
+ return __glXBindTexImageEXT(cl, pc);
+ case X_GLXvop_ReleaseTexImageEXT:
+- return __glXReleaseTexImageEXT(cl, pc);
++ return __glXReleaseTexImageEXT(cl, pc);
++ case X_GLXvop_CopySubBufferMESA:
++ return __glXCopySubBufferMESA(cl, pc);
+ }
+ #endif
+
+--- ./GL/glx/glxdri.c.mesa-copy-sub-buffer 2006-07-06 21:40:41.000000000 -0400
++++ ./GL/glx/glxdri.c 2006-07-06 21:59:38.000000000 -0400
+@@ -112,12 +112,28 @@
+ * months ago. :(
+ * 20050727 - Gut all the old interfaces. This breaks compatability with
+ * any DRI driver built to any previous version.
++ * 20060314 - Added support for GLX_MESA_copy_sub_buffer.
+ */
++
+ #define INTERNAL_VERSION 20050727
+
+ static const char CREATE_NEW_SCREEN_FUNC[] =
+ "__driCreateNewScreen_" STRINGIFY (INTERNAL_VERSION);
+
++/* The DRI driver entry point version wasn't bumped when the
++ * copySubBuffer functionality was added to the DRI drivers, but the
++ * functionality is still conditional on the value of the
++ * internal_api_version passed to __driCreateNewScreen. However, the
++ * screen constructor doesn't fail for a DRI driver that's older than
++ * the passed in version number, so there's no way we can know for
++ * sure that we can actually use the copySubBuffer functionality. But
++ * since the earliest (and at this point only) released mesa version
++ * (6.5) that uses the 20050727 entry point does have copySubBuffer,
++ * we'll just settle for that. We still have to pass in a higher to
++ * the screen constructor to enable the functionality.
++ */
++#define COPY_SUB_BUFFER_INTERNAL_VERSION 20060314
++
+ static void
+ __glXDRIleaveServer(void)
+ {
+@@ -177,6 +193,27 @@
+ return TRUE;
+ }
+
++static void
++__glXDRIdrawableCopySubBuffer(__GLXdrawable *basePrivate,
++ int x, int y, int w, int h)
++{
++ __GLXDRIdrawable *private = (__GLXDRIdrawable *) basePrivate;
++ __GLXDRIscreen *screen;
++
++ /* FIXME: We're jumping through hoops here to get the DRIdrawable
++ * which the dri driver tries to keep to it self... cf. FIXME in
++ * createDrawable. */
++
++ screen = (__GLXDRIscreen *) __glXgetActiveScreen(private->base.pDraw->pScreen->myNum);
++ private->driDrawable = (screen->driScreen.getDrawable)(NULL,
++ private->base.drawId,
++ screen->driScreen.private);
++
++ (*private->driDrawable->copySubBuffer)(NULL,
++ private->driDrawable->private,
++ x, y, w, h);
++}
++
+ static __GLXdrawable *
+ __glXDRIcontextCreateDrawable(__GLXcontext *context,
+ DrawablePtr pDraw,
+@@ -195,10 +232,11 @@
+ return NULL;
+ }
+
+- private->base.destroy = __glXDRIdrawableDestroy;
+- private->base.resize = __glXDRIdrawableResize;
+- private->base.swapBuffers = __glXDRIdrawableSwapBuffers;
+-
++ private->base.destroy = __glXDRIdrawableDestroy;
++ private->base.resize = __glXDRIdrawableResize;
++ private->base.swapBuffers = __glXDRIdrawableSwapBuffers;
++ private->base.copySubBuffer = __glXDRIdrawableCopySubBuffer;
++
+ #if 0
+ /* FIXME: It would only be natural that we called
+ * driScreen->createNewDrawable here but the DRI drivers manage
+@@ -218,7 +256,6 @@
+ return &private->base;
+ }
+
+-
+ static void
+ __glXDRIcontextDestroy(__GLXcontext *baseContext)
+ {
+@@ -770,7 +807,7 @@
+ __DRIframebuffer framebuffer;
+ int fd = -1;
+ int status;
+- int api_ver = INTERNAL_VERSION;
++ int api_ver = COPY_SUB_BUFFER_INTERNAL_VERSION;
+ drm_magic_t magic;
+ drmVersionPtr version;
+ char *driverName;
+--- ./GL/glx/g_disptab.h.mesa-copy-sub-buffer 2006-03-11 19:11:33.000000000 -0500
++++ ./GL/glx/g_disptab.h 2006-07-06 21:56:33.000000000 -0400
+@@ -48,6 +48,7 @@
+ extern int __glXSwapBuffers(__GLXclientState*, GLbyte*);
+ extern int __glXBindTexImageEXT(__GLXclientState *cl, GLbyte *pc);
+ extern int __glXReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc);
++extern int __glXCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc);
+ extern int __glXGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc);
+ extern int __glXUseXFont(__GLXclientState*, GLbyte*);
+ extern int __glXCreateGLXPixmap(__GLXclientState*, GLbyte*);
+@@ -76,6 +77,7 @@
+ extern int __glXSwapSwapBuffers(__GLXclientState*, GLbyte*);
+ extern int __glXSwapBindTexImageEXT(__GLXclientState *cl, GLbyte *pc);
+ extern int __glXSwapReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc);
++extern int __glXSwapReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc);
+ extern int __glXSwapGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc);
+ extern int __glXSwapUseXFont(__GLXclientState*, GLbyte*);
+ extern int __glXSwapCreateGLXPixmap(__GLXclientState*, GLbyte*);
+@@ -105,4 +107,11 @@
+ extern __GLXdispatchSingleProcPtr __glXSingleTable[__GLX_SINGLE_TABLE_SIZE];
+ extern __GLXdispatchRenderProcPtr __glXSwapRenderTable[__GLX_RENDER_TABLE_SIZE];
+ extern __GLXdispatchSingleProcPtr __glXSwapSingleTable[__GLX_SINGLE_TABLE_SIZE];
++
++/* Copied from mesa src/glx/x11/glxcmds.c
++ *
++ * Apparently there's no standardized opcode for this extension.
++ */
++#define X_GLXvop_CopySubBufferMESA 5154 /* temporary */
++
+ #endif /* _GLX_g_disptab_h_ */
+--- ./GL/glx/glxscreens.c.mesa-copy-sub-buffer 2006-03-20 15:10:29.000000000 -0500
++++ ./GL/glx/glxscreens.c 2006-07-06 21:56:33.000000000 -0400
+@@ -139,6 +139,7 @@
+ "GLX_SGIX_swap_barrier "
+ #endif
+ "GLX_SGIX_fbconfig "
++ "GLX_MESA_copy_sub_buffer "
+ ;
+
+ __GLXscreen **__glXActiveScreens;
+--- ./GL/glx/glxcmdsswap.c.mesa-copy-sub-buffer 2006-04-02 22:09:15.000000000 -0400
++++ ./GL/glx/glxcmdsswap.c 2006-07-06 21:56:33.000000000 -0400
+@@ -432,6 +432,31 @@
+ return __glXReleaseTexImageEXT(cl, (GLbyte *)pc);
+ }
+
++int __glXSwapCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc)
++{
++ xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc;
++ GLXDrawable *drawId;
++ int *buffer;
++
++ (void) drawId;
++ (void) buffer;
++
++ __GLX_DECLARE_SWAP_VARIABLES;
++
++ pc += __GLX_VENDPRIV_HDR_SIZE;
++
++ __GLX_SWAP_SHORT(&req->length);
++ __GLX_SWAP_INT(&req->contextTag);
++ __GLX_SWAP_INT(pc);
++ __GLX_SWAP_INT(pc + 4);
++ __GLX_SWAP_INT(pc + 8);
++ __GLX_SWAP_INT(pc + 12);
++ __GLX_SWAP_INT(pc + 16);
++
++ return __glXCopySubBufferMESA(cl, pc);
++
++}
++
+ int __glXSwapGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc)
+ {
+ xGLXVendorPrivateWithReplyReq *req = (xGLXVendorPrivateWithReplyReq *)pc;
+@@ -899,7 +924,9 @@
+ case X_GLXvop_BindTexImageEXT:
+ return __glXSwapBindTexImageEXT(cl, pc);
+ case X_GLXvop_ReleaseTexImageEXT:
+- return __glXSwapReleaseTexImageEXT(cl, pc);
++ return __glXSwapReleaseTexImageEXT(cl, pc);
++ case X_GLXvop_CopySubBufferMESA:
++ return __glXSwapCopySubBufferMESA(cl, pc);
+ }
+ #endif
+
diff --git a/x11-base/xorg-server/files/05-offscreen-pixmaps.patch b/x11-base/xorg-server/files/05-offscreen-pixmaps.patch
new file mode 100644
index 0000000..3841b04
--- /dev/null
+++ b/x11-base/xorg-server/files/05-offscreen-pixmaps.patch
@@ -0,0 +1,55 @@
+--- ./hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps 2006-07-05 14:31:42.000000000 -0400
++++ ./hw/xfree86/xaa/xaaInit.c 2006-08-30 16:47:29.000000000 -0400
+@@ -98,6 +98,30 @@
+ xfree(infoRec);
+ }
+
++void
++XAAEvictPixmaps(void)
++{
++ XAAScreenPtr pScreenPriv;
++ XAAInfoRecPtr infoRec;
++ ScreenPtr pScreen;
++ int i;
++
++ xf86MsgVerb(X_INFO, 3, "XAA: Evicting pixmaps\n");
++
++ for (i = 0; i < screenInfo.numScreens; i++) {
++ pScreen = screenInfo.screens[i];
++ infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen);
++
++ pScreenPriv = pScreen->devPrivates[XAAScreenIndex].ptr;
++ infoRec = pScreenPriv->AccelInfoRec;
++
++ infoRec->offscreenDepths = 0;
++ infoRec->Flags &= ~OFFSCREEN_PIXMAPS;
++
++ XAAMoveOutOffscreenPixmaps(pScreen);
++ XAAInvalidatePixmapCache(pScreen);
++ }
++}
+
+ Bool
+ XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec)
+--- ./GL/glx/glxdri.c.offscreen-pixmaps 2006-08-30 16:46:45.000000000 -0400
++++ ./GL/glx/glxdri.c 2006-08-30 16:45:52.000000000 -0400
+@@ -367,6 +367,19 @@
+ int bpp;
+ GLenum target, format, type;
+
++ /* When the GLX_EXT_texture_from_pixmap is used, as it's
++ * implemented here, we want to pull pixmap out of video memory
++ * and into host memory. */
++ {
++ extern void XAAEvictPixmaps(void);
++ static int evictedPixmaps;
++
++ if (!evictedPixmaps) {
++ XAAEvictPixmaps();
++ evictedPixmaps = TRUE;
++ }
++ }
++
+ pixmap = (PixmapPtr) glxPixmap->pDraw;
+ if (!glxPixmap->pDamage) {
+ glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone,
diff --git a/x11-base/xorg-server/files/06-aiglx-happy-vt-switch.patch b/x11-base/xorg-server/files/06-aiglx-happy-vt-switch.patch
new file mode 100644
index 0000000..314f1f0
--- /dev/null
+++ b/x11-base/xorg-server/files/06-aiglx-happy-vt-switch.patch
@@ -0,0 +1,241 @@
+diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
+index cfa9996..77fa4bf 100644
+--- a/GL/glx/glxdri.c
++++ b/GL/glx/glxdri.c
+@@ -63,27 +63,30 @@ #include "dispatch.h"
+ #define STRINGIFY(macro_or_string) STRINGIFY_ARG (macro_or_string)
+ #define STRINGIFY_ARG(contents) #contents
+
+-typedef struct __GLXDRIscreen __GLXDRIscreen;
+-typedef struct __GLXDRIcontext __GLXDRIcontext;
++typedef struct __GLXDRIscreen __GLXDRIscreen;
++typedef struct __GLXDRIcontext __GLXDRIcontext;
+ typedef struct __GLXDRIdrawable __GLXDRIdrawable;
+
+ struct __GLXDRIscreen {
+- __GLXscreen base;
++ __GLXscreen base;
+
+- __DRIscreen driScreen;
+- void *driver;
++ xf86EnterVTProc *enterVT;
++ xf86LeaveVTProc *leaveVT;
++
++ __DRIscreen driScreen;
++ void *driver;
+ };
+
+ struct __GLXDRIcontext {
+- __GLXcontext base;
++ __GLXcontext base;
+
+- __DRIcontext driContext;
++ __DRIcontext driContext;
+ };
+
+ struct __GLXDRIdrawable {
+- __GLXdrawable base;
++ __GLXdrawable base;
+
+- __DRIdrawable *driDrawable;
++ __DRIdrawable *driDrawable;
+ };
+
+ /* History:
+@@ -594,8 +597,7 @@ static __DRIfuncPtr getProcAddress(const
+
+ static __DRIscreen *findScreen(__DRInativeDisplay *dpy, int scrn)
+ {
+- __GLXDRIscreen *screen =
+- (__GLXDRIscreen *) __glXgetActiveScreen(scrn);
++ __GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(scrn);
+
+ return &screen->driScreen;
+ }
+@@ -789,6 +791,30 @@ static const __DRIinterfaceMethods inter
+
+ static const char dri_driver_path[] = DRI_DRIVER_PATH;
+
++static Bool
++glxDRIEnterVT (int index, int flags)
++{
++ __GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index);
++
++ LogMessage(X_INFO, "AIGLX: Resuming AIGLX clients after VT switch\n");
++
++ glxResumeClients();
++
++ return (*screen->enterVT) (index, flags);
++}
++
++static void
++glxDRILeaveVT (int index, int flags)
++{
++ __GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index);
++
++ LogMessage(X_INFO, "AIGLX: Suspending AIGLX clients for VT switch\n");
++
++ glxSuspendClients();
++
++ return (*screen->leaveVT) (index, flags);
++}
++
+ static __GLXscreen *
+ __glXDRIscreenProbe(ScreenPtr pScreen)
+ {
+@@ -813,6 +839,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
+ void *dev_priv = NULL;
+ char filename[128];
+ Bool isCapable;
++ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+
+ if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable")) {
+ LogMessage(X_ERROR, "AIGLX: DRI module not loaded\n");
+@@ -983,6 +1010,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
+
+ __glXsetEnterLeaveServerFuncs(__glXDRIenterServer, __glXDRIleaveServer);
+
++ screen->enterVT = pScrn->EnterVT;
++ pScrn->EnterVT = glxDRIEnterVT;
++ screen->leaveVT = pScrn->LeaveVT;
++ pScrn->LeaveVT = glxDRILeaveVT;
++
+ LogMessage(X_INFO,
+ "AIGLX: Loaded and initialized %s\n", filename);
+
+diff --git a/GL/glx/glxext.c b/GL/glx/glxext.c
+index 8bbb83f..edc257c 100644
+--- a/GL/glx/glxext.c
++++ b/GL/glx/glxext.c
+@@ -234,13 +231,11 @@ GLboolean __glXFreeContext(__GLXcontext
+ * __glXDispatch() or as a callback from the resource manager. In
+ * the latter case we need to lift the DRI lock manually. */
+
+- if (!inDispatch)
+- __glXleaveServer();
++ __glXleaveServer();
+
+ cx->destroy(cx);
+
+- if (!inDispatch)
+- __glXenterServer();
++ __glXenterServer();
+
+ return GL_TRUE;
+ }
+@@ -336,7 +331,7 @@ void GlxExtensionInit(void)
+ /*
+ ** Initialize table of client state. There is never a client 0.
+ */
+- for (i=1; i <= MAXCLIENTS; i++) {
++ for (i = 1; i <= MAXCLIENTS; i++) {
+ __glXClients[i] = 0;
+ }
+
+@@ -407,11 +402,36 @@ __GLXcontext *__glXForceCurrent(__GLXcli
+
+ /************************************************************************/
+
+-/*
+-** Top level dispatcher; all commands are executed from here down.
+-*/
++static int glxServerLeaveCount;
++static int glxBlockClients;
+
+-/* I cried when I wrote this. Damn you XAA! */
++void glxSuspendClients(void)
++{
++ int i;
++
++ for (i = 1; i <= MAXCLIENTS; i++) {
++ if (__glXClients[i] == NULL || !__glXClients[i]->inUse)
++ continue;
++
++ IgnoreClient(__glXClients[i]->client);
++ }
++
++ glxBlockClients = TRUE;
++}
++
++void glxResumeClients(void)
++{
++ int i;
++
++ glxBlockClients = FALSE;
++
++ for (i = 1; i <= MAXCLIENTS; i++) {
++ if (__glXClients[i] == NULL || !__glXClients[i]->inUse)
++ continue;
++
++ AttendClient(__glXClients[i]->client);
++ }
++}
+
+ static void
+ __glXnopEnterServer(void)
+@@ -436,14 +456,19 @@ void __glXsetEnterLeaveServerFuncs(void
+
+ void __glXenterServer(void)
+ {
+- (*__glXenterServerFunc)();
++ glxServerLeaveCount--;
++
++ if (glxServerLeaveCount == 0)
++ (*__glXenterServerFunc)();
+ }
+
+ void __glXleaveServer(void)
+ {
+- (*__glXleaveServerFunc)();
+-}
++ if (glxServerLeaveCount == 0)
++ (*__glXleaveServerFunc)();
+
++ glxServerLeaveCount++;
++}
+
+ /*
+ ** Top level dispatcher; all commands are executed from here down.
+@@ -496,6 +521,15 @@ static int __glXDispatch(ClientPtr clien
+ return __glXError(GLXBadLargeRequest);
+ }
+
++ /* If we're currently blocking GLX clients, just put this guy to
++ * sleep, reset the request and return. */
++ if (glxBlockClients) {
++ ResetCurrentRequest(client);
++ client->sequence--;
++ IgnoreClient(client);
++ return(client->noClientException);
++ }
++
+ /*
+ ** Use the opcode to index into the procedure table.
+ */
+@@ -506,12 +540,8 @@ static int __glXDispatch(ClientPtr clien
+
+ __glXleaveServer();
+
+- inDispatch = True;
+-
+ retval = proc(cl, (GLbyte *) stuff);
+
+- inDispatch = False;
+-
+ __glXenterServer();
+
+ return retval;
+diff --git a/GL/glx/glxserver.h b/GL/glx/glxserver.h
+index 8ece1e2..9eed1bc 100644
+--- a/GL/glx/glxserver.h
++++ b/GL/glx/glxserver.h
+@@ -136,6 +136,9 @@ void __glXsetEnterLeaveServerFuncs(void
+ void __glXenterServer(void);
+ void __glXleaveServer(void);
+
++void glxSuspendClients(void);
++void glxResumeClients(void);
++
+ /*
+ ** State kept per client.
+ */
diff --git a/x11-base/xorg-server/files/1.1.1-dbe-render.diff b/x11-base/xorg-server/files/1.1.1-dbe-render.diff
new file mode 100644
index 0000000..d2f27e5
--- /dev/null
+++ b/x11-base/xorg-server/files/1.1.1-dbe-render.diff
@@ -0,0 +1,183 @@
+diff --git a/dbe/dbe.c b/dbe/dbe.c
+index 5b43dd1..6a2ed6a 100644
+--- a/dbe/dbe.c
++++ b/dbe/dbe.c
+@@ -39,6 +39,11 @@
+ #endif
+
+ #include <string.h>
++#if HAVE_STDINT_T
++#include <stdint.h>
++#elif !defined(UINT32_MAX)
++#define UINT32_MAX 0xffffffffU
++#endif
+
+ #include <X11/X.h>
+ #include <X11/Xproto.h>
+@@ -713,11 +718,14 @@ ProcDbeSwapBuffers(ClientPtr client)
+ return(Success);
+ }
+
++ if (nStuff > UINT32_MAX / sizeof(DbeSwapInfoRec))
++ return BadAlloc;
++
+ /* Get to the swap info appended to the end of the request. */
+ dbeSwapInfo = (xDbeSwapInfo *)&stuff[1];
+
+ /* Allocate array to record swap information. */
+- swapInfo = (DbeSwapInfoPtr)ALLOCATE_LOCAL(nStuff * sizeof(DbeSwapInfoRec));
++ swapInfo = (DbeSwapInfoPtr)Xalloc(nStuff * sizeof(DbeSwapInfoRec));
+ if (swapInfo == NULL)
+ {
+ return(BadAlloc);
+@@ -732,14 +740,14 @@ ProcDbeSwapBuffers(ClientPtr client)
+ if (!(pWin = SecurityLookupWindow(dbeSwapInfo[i].window, client,
+ SecurityWriteAccess)))
+ {
+- DEALLOCATE_LOCAL(swapInfo);
++ Xfree(swapInfo);
+ return(BadWindow);
+ }
+
+ /* Each window must be double-buffered - BadMatch. */
+ if (DBE_WINDOW_PRIV(pWin) == NULL)
+ {
+- DEALLOCATE_LOCAL(swapInfo);
++ Xfree(swapInfo);
+ return(BadMatch);
+ }
+
+@@ -748,7 +756,7 @@ ProcDbeSwapBuffers(ClientPtr client)
+ {
+ if (dbeSwapInfo[i].window == dbeSwapInfo[j].window)
+ {
+- DEALLOCATE_LOCAL(swapInfo);
++ Xfree(swapInfo);
+ return(BadMatch);
+ }
+ }
+@@ -759,7 +767,7 @@ ProcDbeSwapBuffers(ClientPtr client)
+ (dbeSwapInfo[i].swapAction != XdbeUntouched ) &&
+ (dbeSwapInfo[i].swapAction != XdbeCopied ))
+ {
+- DEALLOCATE_LOCAL(swapInfo);
++ Xfree(swapInfo);
+ return(BadValue);
+ }
+
+@@ -789,12 +797,12 @@ ProcDbeSwapBuffers(ClientPtr client)
+ error = (*pDbeScreenPriv->SwapBuffers)(client, &nStuff, swapInfo);
+ if (error != Success)
+ {
+- DEALLOCATE_LOCAL(swapInfo);
++ Xfree(swapInfo);
+ return(error);
+ }
+ }
+
+- DEALLOCATE_LOCAL(swapInfo);
++ Xfree(swapInfo);
+ return(Success);
+
+ } /* ProcDbeSwapBuffers() */
+@@ -876,10 +884,12 @@ ProcDbeGetVisualInfo(ClientPtr client)
+
+ REQUEST_AT_LEAST_SIZE(xDbeGetVisualInfoReq);
+
++ if (stuff->n > UINT32_MAX / sizeof(DrawablePtr))
++ return BadAlloc;
+ /* Make sure any specified drawables are valid. */
+ if (stuff->n != 0)
+ {
+- if (!(pDrawables = (DrawablePtr *)ALLOCATE_LOCAL(stuff->n *
++ if (!(pDrawables = (DrawablePtr *)Xalloc(stuff->n *
+ sizeof(DrawablePtr))))
+ {
+ return(BadAlloc);
+@@ -892,7 +902,7 @@ ProcDbeGetVisualInfo(ClientPtr client)
+ if (!(pDrawables[i] = (DrawablePtr)SecurityLookupDrawable(
+ drawables[i], client, SecurityReadAccess)))
+ {
+- DEALLOCATE_LOCAL(pDrawables);
++ Xfree(pDrawables);
+ return(BadDrawable);
+ }
+ }
+@@ -904,7 +914,7 @@ ProcDbeGetVisualInfo(ClientPtr client)
+ {
+ if (pDrawables)
+ {
+- DEALLOCATE_LOCAL(pDrawables);
++ Xfree(pDrawables);
+ }
+
+ return(BadAlloc);
+@@ -931,7 +941,7 @@ ProcDbeGetVisualInfo(ClientPtr client)
+ /* Free pDrawables if we needed to allocate it above. */
+ if (pDrawables)
+ {
+- DEALLOCATE_LOCAL(pDrawables);
++ Xfree(pDrawables);
+ }
+
+ return(BadAlloc);
+@@ -1012,7 +1022,7 @@ ProcDbeGetVisualInfo(ClientPtr client)
+
+ if (pDrawables)
+ {
+- DEALLOCATE_LOCAL(pDrawables);
++ Xfree(pDrawables);
+ }
+
+ return(client->noClientException);
+diff --git a/render/render.c b/render/render.c
+index e4d8d6b..55f360a 100644
+--- a/render/render.c
++++ b/render/render.c
+@@ -47,6 +47,12 @@
+ #include <X11/Xfuncproto.h>
+ #include "cursorstr.h"
+
++#if HAVE_STDINT_H
++#include <stdint.h>
++#elif !defined(UINT32_MAX)
++#define UINT32_MAX 0xffffffffU
++#endif
++
+ static int ProcRenderQueryVersion (ClientPtr pClient);
+ static int ProcRenderQueryPictFormats (ClientPtr pClient);
+ static int ProcRenderQueryPictIndexValues (ClientPtr pClient);
+@@ -1103,11 +1109,14 @@ ProcRenderAddGlyphs (ClientPtr client)
+ }
+
+ nglyphs = stuff->nglyphs;
++ if (nglyphs > UINT32_MAX / sizeof(GlyphNewRec))
++ return BadAlloc;
++
+ if (nglyphs <= NLOCALGLYPH)
+ glyphsBase = glyphsLocal;
+ else
+ {
+- glyphsBase = (GlyphNewPtr) ALLOCATE_LOCAL (nglyphs * sizeof (GlyphNewRec));
++ glyphsBase = (GlyphNewPtr) Xalloc (nglyphs * sizeof (GlyphNewRec));
+ if (!glyphsBase)
+ return BadAlloc;
+ }
+@@ -1164,7 +1173,7 @@ ProcRenderAddGlyphs (ClientPtr client)
+ }
+
+ if (glyphsBase != glyphsLocal)
+- DEALLOCATE_LOCAL (glyphsBase);
++ Xfree (glyphsBase);
+ return client->noClientException;
+ bail:
+ while (glyphs != glyphsBase)
+@@ -1173,7 +1182,7 @@ bail:
+ xfree (glyphs->glyph);
+ }
+ if (glyphsBase != glyphsLocal)
+- DEALLOCATE_LOCAL (glyphsBase);
++ Xfree (glyphsBase);
+ return err;
+ }
+
diff --git a/x11-base/xorg-server/files/1.1.1-fix-xrandr-zoom-keys.patch b/x11-base/xorg-server/files/1.1.1-fix-xrandr-zoom-keys.patch
new file mode 100644
index 0000000..fc9bd8d
--- /dev/null
+++ b/x11-base/xorg-server/files/1.1.1-fix-xrandr-zoom-keys.patch
@@ -0,0 +1,186 @@
+diff --git a/dix/Makefile.am b/dix/Makefile.am
+index c9a19f7..414f125 100644
+--- a/dix/Makefile.am
++++ b/dix/Makefile.am
+@@ -29,7 +29,8 @@ libdix_la_SOURCES = \
+ swaprep.c \
+ swapreq.c \
+ tables.c \
+- window.c
++ window.c \
++ strcasecmp.c
+
+ libxpstubs_la_SOURCES = \
+ xpstubs.c
+diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am
+index d1b806a..9023a0c 100644
+--- a/hw/xfree86/dixmods/Makefile.am
++++ b/hw/xfree86/dixmods/Makefile.am
+@@ -95,6 +95,7 @@ libtype1_la_SOURCES = type1mod.c
+ libdixmods_la_SOURCES = $(top_srcdir)/mi/miinitext.c
+
+ libxorgxkb_la_SOURCES = xkbVT.c xkbPrivate.c xkbKillSrv.c
++libxorgxkb_la_LIBADD = $(top_builddir)/dix/libdix.la
+
+ libxtrap_la_LDFLAGS = -avoid-version
+ libxtrap_la_LIBADD = $(top_builddir)/XTrap/libxtrap.la
+diff --git a/hw/xfree86/dixmods/xkbPrivate.c b/hw/xfree86/dixmods/xkbPrivate.c
+index 0479bca..b986432 100644
+--- a/hw/xfree86/dixmods/xkbPrivate.c
++++ b/hw/xfree86/dixmods/xkbPrivate.c
+@@ -26,13 +26,13 @@ XkbDDXPrivate(DeviceIntPtr dev,KeyCode k
+ if (xf86act->type == XkbSA_XFree86Private) {
+ memcpy(msgbuf, xf86act->data, XkbAnyActionDataSize);
+ msgbuf[XkbAnyActionDataSize]= '\0';
+- if (strcmp(msgbuf, "-vmode")==0)
++ if (strcasecmp(msgbuf, "-vmode")==0)
+ xf86ProcessActionEvent(ACTION_PREV_MODE, NULL);
+- else if (strcmp(msgbuf, "+vmode")==0)
++ else if (strcasecmp(msgbuf, "+vmode")==0)
+ xf86ProcessActionEvent(ACTION_NEXT_MODE, NULL);
+- else if (strcmp(msgbuf, "ungrab")==0)
++ else if (strcasecmp(msgbuf, "ungrab")==0)
+ xf86ProcessActionEvent(ACTION_DISABLEGRAB, NULL);
+- else if (strcmp(msgbuf, "clsgrb")==0)
++ else if (strcasecmp(msgbuf, "clsgrb")==0)
+ xf86ProcessActionEvent(ACTION_CLOSECLIENT, NULL);
+ else
+ xf86ProcessActionEvent(ACTION_MESSAGE, (void *) msgbuf);
+diff --git a/include/dix.h b/include/dix.h
+index 0177721..84fc849 100644
+--- a/include/dix.h
++++ b/include/dix.h
+@@ -820,4 +820,10 @@ typedef struct {
+ SelectionCallbackKind kind;
+ } SelectionInfoRec;
+
++/* strcasecmp.c */
++#if NEED_STRCASECMP
++#define strcasecmp xstrcasecmp
++extern int xstrcasecmp(char *s1, char *s2);
++#endif
++
+ #endif /* DIX_H */
+diff --git a/xkb/maprules.c b/xkb/maprules.c
+index d4e9829..eff02ad 100644
+--- a/xkb/maprules.c
++++ b/xkb/maprules.c
+@@ -62,12 +62,6 @@ #define PR_DEBUG1(s,a)
+ #define PR_DEBUG2(s,a,b)
+ #endif
+
+-#ifdef NEED_STRCASECMP
+-extern int _XkbStrCaseCmp(char *s1, char *s2);
+-#else
+-#define _XkbStrCaseCmp strcasecmp
+-#endif
+-
+ /***====================================================================***/
+
+ #define DFLT_LINE_SIZE 128
+@@ -1092,20 +1086,20 @@ int len,headingtype,extra_ndx = 0;
+ for ( ; GetInputLine(file,&line,False); line.num_line= 0) {
+ if (line.line[0]=='!') {
+ tok = strtok(&(line.line[1]), " \t");
+- if (_XkbStrCaseCmp(tolower(tok),"model") == 0)
++ if (strcasecmp(tok,"model") == 0)
+ headingtype = HEAD_MODEL;
+- else if (_XkbStrCaseCmp(tok,"layout") == 0)
++ else if (strcasecmp(tok,"layout") == 0)
+ headingtype = HEAD_LAYOUT;
+- else if (_XkbStrCaseCmp(tok,"variant") == 0)
++ else if (strcasecmp(tok,"variant") == 0)
+ headingtype = HEAD_VARIANT;
+- else if (_XkbStrCaseCmp(tok,"option") == 0)
++ else if (strcasecmp(tok,"option") == 0)
+ headingtype = HEAD_OPTION;
+ else {
+ int i;
+ headingtype = HEAD_EXTRA;
+ extra_ndx= -1;
+ for (i=0;(i<rules->num_extra)&&(extra_ndx<0);i++) {
+- if (!_XkbStrCaseCmp(tok,rules->extra_names[i]))
++ if (!strcasecmp(tok,rules->extra_names[i]))
+ extra_ndx= i;
+ }
+ if (extra_ndx<0) {
+diff --git a/xkb/xkbfmisc.c b/xkb/xkbfmisc.c
+index 3389ba8..3ed68c2 100644
+--- a/xkb/xkbfmisc.c
++++ b/xkb/xkbfmisc.c
+@@ -247,19 +247,3 @@ XkbNameMatchesPattern(char *name,char *p
+ /* if we get here, the pattern is exhausted (-:just like me:-) */
+ return (name[0]=='\0');
+ }
+-
+-#ifdef NEED_STRCASECMP
+-_X_HIDDEN int
+-_XkbStrCaseCmp(char *str1,char *str2)
+-{
+- const u_char *us1 = (const u_char *)str1, *us2 = (const u_char *)str2;
+-
+- while (tolower(*us1) == tolower(*us2)) {
+- if (*us1++ == '\0')
+- return (0);
+- us2++;
+- }
+-
+- return (tolower(*us1) - tolower(*us2));
+-}
+-#endif
+diff --git a/dix/strcasecmp.c b/dix/strcasecmp.c
+new file mode 100644
+index 0000000..bf3f008
+--- /dev/null
++++ b/dix/strcasecmp.c
+@@ -0,0 +1,50 @@
++/* $Xorg: xkbmisc.c,v 1.4 2000/08/17 19:46:44 cpqbld Exp $ */
++/************************************************************
++ Copyright (c) 1995 by Silicon Graphics Computer Systems, Inc.
++
++ Permission to use, copy, modify, and distribute this
++ software and its documentation for any purpose and without
++ fee is hereby granted, provided that the above copyright
++ notice appear in all copies and that both that copyright
++ notice and this permission notice appear in supporting
++ documentation, and that the name of Silicon Graphics not be
++ used in advertising or publicity pertaining to distribution
++ of the software without specific prior written permission.
++ Silicon Graphics makes no representation about the suitability
++ of this software for any purpose. It is provided "as is"
++ without any express or implied warranty.
++
++ SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
++ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
++ AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
++ GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
++ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
++ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
++ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
++ THE USE OR PERFORMANCE OF THIS SOFTWARE.
++
++ ********************************************************/
++/* $XFree86: xc/lib/xkbfile/xkbmisc.c,v 1.7 2003/07/16 02:31:10 dawes Exp $ */
++
++#ifdef HAVE_DIX_CONFIG_H
++#include <dix-config.h>
++#endif
++
++#include <ctype.h>
++#include "dix.h"
++
++#ifdef NEED_STRCASECMP
++int
++xstrcasecmp(char *str1,char *str2)
++{
++ const u_char *us1 = (const u_char *)str1, *us2 = (const u_char *)str2;
++
++ while (tolower(*us1) == tolower(*us2)) {
++ if (*us1++ == '\0')
++ return (0);
++ us2++;
++ }
++
++ return (tolower(*us1) - tolower(*us2));
++}
++#endif
diff --git a/x11-base/xorg-server/files/1.1.1-fix_acpi_tokenize.patch b/x11-base/xorg-server/files/1.1.1-fix_acpi_tokenize.patch
new file mode 100644
index 0000000..407617f
--- /dev/null
+++ b/x11-base/xorg-server/files/1.1.1-fix_acpi_tokenize.patch
@@ -0,0 +1,21 @@
+commit 0567a6337b84fa045b5732e98203f488274aa2a2
+Author: Bram Verweij <amverweij@gmail.com>
+Date: Wed Nov 8 18:00:52 2006 +0200
+
+ xfree86/linux acpi: fix tokenising
+ Split on a space, rather on the 'video' string, as strtok takes a char,
+ not a string.
+
+diff --git a/hw/xfree86/os-support/linux/lnx_acpi.c b/hw/xfree86/os-support/linux/lnx_acpi.c
+index aa30e72..024e6ef 100644
+--- a/hw/xfree86/os-support/linux/lnx_acpi.c
++++ b/hw/xfree86/os-support/linux/lnx_acpi.c
+@@ -78,7 +78,7 @@ lnxACPIGetEventFromOs(int fd, pmEvent *e
+ char *data = NULL; /* doesn't appear to be used in the kernel */
+ unsigned long int notify_l, data_l;
+
+- video = strtok(ev, "video");
++ video = strtok(ev, " ");
+
+ GFX = strtok(NULL, " ");
+ #if 0
diff --git a/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch b/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch
new file mode 100644
index 0000000..5bc902b
--- /dev/null
+++ b/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch
@@ -0,0 +1,24 @@
+commit 3ad1642f1bbaa5f96558cdf3384b40f7122f8781
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Sun Oct 15 16:57:09 2006 +0200
+
+ Fix __glXDRIbindTexImage() for 32 bpp on big endian platforms.
+
+diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
+index b572304..170662c 100644
+--- a/GL/glx/glxdri.c
++++ b/GL/glx/glxdri.c
+@@ -359,7 +359,12 @@ __glXDRIbindTexImage(__GLXcontext *baseC
+ if (pixmap->drawable.depth >= 24) {
+ bpp = 4;
+ format = GL_BGRA;
+- type = GL_UNSIGNED_BYTE;
++ type =
++#if X_BYTE_ORDER == X_LITTLE_ENDIAN
++ GL_UNSIGNED_BYTE;
++#else
++ GL_UNSIGNED_INT_8_8_8_8_REV;
++#endif
+ } else {
+ bpp = 2;
+ format = GL_RGB;
diff --git a/x11-base/xorg-server/files/1.1.1-fixdualhead.patch b/x11-base/xorg-server/files/1.1.1-fixdualhead.patch
new file mode 100644
index 0000000..7b0513d
--- /dev/null
+++ b/x11-base/xorg-server/files/1.1.1-fixdualhead.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/show_bug.cgi?id=159375
+
+diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
+index 4935b0a..9c3cac0 100644
+--- a/GL/glx/glxdri.c
++++ b/GL/glx/glxdri.c
+@@ -121,19 +121,13 @@ static const char CREATE_NEW_SCREEN_FUNC
+ static void
+ __glXDRIleaveServer(void)
+ {
+- int i;
+-
+- for (i = 0; i < screenInfo.numScreens; i++)
+- DRIDoBlockHandler(i, NULL, NULL, NULL);
++ DRIBlockHandler(NULL, NULL, NULL);
+ }
+
+ static void
+ __glXDRIenterServer(void)
+ {
+- int i;
+-
+- for (i = 0; i < screenInfo.numScreens; i++)
+- DRIDoWakeupHandler(i, NULL, 0, NULL);
++ DRIWakeupHandler(NULL, 0, NULL);
+ }
+
+ static void
diff --git a/x11-base/xorg-server/files/1.1.1-sparc-includes.patch b/x11-base/xorg-server/files/1.1.1-sparc-includes.patch
new file mode 100644
index 0000000..3408d20
--- /dev/null
+++ b/x11-base/xorg-server/files/1.1.1-sparc-includes.patch
@@ -0,0 +1,28 @@
+diff -Nura xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_io.c xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_io.c
+--- xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_io.c 2006-07-05 15:31:41.000000000 -0300
++++ xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_io.c 2007-01-18 14:43:53.000000000 -0300
+@@ -72,10 +72,6 @@
+
+ #include <linux/kd.h>
+ #include <linux/version.h>
+-#ifdef __sparc__
+-#include <asm/param.h>
+-#include <asm/kbio.h>
+-#endif
+
+ /* Deal with spurious kernel header change in struct kbd_repeat.
+ We undo this define after the routine using that struct is over,
+diff -Nura xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_kbd.c xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_kbd.c
+--- xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_kbd.c 2006-07-05 15:31:41.000000000 -0300
++++ xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_kbd.c 2007-01-18 14:44:55.000000000 -0300
+@@ -102,10 +102,6 @@
+
+ #include <linux/kd.h>
+ #include <linux/version.h>
+-#ifdef __sparc__
+-#include <asm/param.h>
+-#include <asm/kbio.h>
+-#endif
+
+ /* Deal with spurious kernel header change in struct kbd_repeat.
+ We undo this define after the routine using that struct is over,
diff --git a/x11-base/xorg-server/files/1.1.1-sparc64-ati-lockups.patch b/x11-base/xorg-server/files/1.1.1-sparc64-ati-lockups.patch
new file mode 100644
index 0000000..d44d969
--- /dev/null
+++ b/x11-base/xorg-server/files/1.1.1-sparc64-ati-lockups.patch
@@ -0,0 +1,18 @@
+diff --git a/hw/xfree86/os-support/bus/linuxPci.c b/hw/xfree86/os-support/bus/linuxPci.c
+index a3c07f3..a97e6f0 100644
+--- a/hw/xfree86/os-support/bus/linuxPci.c
++++ b/hw/xfree86/os-support/bus/linuxPci.c
+@@ -83,7 +83,13 @@ #if defined(__powerpc__)
+ /* pciAddrBusToHost */ linuxPpcBusAddrToHostAddr,
+ #else
+ /* pciAddrHostToBus */ pciAddrNOOP,
++/* linuxTransAddrBusToHost is busted on sparc64 but the PCI rework tree
++ * makes it all moot, so we kludge it for now */
++#if defined(__sparc__)
++/* pciAddrBusToHost */ pciAddrNOOP,
++#else
+ /* pciAddrBusToHost */ linuxTransAddrBusToHost,
++#endif /* __sparc64__ */
+ #endif
+
+ /* pciControlBridge */ NULL,
diff --git a/x11-base/xorg-server/files/1.2.0-client-leak.patch b/x11-base/xorg-server/files/1.2.0-client-leak.patch
new file mode 100644
index 0000000..02e52db
--- /dev/null
+++ b/x11-base/xorg-server/files/1.2.0-client-leak.patch
@@ -0,0 +1,11 @@
+--- a/os/connection.c
++++ b/os/connection.c
+@@ -1066,6 +1066,8 @@ CloseDownConnection(ClientPtr client)
+ XdmcpCloseDisplay(oc->fd);
+ #endif
+ CloseDownFileDescriptor(oc);
++ FreeOsBuffers(oc);
++ xfree(client->osPrivate);
+ client->osPrivate = (pointer)NULL;
+ if (auditTrailLevel > 1)
+ AuditF("client %d disconnected\n", client->index);
diff --git a/x11-base/xorg-server/files/1.2.0-server-damage-version.patch b/x11-base/xorg-server/files/1.2.0-server-damage-version.patch
new file mode 100644
index 0000000..e03ae0e
--- /dev/null
+++ b/x11-base/xorg-server/files/1.2.0-server-damage-version.patch
@@ -0,0 +1,38 @@
+--- a/damageext/damageext.c
++++ b/damageext/damageext.c
+@@ -35,6 +35,13 @@ int DamageClientPrivateIndex;
+ RESTYPE DamageExtType;
+ RESTYPE DamageExtWinType;
+
++/* Version of the damage extension supported by the server, as opposed to the
++ * DAMAGE_* defines from damageproto for what version the proto header
++ * supports.
++ */
++#define SERVER_DAMAGE_MAJOR 1
++#define SERVER_DAMAGE_MINOR 0
++
+ #define prScreen screenInfo.screens[0]
+
+ static void
+@@ -143,16 +150,16 @@ ProcDamageQueryVersion(ClientPtr client)
+ rep.type = X_Reply;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
+- if (stuff->majorVersion < DAMAGE_MAJOR) {
++ if (stuff->majorVersion < SERVER_DAMAGE_MAJOR) {
+ rep.majorVersion = stuff->majorVersion;
+ rep.minorVersion = stuff->minorVersion;
+ } else {
+- rep.majorVersion = DAMAGE_MAJOR;
+- if (stuff->majorVersion == DAMAGE_MAJOR &&
+- stuff->minorVersion < DAMAGE_MINOR)
++ rep.majorVersion = SERVER_DAMAGE_MAJOR;
++ if (stuff->majorVersion == SERVER_DAMAGE_MAJOR &&
++ stuff->minorVersion < SERVER_DAMAGE_MINOR)
+ rep.minorVersion = stuff->minorVersion;
+ else
+- rep.minorVersion = DAMAGE_MINOR;
++ rep.minorVersion = SERVER_DAMAGE_MINOR;
+ }
+ pDamageClient->major_version = rep.majorVersion;
+ pDamageClient->minor_version = rep.minorVersion;
diff --git a/x11-base/xorg-server/files/1.2.0-server-randr-version.patch b/x11-base/xorg-server/files/1.2.0-server-randr-version.patch
new file mode 100644
index 0000000..05432b6
--- /dev/null
+++ b/x11-base/xorg-server/files/1.2.0-server-randr-version.patch
@@ -0,0 +1,13 @@
+--- randr/randr.c.old 2007-02-19 14:01:55.000000000 -0700
++++ randr/randr.c 2007-02-19 14:02:12.000000000 -0700
+@@ -472,8 +472,8 @@
+ rep.type = X_Reply;
+ rep.length = 0;
+ rep.sequenceNumber = client->sequence;
+- rep.majorVersion = RANDR_MAJOR;
+- rep.minorVersion = RANDR_MINOR;
++ rep.majorVersion = 1;
++ rep.minorVersion = 1;
+ if (client->swapped) {
+ swaps(&rep.sequenceNumber, n);
+ swapl(&rep.length, n);
diff --git a/x11-base/xorg-server/files/1.2.99.0-fix-sysconfdir-references.patch b/x11-base/xorg-server/files/1.2.99.0-fix-sysconfdir-references.patch
new file mode 100644
index 0000000..7d5b8ab
--- /dev/null
+++ b/x11-base/xorg-server/files/1.2.99.0-fix-sysconfdir-references.patch
@@ -0,0 +1,11 @@
+--- configure.ac.old 2006-11-04 15:27:24.000000000 -0700
++++ configure.ac 2006-11-04 15:28:32.000000000 -0700
+@@ -1342,7 +1342,7 @@
+
+ dnl these only go in xorg-config.h
+ XF86CONFIGFILE="xorg.conf"
+- CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
++ CONFIGFILE="$sysconfdir/X11/$XF86CONFIGFILE"
+ LOGPREFIX="$logdir/Xorg."
+ AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
+ AC_DEFINE(XORGSERVER, 1, [Building Xorg server])
diff --git a/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r1 b/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r1
new file mode 100644
index 0000000..a78fe15
--- /dev/null
+++ b/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r1
@@ -0,0 +1,6 @@
+MD5 e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2 3295166
+RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 MesaLib-6.5.2.tar.bz2 3295166
+SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f MesaLib-6.5.2.tar.bz2 3295166
+MD5 ea291c89e68832d570d9d5e007218bd6 xorg-server-1.2.0.tar.bz2 6014596
+RMD160 0bbc5ccb5cbbe7627b4f09f17848b188e8be2a50 xorg-server-1.2.0.tar.bz2 6014596
+SHA256 e3e56b35ee13098f4ee79948beb20bfc9a06d1a7a35fb906405ff1531b92bb85 xorg-server-1.2.0.tar.bz2 6014596
diff --git a/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r2 b/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r2
new file mode 100644
index 0000000..a78fe15
--- /dev/null
+++ b/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r2
@@ -0,0 +1,6 @@
+MD5 e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2 3295166
+RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 MesaLib-6.5.2.tar.bz2 3295166
+SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f MesaLib-6.5.2.tar.bz2 3295166
+MD5 ea291c89e68832d570d9d5e007218bd6 xorg-server-1.2.0.tar.bz2 6014596
+RMD160 0bbc5ccb5cbbe7627b4f09f17848b188e8be2a50 xorg-server-1.2.0.tar.bz2 6014596
+SHA256 e3e56b35ee13098f4ee79948beb20bfc9a06d1a7a35fb906405ff1531b92bb85 xorg-server-1.2.0.tar.bz2 6014596
diff --git a/x11-base/xorg-server/files/digest-xorg-server-1.3.0.0 b/x11-base/xorg-server/files/digest-xorg-server-1.3.0.0
new file mode 100644
index 0000000..e7c3cc0
--- /dev/null
+++ b/x11-base/xorg-server/files/digest-xorg-server-1.3.0.0
@@ -0,0 +1,6 @@
+MD5 e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2 3295166
+RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 MesaLib-6.5.2.tar.bz2 3295166
+SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f MesaLib-6.5.2.tar.bz2 3295166
+MD5 a51a7d482e3c689394755bb17bda8526 xorg-server-1.3.0.0.tar.bz2 5968263
+RMD160 1a4fecd73aed0d5adabe84066c24ce69dc2c2dc1 xorg-server-1.3.0.0.tar.bz2 5968263
+SHA256 93c656f142f37607c15372dd24c5de9eab82cd79c5d60449174a928d345c2975 xorg-server-1.3.0.0.tar.bz2 5968263
diff --git a/x11-base/xorg-server/files/xorg-conf-example.patch b/x11-base/xorg-server/files/xorg-conf-example.patch
new file mode 100644
index 0000000..8ec7476
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-conf-example.patch
@@ -0,0 +1,56 @@
+--- configure.ac.old 2006-09-24 11:30:40.000000000 -0600
++++ configure.ac 2006-09-24 11:31:11.000000000 -0600
+@@ -806,6 +806,7 @@
+
+ AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path])
+ AC_DEFINE_DIR(RGB_DB, RGBPATH, [Default RGB path])
++AC_DEFINE_DIR(BASE_FONT_PATH, FONTDIR, [Default base font path])
+ AC_DEFINE_DIR(DRI_DRIVER_PATH, DRI_DRIVER_PATH, [Default DRI driver path])
+ AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_STRING"], [Vendor name])
+ AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_STRING_SHORT"], [Short vendor name])
+--- hw/xfree86/xorgconf.cpp.old 2006-09-29 19:02:00.000000000 -0600
++++ hw/xfree86/xorgconf.cpp 2006-09-29 19:02:07.000000000 -0600
+@@ -54,10 +54,7 @@
+
+ FontPath LOCALFONTPATH
+ FontPath MISCFONTPATH
+- FontPath DPI75USFONTPATH
+- FontPath DPI100USFONTPATH
+ FontPath T1FONTPATH
+- FontPath TRUETYPEFONTPATH
++ FontPath TRUETYPEFONTPATH
+ FontPath CIDFONTPATH
+- FontPath SPFONTPATH
+ FontPath DPI75FONTPATH
+--- hw/xfree86/Makefile.am.old 2006-09-24 11:59:57.000000000 -0600
++++ hw/xfree86/Makefile.am 2006-09-24 11:59:51.000000000 -0600
+@@ -1,3 +1,5 @@
++include $(top_srcdir)/cpprules.in
++
+ if DRI
+ DRI_SUBDIR = dri
+ endif
+@@ -75,7 +77,23 @@
+ optionsdir = $(libdir)/X11
+ dist_options_DATA = Options
+
++BUILT_SOURCES = xorg.conf.example
++CLEAN = xorg.conf.example xorg.conf.example.pre
+ EXTRA_DIST = xorgconf.cpp
+
++CPP_FILES_FLAGS = \
++ -DRGBPATH=\"$(RGB_DB)\" \
++ -DLOCALFONTPATH="\"$(BASE_FONT_PATH)/local\"" \
++ -DMISCFONTPATH="\"$(BASE_FONT_PATH)/misc\"" \
++ -DT1FONTPATH="\"$(BASE_FONT_PATH)/Type1\"" \
++ -DTRUETYPEFONTPATH="\"$(BASE_FONT_PATH)/TTF\"" \
++ -DCIDFONTPATH="\"$(BASE_FONT_PATH)/CID\"" \
++ -DDPI75FONTPATH="\"$(BASE_FONT_PATH)/75dpi\"" \
++ -DDPI100FONTPATH="\"$(BASE_FONT_PATH)/100dpi\"" \
++ -DMODULEPATH=\"$(DEFAULT_MODULE_PATH)\"
++
+ relink:
+ rm -f Xorg && $(MAKE) Xorg
++
++xorg.conf.example.pre: xorgconf.cpp
++ cp $< $@
diff --git a/x11-base/xorg-server/files/xorg-server-1.1.1-install-libxf86config-headers.patch b/x11-base/xorg-server/files/xorg-server-1.1.1-install-libxf86config-headers.patch
new file mode 100644
index 0000000..07b5219
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.1.1-install-libxf86config-headers.patch
@@ -0,0 +1,19 @@
+diff --git a/hw/xfree86/parser/Makefile.am b/hw/xfree86/parser/Makefile.am
+index acda83d..6b9b62a 100644
+--- a/hw/xfree86/parser/Makefile.am
++++ b/hw/xfree86/parser/Makefile.am
+@@ -25,10 +25,12 @@ libxf86config_a_SOURCES = \
+
+ AM_CFLAGS = $(XORG_CFLAGS)
+
++sdk_HEADERS = \
++ xf86Optrec.h \
++ xf86Parser.h
++
+ EXTRA_DIST = \
+ Configint.h \
+ configProcs.h \
+- xf86Optrec.h \
+- xf86Parser.h \
+ xf86tokens.h \
+ cpconfig.c
diff --git a/x11-base/xorg-server/files/xorg-server-1.2.0-loongson.patch b/x11-base/xorg-server/files/xorg-server-1.2.0-loongson.patch
new file mode 100644
index 0000000..04ee66e
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.2.0-loongson.patch
@@ -0,0 +1,51 @@
+diff -urN xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h xorg-server-1.1.1/hw/xfree86/dri/sarea.h
+--- xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h 2006-07-06 02:31:40.000000000 +0800
++++ xorg-server-1.1.1/hw/xfree86/dri/sarea.h 2007-02-01 14:23:47.000000000 +0800
+@@ -44,6 +44,8 @@
+ /* SAREA area needs to be at least a page */
+ #if defined(__alpha__)
+ #define SAREA_MAX 0x2000
++#elif defined(__mips__)
++#define SAREA_MAX 0x4000
+ #elif defined(__ia64__)
+ #define SAREA_MAX 0x10000 /* 64kB */
+ #else
+diff -urN xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c
+--- xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c 2007-02-28 21:14:05.000000000 +0800
++++ xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c 2007-02-01 12:29:26.000000000 +0800
+@@ -540,9 +540,10 @@
+ _X_EXPORT Bool
+ xf86EnableIO(void)
+ {
+-#if defined(__powerpc__)
++#if defined(__powerpc__) || defined(__mips__)
+ int fd;
+ unsigned int ioBase_phys;
++ extern unsigned int IOPortBase;
+ #endif
+
+ if (ExtendedEnabled)
+@@ -569,7 +570,22 @@
+ #endif
+ }
+ close(fd);
+-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__)
++#elif defined(__mips__)
++ fd = open("/dev/mem", O_RDWR);
++ IOPortBase = (volatile unsigned char *)mmap(0, 0x20000,
++ PROT_READ | PROT_WRITE, MAP_SHARED, fd,
++ 0x1fd00000);
++ if (IOPortBase == MAP_FAILED) {
++ xf86Msg(X_WARNING,
++ "xf86EnableIOPorts: Failed to map iobase (%s)\n",
++ strerror(errno));
++ return FALSE;
++ }
++ close(fd);
++ xf86Msg(X_WARNING,
++ "xf86EnableIOPorts: map iobase (%x)\n",
++ IOPortBase);
++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__)
+ if (ioperm(0, 1024, 1) || iopl(3)) {
+ if (errno == ENODEV)
+ ErrorF("xf86EnableIOPorts: no I/O ports found\n");
diff --git a/x11-base/xorg-server/files/xorg-server-1.3.0.0-loongson.patch b/x11-base/xorg-server/files/xorg-server-1.3.0.0-loongson.patch
new file mode 100644
index 0000000..04ee66e
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.3.0.0-loongson.patch
@@ -0,0 +1,51 @@
+diff -urN xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h xorg-server-1.1.1/hw/xfree86/dri/sarea.h
+--- xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h 2006-07-06 02:31:40.000000000 +0800
++++ xorg-server-1.1.1/hw/xfree86/dri/sarea.h 2007-02-01 14:23:47.000000000 +0800
+@@ -44,6 +44,8 @@
+ /* SAREA area needs to be at least a page */
+ #if defined(__alpha__)
+ #define SAREA_MAX 0x2000
++#elif defined(__mips__)
++#define SAREA_MAX 0x4000
+ #elif defined(__ia64__)
+ #define SAREA_MAX 0x10000 /* 64kB */
+ #else
+diff -urN xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c
+--- xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c 2007-02-28 21:14:05.000000000 +0800
++++ xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c 2007-02-01 12:29:26.000000000 +0800
+@@ -540,9 +540,10 @@
+ _X_EXPORT Bool
+ xf86EnableIO(void)
+ {
+-#if defined(__powerpc__)
++#if defined(__powerpc__) || defined(__mips__)
+ int fd;
+ unsigned int ioBase_phys;
++ extern unsigned int IOPortBase;
+ #endif
+
+ if (ExtendedEnabled)
+@@ -569,7 +570,22 @@
+ #endif
+ }
+ close(fd);
+-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__)
++#elif defined(__mips__)
++ fd = open("/dev/mem", O_RDWR);
++ IOPortBase = (volatile unsigned char *)mmap(0, 0x20000,
++ PROT_READ | PROT_WRITE, MAP_SHARED, fd,
++ 0x1fd00000);
++ if (IOPortBase == MAP_FAILED) {
++ xf86Msg(X_WARNING,
++ "xf86EnableIOPorts: Failed to map iobase (%s)\n",
++ strerror(errno));
++ return FALSE;
++ }
++ close(fd);
++ xf86Msg(X_WARNING,
++ "xf86EnableIOPorts: map iobase (%x)\n",
++ IOPortBase);
++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__)
+ if (ioperm(0, 1024, 1) || iopl(3)) {
+ if (errno == ENODEV)
+ ErrorF("xf86EnableIOPorts: no I/O ports found\n");
diff --git a/x11-base/xorg-server/files/xorg-x11-server-1.1.1-mesa-6.5.1.patch b/x11-base/xorg-server/files/xorg-x11-server-1.1.1-mesa-6.5.1.patch
new file mode 100644
index 0000000..48f4380
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-x11-server-1.1.1-mesa-6.5.1.patch
@@ -0,0 +1,54 @@
+diff --git a/GL/mesa/main/Makefile.am b/GL/mesa/main/Makefile.am
+index 867fe57..4d5b0cd 100644
+--- a/GL/mesa/main/Makefile.am
++++ b/GL/mesa/main/Makefile.am
+@@ -29,6 +27,7 @@ nodist_libmain_la_SOURCES = accum.c \
+ api_loopback.c \
+ api_noop.c \
+ api_validate.c \
++ arrayobj.c \
+ attrib.c \
+ blend.c \
+ bufferobj.c \
+@@ -67,6 +66,7 @@ nodist_libmain_la_SOURCES = accum.c \
+ points.c \
+ polygon.c \
+ rastpos.c \
++ rbadaptors.c \
+ renderbuffer.c \
+ state.c \
+ stencil.c \
+diff --git a/GL/symlink-mesa.sh b/GL/symlink-mesa.sh
+index ccaa2a9..32f839a 100755
+--- a/GL/symlink-mesa.sh
++++ b/GL/symlink-mesa.sh
+@@ -88,8 +88,11 @@ symlink_mesa_main() {
+ action api_noop.h
+ action api_validate.c
+ action api_validate.h
++ action arrayobj.c
++ action arrayobj.h
+ action attrib.c
+ action attrib.h
++ action bitset.h
+ action blend.c
+ action blend.h
+ action bufferobj.c
+@@ -168,6 +171,8 @@ symlink_mesa_main() {
+ action polygon.h
+ action rastpos.c
+ action rastpos.h
++ action rbadaptors.c
++ action rbadaptors.h
+ action renderbuffer.c
+ action renderbuffer.h
+ action simple_list.h
+@@ -468,7 +468,7 @@ symlink_mesa_shader_slang_library() {
+ action slang_core_gc.h
+ action slang_fragment_builtin_gc.h
+ action slang_shader_syn.h
+- action slang_version_syn.h
++ action slang_pp_version_syn.h
+ action slang_vertex_builtin_gc.h
+ }
+
diff --git a/x11-base/xorg-server/files/xprint.init b/x11-base/xorg-server/files/xprint.init
new file mode 100644
index 0000000..e5fed1b
--- /dev/null
+++ b/x11-base/xorg-server/files/xprint.init
@@ -0,0 +1,30 @@
+#!/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/xprint.init,v 1.1 2006/03/24 18:45:00 spyderous Exp $
+
+opts="${opts} get_xpserverlist lsprinters"
+
+depend() {
+ use cupsd
+}
+
+start() {
+ ebegin "Starting xprint"
+ /usr/lib/misc/xprint start > /dev/null
+ eend $?
+}
+
+get_xpserverlist() {
+ /usr/lib/misc/xprint get_xpserverlist
+}
+
+lsprinters() {
+ /usr/lib/misc/xprint lsprinters
+}
+
+stop() {
+ ebegin "Stopping xprint"
+ /usr/lib/misc/xprint stop > /dev/null
+ eend $?
+}
diff --git a/x11-base/xorg-server/metadata.xml b/x11-base/xorg-server/metadata.xml
new file mode 100644
index 0000000..01c4c00
--- /dev/null
+++ b/x11-base/xorg-server/metadata.xml
@@ -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>
diff --git a/x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild b/x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild
new file mode 100644
index 0000000..b51b108
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild
@@ -0,0 +1,530 @@
+# Copyright 1999-2007 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.2.0-r1.ebuild,v 1.1 2007/02/19 21:34:17 joshuabaergen Exp $
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+
+inherit x-modular multilib
+
+OPENGL_DIR="xorg-x11"
+
+MESA_PN="Mesa"
+MESA_PV="6.5.2"
+MESA_P="${MESA_PN}-${MESA_PV}"
+MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}"
+
+SRC_URI="${SRC_URI}
+ mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2
+ http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2"
+DESCRIPTION="X.Org X servers"
+# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work
+RESTRICT="stricter"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE_INPUT_DEVICES="
+ input_devices_acecad
+ input_devices_aiptek
+ input_devices_calcomp
+ input_devices_citron
+ input_devices_digitaledge
+ input_devices_dmc
+ input_devices_dynapro
+ input_devices_elo2300
+ input_devices_elographics
+ input_devices_evdev
+ input_devices_fpit
+ input_devices_hyperpen
+ input_devices_jamstudio
+ input_devices_joystick
+ input_devices_keyboard
+ input_devices_magellan
+ input_devices_microtouch
+ input_devices_mouse
+ input_devices_mutouch
+ input_devices_palmax
+ input_devices_penmount
+ input_devices_spaceorb
+ input_devices_summa
+ input_devices_tek4957
+ input_devices_ur98
+ input_devices_vmmouse
+ input_devices_void
+
+ input_devices_synaptics
+ input_devices_wacom"
+IUSE_VIDEO_CARDS="
+ video_cards_apm
+ video_cards_ark
+ video_cards_chips
+ video_cards_cirrus
+ video_cards_cyrix
+ video_cards_dummy
+ video_cards_epson
+ video_cards_fbdev
+ video_cards_glint
+ video_cards_i128
+ video_cards_i740
+ video_cards_i810
+ video_cards_impact
+ video_cards_imstt
+ video_cards_mach64
+ video_cards_mga
+ video_cards_neomagic
+ video_cards_newport
+ video_cards_nsc
+ video_cards_nv
+ video_cards_r128
+ video_cards_radeon
+ video_cards_rendition
+ video_cards_s3
+ video_cards_s3virge
+ video_cards_savage
+ video_cards_siliconmotion
+ video_cards_sis
+ video_cards_sisusb
+ video_cards_sunbw2
+ video_cards_suncg14
+ video_cards_suncg3
+ video_cards_suncg6
+ video_cards_sunffb
+ video_cards_sunleo
+ video_cards_suntcx
+ video_cards_tdfx
+ video_cards_tga
+ video_cards_trident
+ video_cards_tseng
+ video_cards_v4l
+ video_cards_vesa
+ video_cards_vga
+ video_cards_via
+ video_cards_vmware
+ video_cards_voodoo
+
+ video_cards_fglrx
+ video_cards_nvidia"
+IUSE_SERVERS="dmx kdrive xorg"
+IUSE="${IUSE_VIDEO_CARDS}
+ ${IUSE_INPUT_DEVICES}
+ ${IUSE_SERVERS}
+ 3dfx
+ dri ipv6 minimal nptl sdl xprint"
+RDEPEND=">=x11-libs/libXfont-1.2.5
+ x11-libs/xtrans
+ x11-libs/libXau
+ x11-libs/libXext
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ x11-libs/libXdmcp
+ x11-libs/libXmu
+ x11-libs/libXrender
+ x11-libs/libXi
+ media-libs/freetype
+ >=media-libs/mesa-6.5.2
+ media-fonts/font-adobe-75dpi
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ x11-misc/xbitmaps
+ || ( x11-misc/xkeyboard-config x11-misc/xkbdata )
+ x11-apps/iceauth
+ x11-apps/rgb
+ x11-apps/xauth
+ x11-apps/xinit
+ app-admin/eselect-opengl
+ x11-libs/libXaw
+ x11-libs/libXpm
+ x11-libs/libXxf86misc
+ x11-libs/libXxf86vm
+ dmx? ( x11-libs/libdmx )
+ !minimal? ( x11-libs/libXtst
+ x11-libs/libXres )
+ >=x11-libs/libxkbui-1.0.2
+ x11-libs/liblbxutil
+ kdrive? ( sdl? ( media-libs/libsdl ) )"
+ # Xres is dmx-dependent, xkbui is xorgcfg-dependent
+ # Xaw is dmx- and xorgcfg-dependent
+ # Xpm is dmx- and xorgcfg-dependent, pulls in Xt
+ # Xxf86misc and Xxf86vm are xorgcfg-dependent
+ # liblbxutil is lbx- dependent
+DEPEND="${RDEPEND}
+ x11-proto/randrproto
+ x11-proto/renderproto
+ >=x11-proto/fixesproto-4
+ x11-proto/damageproto
+ x11-proto/xextproto
+ x11-proto/xproto
+ x11-proto/xf86dgaproto
+ x11-proto/xf86miscproto
+ x11-proto/xf86rushproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xf86bigfontproto
+ >=x11-proto/compositeproto-0.3
+ x11-proto/recordproto
+ x11-proto/resourceproto
+ x11-proto/videoproto
+ >=x11-proto/scrnsaverproto-1.1.0
+ x11-proto/evieext
+ x11-proto/trapproto
+ >=x11-proto/xineramaproto-1.1-r1
+ x11-proto/fontsproto
+ >=x11-proto/kbproto-1.0.3
+ x11-proto/inputproto
+ x11-proto/bigreqsproto
+ x11-proto/xcmiscproto
+ >=x11-proto/glproto-1.4.8
+ dmx? ( x11-proto/dmxproto )
+ dri? ( x11-proto/xf86driproto
+ >=x11-libs/libdrm-2.3 )
+ xprint? ( x11-proto/printproto
+ x11-apps/mkfontdir
+ x11-apps/mkfontscale
+ x11-apps/xplsprinters )"
+
+# Drivers
+PDEPEND="
+ xorg? (
+ input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.1.0 )
+ input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.0.1 )
+ input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.0 )
+ input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.0 )
+ input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.0 )
+ input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.0 )
+ input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.0 )
+ input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.0 )
+ input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.1.0 )
+ input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-1.1.1 )
+ input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.1.0 )
+ input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 )
+ input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 )
+ input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 )
+ input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.1.0 )
+ input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.0 )
+ input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.0 )
+ input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 )
+ input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.1.0 )
+ input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.1.0 )
+ input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.1.0 )
+ input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.0 )
+ input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.1.0 )
+ input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.1.0 )
+ input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 )
+ input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.4.0 )
+ input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.0 )
+
+ input_devices_synaptics? ( x11-drivers/synaptics )
+ input_devices_wacom? ( x11-drivers/linuxwacom )
+
+ video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.1.1 )
+ video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.6.0 )
+ video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.1.1 )
+ video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.1.0 )
+ video_cards_cyrix? ( >=x11-drivers/xf86-video-cyrix-1.1.0 )
+ video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.2.0 )
+ video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.2.0 )
+ video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.1.1 )
+ video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.2.0 )
+ video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.1.0 )
+ video_cards_i810? ( >=x11-drivers/xf86-video-i810-1.6.0 )
+ video_cards_impact? ( >=x11-drivers/xf86-video-impact-0.2.0 )
+ video_cards_imstt? ( >=x11-drivers/xf86-video-imstt-1.1.0 )
+ video_cards_mach64? ( >=x11-drivers/xf86-video-ati-6.6.0 )
+ video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.1 )
+ video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.1.1 )
+ video_cards_newport? ( >=x11-drivers/xf86-video-newport-0.2.0 )
+ video_cards_nsc? ( >=x11-drivers/xf86-video-nsc-2.8.1 )
+ video_cards_nv? ( >=x11-drivers/xf86-video-nv-1.1.1 )
+ video_cards_r128? ( >=x11-drivers/xf86-video-ati-6.6.0 )
+ video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.6.0 )
+ video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.1.0 )
+ video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.4.1 )
+ video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.9.1 )
+ video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.1.1 )
+ video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.4.1 )
+ video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.9.1 )
+ video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.8.1 )
+ video_cards_sunbw2? ( >=x11-drivers/xf86-video-sunbw2-1.1.0 )
+ video_cards_suncg14? ( >=x11-drivers/xf86-video-suncg14-1.1.0 )
+ video_cards_suncg3? ( >=x11-drivers/xf86-video-suncg3-1.1.0 )
+ video_cards_suncg6? ( >=x11-drivers/xf86-video-suncg6-1.1.0 )
+ video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.1.0 )
+ video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.1.0 )
+ video_cards_suntcx? ( >=x11-drivers/xf86-video-suntcx-1.1.0 )
+ video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.2.1 )
+ video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.1.0 )
+ video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.2.1 )
+ video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.1.0 )
+ video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.1.1 )
+ video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-1.1.0 )
+ video_cards_vga? ( >=x11-drivers/xf86-video-vga-4.1.0 )
+ video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 )
+ video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 )
+ video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 )
+
+ video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) )
+ video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.27.10 )
+ video_cards_nvidia? ( || (
+ >=x11-drivers/nvidia-drivers-1.0.8774
+ >=x11-drivers/nvidia-legacy-drivers-1.0.7184
+ )
+ )
+ )"
+LICENSE="${LICENSE} MIT"
+
+PATCHES="${FILESDIR}/${PV}-server-damage-version.patch
+ ${FILESDIR}/${PV}-server-randr-version.patch
+ ${FILESDIR}/${P}-loongson.patch"
+
+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
+
+ # Only Xorg and Xgl support this, and we won't build Xgl
+ # until it merges to trunk
+ if use xorg; then
+ conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}"
+ 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 !minimal xvfb)
+ $(use_enable !minimal xnest)
+ $(use_enable !minimal install-libxf86config)
+ $(use_enable dri)
+ $(use_enable xorg)
+ $(use_enable xprint)
+ $(use_enable nptl glx-tls)
+ $(use_enable !minimal xorgcfg)
+ --sysconfdir=/etc/X11
+ --localstatedir=/var
+ --enable-install-setuid
+ --with-fontdir=/usr/share/fonts
+ ${conf_opts}"
+
+ local diemsg="You must build xorg-server and mesa with the same nptl USE setting."
+ if built_with_use media-libs/mesa nptl; then
+ use nptl || die "${diemsg}"
+ else
+ use nptl && die "${diemsg}"
+ fi
+
+ # (#121394) Causes window corruption
+ filter-flags -fweb
+
+ # Nothing else provides new enough glxtokens.h
+ ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
+ OLD_IMPLEM="$(eselect opengl show)"
+ eselect opengl set --impl-headers ${OPENGL_DIR}
+}
+
+src_unpack() {
+ x-modular_specs_check
+ x-modular_dri_check
+ x-modular_unpack_source
+ x-modular_patch_source
+
+ # Set up kdrive servers to build
+ if use kdrive; then
+ kdrive_setup
+ fi
+
+ # Make sure eautoreconf gets run if we need the autoconf/make
+ # changes.
+ if [[ ${SNAPSHOT} != "yes" ]]; then
+ if use kdrive; then
+ eautoreconf
+ fi
+ fi
+ x-modular_reconf_source
+}
+
+src_install() {
+ x-modular_src_install
+
+ dynamic_libgl_install
+
+ server_based_install
+
+ # Install video mode files for system-config-display
+ insinto /usr/share/xorg
+ doins hw/xfree86/common/{extra,vesa}modes \
+ || die "couldn't install extra modes"
+
+ # Bug #151421 - this file is not built with USE="minimal"
+ # Bug #151670 - this file is also not build if USE="-xorg"
+ if ! use minimal && use xorg; then
+ # Install xorg.conf.example
+ insinto /etc/X11
+ doins hw/xfree86/xorg.conf.example \
+ || die "couldn't install xorg.conf.example"
+ fi
+}
+
+pkg_postinst() {
+ switch_opengl_implem
+
+ # Bug #135544
+ ewarn "Users of reduced blanking now need:"
+ ewarn " Option \"ReducedBlanking\""
+ ewarn "In the relevant Monitor section(s)."
+ ewarn "Make sure your reduced blanking modelines are safe!"
+}
+
+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
+}
+
+kdrive_setup() {
+ local card real_card disable_card kdrive_fbdev kdrive_vesa
+
+ einfo "Removing unused kdrive drivers ..."
+
+ # Some kdrive servers require fbdev and vesa
+ kdrive_fbdev="radeon neomagic sis siliconmotion"
+ # Some kdrive servers require just vesa
+ kdrive_vesa="chips mach64 mga nv glint r128 via"
+
+ for card in ${IUSE_VIDEO_CARDS}; do
+ real_card=${card#video_cards_}
+
+ # Differences between VIDEO_CARDS name and kdrive server name
+ real_card=${real_card/glint/pm2}
+ real_card=${real_card/radeon/ati}
+ real_card=${real_card/%nv/nvidia}
+ real_card=${real_card/siliconmotion/smi}
+ real_card=${real_card/%sis/sis300}
+
+ disable_card=0
+
+ # Check whether it's a valid kdrive server before we waste time
+ # on the rest of this
+ if ! grep -q -o "\b${real_card}\b" ${S}/hw/kdrive/Makefile.am; then
+ continue
+ fi
+
+ if ! use ${card}; then
+ if use x86; then
+ # Some kdrive servers require fbdev and vesa
+ for i in ${kdrive_fbdev}; do
+ if use video_cards_${i}; then
+ if [[ ${real_card} = fbdev ]] \
+ || [[ ${real_card} = vesa ]]; then
+ continue 2 # Don't disable
+ fi
+ fi
+ done
+
+ # Some kdrive servers require just vesa
+ for i in ${kdrive_vesa}; do
+ if use video_cards_${i}; then
+ if [[ ${real_card} = vesa ]]; then
+ continue 2 # Don't disable
+ fi
+ fi
+ done
+ fi
+ disable_card=1
+ # Bug #150052
+ # fbdev is the only VIDEO_CARDS setting that works on non-x86
+ elif ! use x86 \
+ && [[ ${real_card} != fbdev ]]; then
+ ewarn " $real_card does not work on your architecture; disabling."
+ disable_card=1
+ fi
+
+ if [[ $disable_card = 1 ]]; then
+ ebegin " ${real_card}"
+ sed -i \
+ -e "s:\b${real_card}\b::g" \
+ ${S}/hw/kdrive/Makefile.am \
+ || die "sed of ${real_card} failed"
+ eend
+ fi
+
+ done
+
+ # smi and via are the only things on line 2. If line 2 ends up blank,
+ # we need to get rid of the backslash at the end of line 1.
+ if ! use video_cards_siliconmotion && ! use video_cards_via; then
+ sed -i \
+ -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \
+ ${S}/hw/kdrive/Makefile.am
+ 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/libglx*; 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() {
+ use xprint && xprint_src_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 --use-old ${OPENGL_DIR}
+ eselect opengl set ${OLD_IMPLEM}
+}
+
+xprint_src_install() {
+ # RH-style init script, we provide a wrapper
+ exeinto /usr/$(get_libdir)/misc
+ doexe ${S}/hw/xprint/etc/init.d/xprint
+ # Install the wrapper
+ newinitd ${FILESDIR}/xprint.init xprint
+ # Install profile scripts
+ insinto /etc/profile.d
+ doins ${S}/hw/xprint/etc/profile.d/xprint*
+ insinto /etc/X11/xinit/xinitrc.d
+ doins ${S}/hw/xprint/etc/Xsession.d/92xprint-xpserverlist
+ # Patch profile scripts
+ sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \
+ get_xpserverlist:g" -i ${D}/etc/profile.d/xprint* \
+ ${D}/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist
+ # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo
+ dodoc ${D}/etc/profile.d/xprint*
+ rm -f ${D}/etc/profile.d/xprint*
+}
+
+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."
+}
diff --git a/x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild b/x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild
new file mode 100644
index 0000000..a55b6bb
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild
@@ -0,0 +1,531 @@
+# Copyright 1999-2007 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.2.0-r2.ebuild,v 1.1 2007/03/17 00:04:21 joshuabaergen Exp $
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+
+inherit x-modular multilib
+
+OPENGL_DIR="xorg-x11"
+
+MESA_PN="Mesa"
+MESA_PV="6.5.2"
+MESA_P="${MESA_PN}-${MESA_PV}"
+MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}"
+
+SRC_URI="${SRC_URI}
+ mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2
+ http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2"
+DESCRIPTION="X.Org X servers"
+# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work
+RESTRICT="stricter"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE_INPUT_DEVICES="
+ input_devices_acecad
+ input_devices_aiptek
+ input_devices_calcomp
+ input_devices_citron
+ input_devices_digitaledge
+ input_devices_dmc
+ input_devices_dynapro
+ input_devices_elo2300
+ input_devices_elographics
+ input_devices_evdev
+ input_devices_fpit
+ input_devices_hyperpen
+ input_devices_jamstudio
+ input_devices_joystick
+ input_devices_keyboard
+ input_devices_magellan
+ input_devices_microtouch
+ input_devices_mouse
+ input_devices_mutouch
+ input_devices_palmax
+ input_devices_penmount
+ input_devices_spaceorb
+ input_devices_summa
+ input_devices_tek4957
+ input_devices_ur98
+ input_devices_vmmouse
+ input_devices_void
+
+ input_devices_synaptics
+ input_devices_wacom"
+IUSE_VIDEO_CARDS="
+ video_cards_apm
+ video_cards_ark
+ video_cards_chips
+ video_cards_cirrus
+ video_cards_cyrix
+ video_cards_dummy
+ video_cards_epson
+ video_cards_fbdev
+ video_cards_glint
+ video_cards_i128
+ video_cards_i740
+ video_cards_i810
+ video_cards_impact
+ video_cards_imstt
+ video_cards_mach64
+ video_cards_mga
+ video_cards_neomagic
+ video_cards_newport
+ video_cards_nsc
+ video_cards_nv
+ video_cards_r128
+ video_cards_radeon
+ video_cards_rendition
+ video_cards_s3
+ video_cards_s3virge
+ video_cards_savage
+ video_cards_siliconmotion
+ video_cards_sis
+ video_cards_sisusb
+ video_cards_sunbw2
+ video_cards_suncg14
+ video_cards_suncg3
+ video_cards_suncg6
+ video_cards_sunffb
+ video_cards_sunleo
+ video_cards_suntcx
+ video_cards_tdfx
+ video_cards_tga
+ video_cards_trident
+ video_cards_tseng
+ video_cards_v4l
+ video_cards_vesa
+ video_cards_vga
+ video_cards_via
+ video_cards_vmware
+ video_cards_voodoo
+
+ video_cards_fglrx
+ video_cards_nvidia"
+IUSE_SERVERS="dmx kdrive xorg"
+IUSE="${IUSE_VIDEO_CARDS}
+ ${IUSE_INPUT_DEVICES}
+ ${IUSE_SERVERS}
+ 3dfx
+ dri ipv6 minimal nptl sdl xprint"
+RDEPEND=">=x11-libs/libXfont-1.2.5
+ x11-libs/xtrans
+ x11-libs/libXau
+ x11-libs/libXext
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ x11-libs/libXdmcp
+ x11-libs/libXmu
+ x11-libs/libXrender
+ x11-libs/libXi
+ media-libs/freetype
+ >=media-libs/mesa-6.5.2
+ media-fonts/font-adobe-75dpi
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ x11-misc/xbitmaps
+ || ( x11-misc/xkeyboard-config x11-misc/xkbdata )
+ x11-apps/iceauth
+ x11-apps/rgb
+ x11-apps/xauth
+ x11-apps/xinit
+ app-admin/eselect-opengl
+ x11-libs/libXaw
+ x11-libs/libXpm
+ x11-libs/libXxf86misc
+ x11-libs/libXxf86vm
+ dmx? ( x11-libs/libdmx )
+ !minimal? ( x11-libs/libXtst
+ x11-libs/libXres )
+ >=x11-libs/libxkbui-1.0.2
+ x11-libs/liblbxutil
+ kdrive? ( sdl? ( media-libs/libsdl ) )"
+ # Xres is dmx-dependent, xkbui is xorgcfg-dependent
+ # Xaw is dmx- and xorgcfg-dependent
+ # Xpm is dmx- and xorgcfg-dependent, pulls in Xt
+ # Xxf86misc and Xxf86vm are xorgcfg-dependent
+ # liblbxutil is lbx- dependent
+DEPEND="${RDEPEND}
+ x11-proto/randrproto
+ x11-proto/renderproto
+ >=x11-proto/fixesproto-4
+ x11-proto/damageproto
+ x11-proto/xextproto
+ x11-proto/xproto
+ x11-proto/xf86dgaproto
+ x11-proto/xf86miscproto
+ x11-proto/xf86rushproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xf86bigfontproto
+ >=x11-proto/compositeproto-0.3
+ x11-proto/recordproto
+ x11-proto/resourceproto
+ x11-proto/videoproto
+ >=x11-proto/scrnsaverproto-1.1.0
+ x11-proto/evieext
+ x11-proto/trapproto
+ >=x11-proto/xineramaproto-1.1-r1
+ x11-proto/fontsproto
+ >=x11-proto/kbproto-1.0.3
+ x11-proto/inputproto
+ x11-proto/bigreqsproto
+ x11-proto/xcmiscproto
+ >=x11-proto/glproto-1.4.8
+ dmx? ( x11-proto/dmxproto )
+ dri? ( x11-proto/xf86driproto
+ >=x11-libs/libdrm-2.3 )
+ xprint? ( x11-proto/printproto
+ x11-apps/mkfontdir
+ x11-apps/mkfontscale
+ x11-apps/xplsprinters )"
+
+# Drivers
+PDEPEND="
+ xorg? (
+ input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.1.0 )
+ input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.0.1 )
+ input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.0 )
+ input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.0 )
+ input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.0 )
+ input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.0 )
+ input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.0 )
+ input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.0 )
+ input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.1.0 )
+ input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-1.1.1 )
+ input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.1.0 )
+ input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 )
+ input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 )
+ input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 )
+ input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.1.0 )
+ input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.0 )
+ input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.0 )
+ input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 )
+ input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.1.0 )
+ input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.1.0 )
+ input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.1.0 )
+ input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.0 )
+ input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.1.0 )
+ input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.1.0 )
+ input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 )
+ input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.4.0 )
+ input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.0 )
+
+ input_devices_synaptics? ( x11-drivers/synaptics )
+ input_devices_wacom? ( x11-drivers/linuxwacom )
+
+ video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.1.1 )
+ video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.6.0 )
+ video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.1.1 )
+ video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.1.0 )
+ video_cards_cyrix? ( >=x11-drivers/xf86-video-cyrix-1.1.0 )
+ video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.2.0 )
+ video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.2.0 )
+ video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.1.1 )
+ video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.2.0 )
+ video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.1.0 )
+ video_cards_i810? ( >=x11-drivers/xf86-video-i810-1.6.0 )
+ video_cards_impact? ( >=x11-drivers/xf86-video-impact-0.2.0 )
+ video_cards_imstt? ( >=x11-drivers/xf86-video-imstt-1.1.0 )
+ video_cards_mach64? ( >=x11-drivers/xf86-video-ati-6.6.0 )
+ video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.1 )
+ video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.1.1 )
+ video_cards_newport? ( >=x11-drivers/xf86-video-newport-0.2.0 )
+ video_cards_nsc? ( >=x11-drivers/xf86-video-nsc-2.8.1 )
+ video_cards_nv? ( >=x11-drivers/xf86-video-nv-1.1.1 )
+ video_cards_r128? ( >=x11-drivers/xf86-video-ati-6.6.0 )
+ video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.6.0 )
+ video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.1.0 )
+ video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.4.1 )
+ video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.9.1 )
+ video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.1.1 )
+ video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.4.1 )
+ video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.9.1 )
+ video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.8.1 )
+ video_cards_sunbw2? ( >=x11-drivers/xf86-video-sunbw2-1.1.0 )
+ video_cards_suncg14? ( >=x11-drivers/xf86-video-suncg14-1.1.0 )
+ video_cards_suncg3? ( >=x11-drivers/xf86-video-suncg3-1.1.0 )
+ video_cards_suncg6? ( >=x11-drivers/xf86-video-suncg6-1.1.0 )
+ video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.1.0 )
+ video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.1.0 )
+ video_cards_suntcx? ( >=x11-drivers/xf86-video-suntcx-1.1.0 )
+ video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.2.1 )
+ video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.1.0 )
+ video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.2.1 )
+ video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.1.0 )
+ video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.1.1 )
+ video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-1.1.0 )
+ video_cards_vga? ( >=x11-drivers/xf86-video-vga-4.1.0 )
+ video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 )
+ video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 )
+ video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 )
+
+ video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) )
+ video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.27.10 )
+ video_cards_nvidia? ( || (
+ >=x11-drivers/nvidia-drivers-1.0.8774
+ >=x11-drivers/nvidia-legacy-drivers-1.0.7184
+ )
+ )
+ )"
+LICENSE="${LICENSE} MIT"
+
+PATCHES="${FILESDIR}/${PV}-server-damage-version.patch
+ ${FILESDIR}/${PV}-server-randr-version.patch
+ ${FILESDIR}/${PV}-client-leak.patch
+ ${FILESDIR}/${P}-loongson.patch"
+
+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
+
+ # Only Xorg and Xgl support this, and we won't build Xgl
+ # until it merges to trunk
+ if use xorg; then
+ conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}"
+ 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 !minimal xvfb)
+ $(use_enable !minimal xnest)
+ $(use_enable !minimal install-libxf86config)
+ $(use_enable dri)
+ $(use_enable xorg)
+ $(use_enable xprint)
+ $(use_enable nptl glx-tls)
+ $(use_enable !minimal xorgcfg)
+ --sysconfdir=/etc/X11
+ --localstatedir=/var
+ --enable-install-setuid
+ --with-fontdir=/usr/share/fonts
+ ${conf_opts}"
+
+ local diemsg="You must build xorg-server and mesa with the same nptl USE setting."
+ if built_with_use media-libs/mesa nptl; then
+ use nptl || die "${diemsg}"
+ else
+ use nptl && die "${diemsg}"
+ fi
+
+ # (#121394) Causes window corruption
+ filter-flags -fweb
+
+ # Nothing else provides new enough glxtokens.h
+ ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
+ OLD_IMPLEM="$(eselect opengl show)"
+ eselect opengl set --impl-headers ${OPENGL_DIR}
+}
+
+src_unpack() {
+ x-modular_specs_check
+ x-modular_dri_check
+ x-modular_unpack_source
+ x-modular_patch_source
+
+ # Set up kdrive servers to build
+ if use kdrive; then
+ kdrive_setup
+ fi
+
+ # Make sure eautoreconf gets run if we need the autoconf/make
+ # changes.
+ if [[ ${SNAPSHOT} != "yes" ]]; then
+ if use kdrive; then
+ eautoreconf
+ fi
+ fi
+ x-modular_reconf_source
+}
+
+src_install() {
+ x-modular_src_install
+
+ dynamic_libgl_install
+
+ server_based_install
+
+ # Install video mode files for system-config-display
+ insinto /usr/share/xorg
+ doins hw/xfree86/common/{extra,vesa}modes \
+ || die "couldn't install extra modes"
+
+ # Bug #151421 - this file is not built with USE="minimal"
+ # Bug #151670 - this file is also not build if USE="-xorg"
+ if ! use minimal && use xorg; then
+ # Install xorg.conf.example
+ insinto /etc/X11
+ doins hw/xfree86/xorg.conf.example \
+ || die "couldn't install xorg.conf.example"
+ fi
+}
+
+pkg_postinst() {
+ switch_opengl_implem
+
+ # Bug #135544
+ ewarn "Users of reduced blanking now need:"
+ ewarn " Option \"ReducedBlanking\""
+ ewarn "In the relevant Monitor section(s)."
+ ewarn "Make sure your reduced blanking modelines are safe!"
+}
+
+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
+}
+
+kdrive_setup() {
+ local card real_card disable_card kdrive_fbdev kdrive_vesa
+
+ einfo "Removing unused kdrive drivers ..."
+
+ # Some kdrive servers require fbdev and vesa
+ kdrive_fbdev="radeon neomagic sis siliconmotion"
+ # Some kdrive servers require just vesa
+ kdrive_vesa="chips mach64 mga nv glint r128 via"
+
+ for card in ${IUSE_VIDEO_CARDS}; do
+ real_card=${card#video_cards_}
+
+ # Differences between VIDEO_CARDS name and kdrive server name
+ real_card=${real_card/glint/pm2}
+ real_card=${real_card/radeon/ati}
+ real_card=${real_card/%nv/nvidia}
+ real_card=${real_card/siliconmotion/smi}
+ real_card=${real_card/%sis/sis300}
+
+ disable_card=0
+
+ # Check whether it's a valid kdrive server before we waste time
+ # on the rest of this
+ if ! grep -q -o "\b${real_card}\b" ${S}/hw/kdrive/Makefile.am; then
+ continue
+ fi
+
+ if ! use ${card}; then
+ if use x86; then
+ # Some kdrive servers require fbdev and vesa
+ for i in ${kdrive_fbdev}; do
+ if use video_cards_${i}; then
+ if [[ ${real_card} = fbdev ]] \
+ || [[ ${real_card} = vesa ]]; then
+ continue 2 # Don't disable
+ fi
+ fi
+ done
+
+ # Some kdrive servers require just vesa
+ for i in ${kdrive_vesa}; do
+ if use video_cards_${i}; then
+ if [[ ${real_card} = vesa ]]; then
+ continue 2 # Don't disable
+ fi
+ fi
+ done
+ fi
+ disable_card=1
+ # Bug #150052
+ # fbdev is the only VIDEO_CARDS setting that works on non-x86
+ elif ! use x86 \
+ && [[ ${real_card} != fbdev ]]; then
+ ewarn " $real_card does not work on your architecture; disabling."
+ disable_card=1
+ fi
+
+ if [[ $disable_card = 1 ]]; then
+ ebegin " ${real_card}"
+ sed -i \
+ -e "s:\b${real_card}\b::g" \
+ ${S}/hw/kdrive/Makefile.am \
+ || die "sed of ${real_card} failed"
+ eend
+ fi
+
+ done
+
+ # smi and via are the only things on line 2. If line 2 ends up blank,
+ # we need to get rid of the backslash at the end of line 1.
+ if ! use video_cards_siliconmotion && ! use video_cards_via; then
+ sed -i \
+ -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \
+ ${S}/hw/kdrive/Makefile.am
+ 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/libglx*; 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() {
+ use xprint && xprint_src_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 --use-old ${OPENGL_DIR}
+ eselect opengl set ${OLD_IMPLEM}
+}
+
+xprint_src_install() {
+ # RH-style init script, we provide a wrapper
+ exeinto /usr/$(get_libdir)/misc
+ doexe ${S}/hw/xprint/etc/init.d/xprint
+ # Install the wrapper
+ newinitd ${FILESDIR}/xprint.init xprint
+ # Install profile scripts
+ insinto /etc/profile.d
+ doins ${S}/hw/xprint/etc/profile.d/xprint*
+ insinto /etc/X11/xinit/xinitrc.d
+ doins ${S}/hw/xprint/etc/Xsession.d/92xprint-xpserverlist
+ # Patch profile scripts
+ sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \
+ get_xpserverlist:g" -i ${D}/etc/profile.d/xprint* \
+ ${D}/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist
+ # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo
+ dodoc ${D}/etc/profile.d/xprint*
+ rm -f ${D}/etc/profile.d/xprint*
+}
+
+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."
+}
diff --git a/x11-base/xorg-server/xorg-server-1.3.0.0.ebuild b/x11-base/xorg-server/xorg-server-1.3.0.0.ebuild
new file mode 100644
index 0000000..48e94c2
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-1.3.0.0.ebuild
@@ -0,0 +1,527 @@
+# Copyright 1999-2007 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.3.0.0.ebuild,v 1.7 2007/05/05 16:07:09 joshuabaergen Exp $
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+
+inherit x-modular multilib
+
+OPENGL_DIR="xorg-x11"
+
+MESA_PN="Mesa"
+MESA_PV="6.5.2"
+MESA_P="${MESA_PN}-${MESA_PV}"
+MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}"
+
+SRC_URI="${SRC_URI}
+ mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2
+ http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2"
+DESCRIPTION="X.Org X servers"
+# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work
+RESTRICT="stricter"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE_INPUT_DEVICES="
+ input_devices_acecad
+ input_devices_aiptek
+ input_devices_calcomp
+ input_devices_citron
+ input_devices_digitaledge
+ input_devices_dmc
+ input_devices_dynapro
+ input_devices_elo2300
+ input_devices_elographics
+ input_devices_evdev
+ input_devices_fpit
+ input_devices_hyperpen
+ input_devices_jamstudio
+ input_devices_joystick
+ input_devices_keyboard
+ input_devices_magellan
+ input_devices_microtouch
+ input_devices_mouse
+ input_devices_mutouch
+ input_devices_palmax
+ input_devices_penmount
+ input_devices_spaceorb
+ input_devices_summa
+ input_devices_tek4957
+ input_devices_ur98
+ input_devices_vmmouse
+ input_devices_void
+
+ input_devices_synaptics
+ input_devices_wacom"
+IUSE_VIDEO_CARDS="
+ video_cards_apm
+ video_cards_ark
+ video_cards_chips
+ video_cards_cirrus
+ video_cards_cyrix
+ video_cards_dummy
+ video_cards_epson
+ video_cards_fbdev
+ video_cards_glint
+ video_cards_i128
+ video_cards_i740
+ video_cards_i810
+ video_cards_impact
+ video_cards_imstt
+ video_cards_mach64
+ video_cards_mga
+ video_cards_neomagic
+ video_cards_newport
+ video_cards_nsc
+ video_cards_nv
+ video_cards_r128
+ video_cards_radeon
+ video_cards_rendition
+ video_cards_s3
+ video_cards_s3virge
+ video_cards_savage
+ video_cards_siliconmotion
+ video_cards_sis
+ video_cards_sisusb
+ video_cards_sunbw2
+ video_cards_suncg14
+ video_cards_suncg3
+ video_cards_suncg6
+ video_cards_sunffb
+ video_cards_sunleo
+ video_cards_suntcx
+ video_cards_tdfx
+ video_cards_tga
+ video_cards_trident
+ video_cards_tseng
+ video_cards_v4l
+ video_cards_vesa
+ video_cards_vga
+ video_cards_via
+ video_cards_vmware
+ video_cards_voodoo
+ video_cards_nvidia"
+IUSE_SERVERS="dmx kdrive xorg"
+IUSE="${IUSE_VIDEO_CARDS}
+ ${IUSE_INPUT_DEVICES}
+ ${IUSE_SERVERS}
+ 3dfx
+ dri ipv6 minimal nptl sdl xprint"
+RDEPEND=">=x11-libs/libXfont-1.2.5
+ x11-libs/xtrans
+ x11-libs/libXau
+ x11-libs/libXext
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ x11-libs/libXdmcp
+ x11-libs/libXmu
+ x11-libs/libXrender
+ x11-libs/libXi
+ media-libs/freetype
+ >=media-libs/mesa-6.5.2
+ media-fonts/font-adobe-75dpi
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ x11-misc/xbitmaps
+ || ( x11-misc/xkeyboard-config x11-misc/xkbdata )
+ x11-apps/iceauth
+ x11-apps/rgb
+ x11-apps/xauth
+ x11-apps/xinit
+ app-admin/eselect-opengl
+ x11-libs/libXaw
+ x11-libs/libXpm
+ x11-libs/libXxf86misc
+ x11-libs/libXxf86vm
+ dmx? ( x11-libs/libdmx
+ x11-libs/libXfixes )
+ !minimal? ( x11-libs/libXtst
+ x11-libs/libXres )
+ >=x11-libs/libxkbui-1.0.2
+ x11-libs/liblbxutil
+ kdrive? ( sdl? ( media-libs/libsdl ) )"
+ # Xres is dmx-dependent, xkbui is xorgcfg-dependent
+ # Xaw is dmx- and xorgcfg-dependent
+ # Xpm is dmx- and xorgcfg-dependent, pulls in Xt
+ # Xxf86misc and Xxf86vm are xorgcfg-dependent
+ # liblbxutil is lbx- dependent
+DEPEND="${RDEPEND}
+ >=x11-proto/randrproto-1.2.1
+ x11-proto/renderproto
+ >=x11-proto/fixesproto-4
+ >=x11-proto/damageproto-1.1
+ x11-proto/xextproto
+ x11-proto/xproto
+ x11-proto/xf86dgaproto
+ x11-proto/xf86miscproto
+ x11-proto/xf86rushproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xf86bigfontproto
+ >=x11-proto/compositeproto-0.3
+ x11-proto/recordproto
+ x11-proto/resourceproto
+ x11-proto/videoproto
+ >=x11-proto/scrnsaverproto-1.1.0
+ x11-proto/evieext
+ x11-proto/trapproto
+ >=x11-proto/xineramaproto-1.1-r1
+ x11-proto/fontsproto
+ >=x11-proto/kbproto-1.0.3
+ x11-proto/inputproto
+ x11-proto/bigreqsproto
+ x11-proto/xcmiscproto
+ >=x11-proto/glproto-1.4.8
+ dmx? ( x11-proto/dmxproto )
+ dri? ( x11-proto/xf86driproto
+ >=x11-libs/libdrm-2.3 )
+ xprint? ( x11-proto/printproto
+ x11-apps/mkfontdir
+ x11-apps/mkfontscale
+ x11-apps/xplsprinters )"
+
+# Drivers
+PDEPEND="
+ xorg? (
+ input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.1.0 )
+ input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.0.1 )
+ input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.0 )
+ input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.0 )
+ input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.0 )
+ input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.0 )
+ input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.0 )
+ input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.0 )
+ input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.1.0 )
+ input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-1.1.1 )
+ input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.1.0 )
+ input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 )
+ input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 )
+ input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 )
+ input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.1.0 )
+ input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.0 )
+ input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.0 )
+ input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 )
+ input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.1.0 )
+ input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.1.0 )
+ input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.1.0 )
+ input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.0 )
+ input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.1.0 )
+ input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.1.0 )
+ input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 )
+ input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.4.0 )
+ input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.0 )
+
+ input_devices_synaptics? ( x11-drivers/synaptics )
+ input_devices_wacom? ( x11-drivers/linuxwacom )
+
+ video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.1.1 )
+ video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.6.0 )
+ video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.1.1 )
+ video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.1.0 )
+ video_cards_cyrix? ( >=x11-drivers/xf86-video-cyrix-1.1.0 )
+ video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.2.0 )
+ video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.2.0 )
+ video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.1.1 )
+ video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.2.0 )
+ video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.1.0 )
+ video_cards_i810? ( >=x11-drivers/xf86-video-i810-1.6.0 )
+ video_cards_impact? ( >=x11-drivers/xf86-video-impact-0.2.0 )
+ video_cards_imstt? ( >=x11-drivers/xf86-video-imstt-1.1.0 )
+ video_cards_mach64? ( >=x11-drivers/xf86-video-ati-6.6.0 )
+ video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.1 )
+ video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.1.1 )
+ video_cards_newport? ( >=x11-drivers/xf86-video-newport-0.2.0 )
+ video_cards_nsc? ( >=x11-drivers/xf86-video-nsc-2.8.1 )
+ video_cards_nv? ( >=x11-drivers/xf86-video-nv-1.1.1 )
+ video_cards_r128? ( >=x11-drivers/xf86-video-ati-6.6.0 )
+ video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.6.0 )
+ video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.1.0 )
+ video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.4.1 )
+ video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.9.1 )
+ video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.1.1 )
+ video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.4.1 )
+ video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.9.1 )
+ video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.8.1 )
+ video_cards_sunbw2? ( >=x11-drivers/xf86-video-sunbw2-1.1.0 )
+ video_cards_suncg14? ( >=x11-drivers/xf86-video-suncg14-1.1.0 )
+ video_cards_suncg3? ( >=x11-drivers/xf86-video-suncg3-1.1.0 )
+ video_cards_suncg6? ( >=x11-drivers/xf86-video-suncg6-1.1.0 )
+ video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.1.0 )
+ video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.1.0 )
+ video_cards_suntcx? ( >=x11-drivers/xf86-video-suntcx-1.1.0 )
+ video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.2.1 )
+ video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.1.0 )
+ video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.2.1 )
+ video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.1.0 )
+ video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.1.1 )
+ video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-1.1.0 )
+ video_cards_vga? ( >=x11-drivers/xf86-video-vga-4.1.0 )
+ video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 )
+ video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 )
+ video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 )
+
+ video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) )
+ video_cards_nvidia? ( || (
+ >=x11-drivers/nvidia-drivers-1.0.8774
+ >=x11-drivers/nvidia-legacy-drivers-1.0.7184
+ )
+ )
+ !x11-drivers/ati-drivers
+ )"
+LICENSE="${LICENSE} MIT"
+
+PATCHES="${FILESDIR}/${P}-loongson.patch"
+
+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
+
+ # Only Xorg and Xgl support this, and we won't build Xgl
+ # until it merges to trunk
+ if use xorg; then
+ conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}"
+ 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 !minimal xvfb)
+ $(use_enable !minimal xnest)
+ $(use_enable !minimal install-libxf86config)
+ $(use_enable dri)
+ $(use_enable xorg)
+ $(use_enable xprint)
+ $(use_enable nptl glx-tls)
+ $(use_enable !minimal xorgcfg)
+ --sysconfdir=/etc/X11
+ --localstatedir=/var
+ --enable-install-setuid
+ --with-fontdir=/usr/share/fonts
+ ${conf_opts}"
+
+ local diemsg="You must build xorg-server and mesa with the same nptl USE setting."
+ if built_with_use media-libs/mesa nptl; then
+ use nptl || die "${diemsg}"
+ else
+ use nptl && die "${diemsg}"
+ fi
+
+ # (#121394) Causes window corruption
+ filter-flags -fweb
+
+ # Nothing else provides new enough glxtokens.h
+ ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
+ OLD_IMPLEM="$(eselect opengl show)"
+ eselect opengl set --impl-headers ${OPENGL_DIR}
+}
+
+src_unpack() {
+ x-modular_specs_check
+ x-modular_dri_check
+ x-modular_unpack_source
+ x-modular_patch_source
+
+ # Set up kdrive servers to build
+ if use kdrive; then
+ kdrive_setup
+ fi
+
+ # Make sure eautoreconf gets run if we need the autoconf/make
+ # changes.
+ if [[ ${SNAPSHOT} != "yes" ]]; then
+ if use kdrive; then
+ eautoreconf
+ fi
+ fi
+ x-modular_reconf_source
+}
+
+src_install() {
+ x-modular_src_install
+
+ dynamic_libgl_install
+
+ server_based_install
+
+ # Install video mode files for system-config-display
+ insinto /usr/share/xorg
+ doins hw/xfree86/common/{extra,vesa}modes \
+ || die "couldn't install extra modes"
+
+ # Bug #151421 - this file is not built with USE="minimal"
+ # Bug #151670 - this file is also not build if USE="-xorg"
+ if ! use minimal && use xorg; then
+ # Install xorg.conf.example
+ insinto /etc/X11
+ doins hw/xfree86/xorg.conf.example \
+ || die "couldn't install xorg.conf.example"
+ fi
+}
+
+pkg_postinst() {
+ switch_opengl_implem
+
+ # Bug #135544
+ ewarn "Users of reduced blanking now need:"
+ ewarn " Option \"ReducedBlanking\""
+ ewarn "In the relevant Monitor section(s)."
+ ewarn "Make sure your reduced blanking modelines are safe!"
+}
+
+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
+}
+
+kdrive_setup() {
+ local card real_card disable_card kdrive_fbdev kdrive_vesa
+
+ einfo "Removing unused kdrive drivers ..."
+
+ # Some kdrive servers require fbdev and vesa
+ kdrive_fbdev="radeon neomagic sis siliconmotion"
+ # Some kdrive servers require just vesa
+ kdrive_vesa="chips mach64 mga nv glint r128 via"
+
+ for card in ${IUSE_VIDEO_CARDS}; do
+ real_card=${card#video_cards_}
+
+ # Differences between VIDEO_CARDS name and kdrive server name
+ real_card=${real_card/glint/pm2}
+ real_card=${real_card/radeon/ati}
+ real_card=${real_card/%nv/nvidia}
+ real_card=${real_card/siliconmotion/smi}
+ real_card=${real_card/%sis/sis300}
+
+ disable_card=0
+
+ # Check whether it's a valid kdrive server before we waste time
+ # on the rest of this
+ if ! grep -q -o "\b${real_card}\b" ${S}/hw/kdrive/Makefile.am; then
+ continue
+ fi
+
+ if ! use ${card}; then
+ if use x86; then
+ # Some kdrive servers require fbdev and vesa
+ for i in ${kdrive_fbdev}; do
+ if use video_cards_${i}; then
+ if [[ ${real_card} = fbdev ]] \
+ || [[ ${real_card} = vesa ]]; then
+ continue 2 # Don't disable
+ fi
+ fi
+ done
+
+ # Some kdrive servers require just vesa
+ for i in ${kdrive_vesa}; do
+ if use video_cards_${i}; then
+ if [[ ${real_card} = vesa ]]; then
+ continue 2 # Don't disable
+ fi
+ fi
+ done
+ fi
+ disable_card=1
+ # Bug #150052
+ # fbdev is the only VIDEO_CARDS setting that works on non-x86
+ elif ! use x86 \
+ && [[ ${real_card} != fbdev ]]; then
+ ewarn " $real_card does not work on your architecture; disabling."
+ disable_card=1
+ fi
+
+ if [[ $disable_card = 1 ]]; then
+ ebegin " ${real_card}"
+ sed -i \
+ -e "s:\b${real_card}\b::g" \
+ ${S}/hw/kdrive/Makefile.am \
+ || die "sed of ${real_card} failed"
+ eend
+ fi
+
+ done
+
+ # smi and via are the only things on line 2. If line 2 ends up blank,
+ # we need to get rid of the backslash at the end of line 1.
+ if ! use video_cards_siliconmotion && ! use video_cards_via; then
+ sed -i \
+ -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \
+ ${S}/hw/kdrive/Makefile.am
+ 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/libglx*; 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() {
+ use xprint && xprint_src_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 --use-old ${OPENGL_DIR}
+ eselect opengl set ${OLD_IMPLEM}
+}
+
+xprint_src_install() {
+ # RH-style init script, we provide a wrapper
+ exeinto /usr/$(get_libdir)/misc
+ doexe ${S}/hw/xprint/etc/init.d/xprint
+ # Install the wrapper
+ newinitd ${FILESDIR}/xprint.init xprint
+ # Install profile scripts
+ insinto /etc/profile.d
+ doins ${S}/hw/xprint/etc/profile.d/xprint*
+ insinto /etc/X11/xinit/xinitrc.d
+ doins ${S}/hw/xprint/etc/Xsession.d/92xprint-xpserverlist
+ # Patch profile scripts
+ sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \
+ get_xpserverlist:g" -i ${D}/etc/profile.d/xprint* \
+ ${D}/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist
+ # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo
+ dodoc ${D}/etc/profile.d/xprint*
+ rm -f ${D}/etc/profile.d/xprint*
+}
+
+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."
+}