summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schlemmer <azarah@gentoo.org>2002-06-19 21:24:02 +0000
committerMartin Schlemmer <azarah@gentoo.org>2002-06-19 21:24:02 +0000
commit73d57b6021b0ad7d9cbc48427c99ff0a6d6546ec (patch)
tree1417f07e3b7f1b381b05c35cf3e2b02645c62048 /x11-base
parentmask new xfree (diff)
downloadgentoo-2-73d57b6021b0ad7d9cbc48427c99ff0a6d6546ec.tar.gz
gentoo-2-73d57b6021b0ad7d9cbc48427c99ff0a6d6546ec.tar.bz2
gentoo-2-73d57b6021b0ad7d9cbc48427c99ff0a6d6546ec.zip
new xfree
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-agpgart-load.patch.bz2bin0 -> 377 bytes
-rw-r--r--x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-fixkbd.patch.bz2bin0 -> 1790 bytes
-rw-r--r--x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-i18n.patch.bz2bin0 -> 5029 bytes
-rw-r--r--x11-base/xfree/files/4.2.99-patches/XFree86-4.2.99-PEX5-header-fix.patch.bz2bin0 -> 356 bytes
-rw-r--r--x11-base/xfree/files/4.2.99/10xfree6
-rw-r--r--x11-base/xfree/files/4.2.99/Sessions/Xsession107
-rw-r--r--x11-base/xfree/files/4.2.99/XftConfig239
-rw-r--r--x11-base/xfree/files/4.2.99/Xsession62
-rw-r--r--x11-base/xfree/files/4.2.99/Xsetup_030
-rw-r--r--x11-base/xfree/files/4.2.99/chooser.sh67
-rw-r--r--x11-base/xfree/files/4.2.99/lib/libGL.la32
-rw-r--r--x11-base/xfree/files/4.2.99/lib/libGLU.la32
-rw-r--r--x11-base/xfree/files/4.2.99/lib/libOSMesa.la32
-rw-r--r--x11-base/xfree/files/4.2.99/site.def62
-rw-r--r--x11-base/xfree/files/4.2.99/startDM.sh21
-rw-r--r--x11-base/xfree/files/4.2.99/xdm7
-rw-r--r--x11-base/xfree/files/4.2.99/xdm.start100
-rw-r--r--x11-base/xfree/files/4.2.99/xfs.conf.d14
-rw-r--r--x11-base/xfree/files/4.2.99/xfs.config56
-rw-r--r--x11-base/xfree/files/4.2.99/xfs.start42
-rw-r--r--x11-base/xfree/files/4.2.99/xinitrc42
-rw-r--r--x11-base/xfree/files/digest-xfree-4.2.997
-rw-r--r--x11-base/xfree/xfree-4.2.99.ebuild294
23 files changed, 1252 insertions, 0 deletions
diff --git a/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-agpgart-load.patch.bz2 b/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-agpgart-load.patch.bz2
new file mode 100644
index 000000000000..5d70300bf58f
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-agpgart-load.patch.bz2
Binary files differ
diff --git a/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-fixkbd.patch.bz2 b/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-fixkbd.patch.bz2
new file mode 100644
index 000000000000..4a50d98ed53f
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-fixkbd.patch.bz2
Binary files differ
diff --git a/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-i18n.patch.bz2 b/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-i18n.patch.bz2
new file mode 100644
index 000000000000..de977f83aa53
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.0-i18n.patch.bz2
Binary files differ
diff --git a/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.99-PEX5-header-fix.patch.bz2 b/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.99-PEX5-header-fix.patch.bz2
new file mode 100644
index 000000000000..a7a1d933cbef
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99-patches/XFree86-4.2.99-PEX5-header-fix.patch.bz2
Binary files differ
diff --git a/x11-base/xfree/files/4.2.99/10xfree b/x11-base/xfree/files/4.2.99/10xfree
new file mode 100644
index 000000000000..a302f743012c
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/10xfree
@@ -0,0 +1,6 @@
+PATH=/usr/X11R6/bin
+ROOTPATH=/usr/X11R6/bin
+LDPATH=/usr/X11R6/lib
+MANPATH=/usr/X11R6/man
+INFODIR=/usr/X11R6/info
+XINITRC=/etc/X11/xinit/xinitrc
diff --git a/x11-base/xfree/files/4.2.99/Sessions/Xsession b/x11-base/xfree/files/4.2.99/Sessions/Xsession
new file mode 100644
index 000000000000..c86ccee19ff3
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/Sessions/Xsession
@@ -0,0 +1,107 @@
+#!/bin/sh
+# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $
+
+case $# in
+1)
+ case $1 in
+ failsafe)
+ exec xterm -geometry 80x24-0-0
+ ;;
+ esac
+esac
+
+# redirect errors to a file in user's home directory if we can
+for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
+do
+ if ( cp /dev/null "$errfile" 2> /dev/null )
+ then
+ chmod 600 "$errfile"
+ exec > "$errfile" 2>&1
+ break
+ fi
+done
+
+# clean up after xbanner
+if which freetemp 2> /dev/null ; then
+ freetemp
+fi
+
+startup=$HOME/.xsession
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+userxkbmap=$HOME/.Xkbmap
+
+sysresources=/etc/X11/Xresources
+sysmodmap=/etc/X11/Xmodmap
+sysxkbmap=/etc/X11/Xkbmap
+
+rh6sysresources=/etc/X11/xinit/Xresources
+rh6sysmodmap=/etc/X11/xinit/Xmodmap
+
+
+# merge in defaults
+if [ -f "$rh6sysresources" ]; then
+ xrdb -merge "$rh6sysresources"
+fi
+
+if [ -f "$sysresources" ]; then
+ xrdb -merge "$sysresources"
+fi
+
+if [ -f "$userresources" ]; then
+ xrdb -merge "$userresources"
+fi
+
+# merge in keymaps
+if [ -f "$sysxkbmap" ]; then
+ setxkbmap `cat "$sysxkbmap"`
+ XKB_IN_USE=yes
+fi
+
+if [ -f "$userxkbmap" ]; then
+ setxkbmap `cat "$userxkbmap"`
+ XKB_IN_USE=yes
+fi
+
+#
+# Eeek, this seems like too much magic here
+#
+if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then
+ if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then
+ xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config`
+ if [ -n "$xkbsymbols" ]; then
+ setxkbmap -symbols "$xkbsymbols"
+ XKB_IN_USE=yes
+ fi
+ fi
+fi
+
+# xkb and xmodmap don't play nice together
+if [ -z "$XKB_IN_USE" ]; then
+ if [ -f "$rh6sysmodmap" ]; then
+ xmodmap "$rh6sysmodmap"
+ fi
+
+ if [ -f "$sysmodmap" ]; then
+ xmodmap "$sysmodmap"
+ fi
+
+ if [ -f "$usermodmap" ]; then
+ xmodmap "$usermodmap"
+ fi
+fi
+
+unset XKB_IN_USE
+
+if [ -x "$startup" ]; then
+ exec "$startup"
+elif [ -x "$HOME/.Xclients" ]; then
+ exec "$HOME/.Xclients"
+elif [ -x /etc/X11/xinit/Xclients ]; then
+ exec /etc/X11/xinit/Xclients
+elif [ -x /etc/X11/Xclients ]; then
+ exec /etc/X11/Xclients
+else
+ exec xsm
+fi
diff --git a/x11-base/xfree/files/4.2.99/XftConfig b/x11-base/xfree/files/4.2.99/XftConfig
new file mode 100644
index 000000000000..352757a1ce64
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/XftConfig
@@ -0,0 +1,239 @@
+#
+# XftConfig
+#
+# Use with Type1 and TrueType fonts
+#
+
+# Note that each application scans all these directories
+# during startup, so you may want to disable some to
+# get better speed.
+
+# Standard XFree86 Type 1 fonts
+dir "/usr/X11R6/lib/X11/fonts/Type1"
+# TTF fonts
+dir "/usr/X11R6/lib/X11/fonts/truetype"
+dir "/usr/X11R6/lib/X11/fonts/TrueType"
+dir "/usr/X11R6/lib/X11/fonts/TTF"
+# User installed fonts
+dir "/opt/ttfonts"
+# URW fonts
+dir "/usr/share/fonts/default/Type1"
+# Localized Truetype fonts
+dir "/usr/share/fonts/truetype"
+dir "/usr/share/fonts/ttf/western"
+dir "/usr/share/fonts/ttf/big5"
+dir "/usr/share/fonts/ttf/gb2312"
+dir "/usr/share/fonts/ttf/japanese"
+dir "/usr/share/fonts/ttf/korean"
+dir "/usr/share/fonts/ttf/armenian"
+dir "/usr/share/fonts/ttf/decoratives"
+dir "/usr/share/fonts/ttf/thai"
+# don't yet exist, but i hope to include some day a package for them (Pablo)
+dir "/usr/share/fonts/ttf/cyrillic"
+dir "/usr/share/fonts/ttf/viet"
+dir "/usr/share/fonts/ttf/ethiopic"
+dir "/usr/share/fonts/ttf/georgian"
+dir "/usr/share/fonts/ttf/arabic"
+dir "/usr/share/fonts/ttf/hebrew"
+dir "/usr/share/fonts/ttf/unicode"
+# AbiSuite comes with URW fonts as well
+dir "/usr/share/AbiSuite/fonts"
+
+#
+# alias 'fixed' for 'mono'
+#
+match any family == "fixed" edit family =+ "mono";
+
+#
+# Check users config file
+#
+includeif "~/.xftconfig"
+
+#
+# Substitute TrueType fonts for Type1 versions
+#
+match any family == "Times" edit family =+ "Times New Roman";
+match any family == "Helvetica" edit family =+ "Verdana";
+match any family == "Courier" edit family =+ "Courier New";
+
+#
+# Use TrueType fonts for defaults
+#
+match any family == "serif" edit family += "Times New Roman";
+match any family == "sans" edit family += "Arial";
+match any family == "sans" edit family += "Verdana";
+
+#
+# Use monotype.com (andale) face where possible
+#
+match
+ any family == "mono"
+ all slant == roman
+ all weight < bold
+edit
+ family += "monotype.com";
+#
+# otherwise, use courier
+#
+match any family == "mono" edit family += "Courier New";
+match any family == "mono" edit family += "Courier";
+
+#
+# Alias between XLFD families and font file family name, prefer local fonts
+#
+match any family == "Charter" edit family += "Bitstream Charter";
+match any family == "Bitstream Charter" edit family =+ "Charter";
+
+match any family == "Lucidux Serif" edit family += "LuciduxSerif";
+match any family == "LuciduxSerif" edit family =+ "Lucidux Serif";
+
+match any family == "Lucidux Sans" edit family += "LuciduxSans";
+match any family == "LuciduxSans" edit family =+ "Lucidux Sans";
+
+match any family == "Lucidux Mono" edit family += "LuciduxMono";
+match any family == "LuciduxMono" edit family =+ "Lucidux Mono";
+
+#
+# TrueType font aliases
+#
+match any family == "Comic Sans" edit family += "Comic Sans MS";
+match any family == "Comic Sans MS" edit family =+ "Comic Sans";
+match any family == "Trebuchet" edit family += "Trebuchet MS";
+match any family == "Trebuchet MS" edit family =+ "Trebuchet";
+match any family == "Monotype" edit family =+ "Monotype.com";
+match any family == "Andale Mono" edit family += "Monotype.com";
+match any family == "Monotype.com" edit family =+ "Andale Mono";
+
+# modifications from Laurent Culioli
+match
+ any family == "webdings"
+ edit antialias = false;
+ encoding += "glyphs-fontspecific";
+match
+ any family == "wingdings"
+ edit antialias = false;
+ encoding += "glyphs-fontspecific";
+
+# extra aliases -- pablo
+
+# a nice default for sans serif (same as used in yudit)
+match any family == "sans" edit family =+ "Arial";
+match any family == "sans" edit family =+ "MS Gothic";
+match any family == "sans" edit family =+ "Gulim";
+match any family == "sans" edit family =+ "Baekmuk unigulir";
+match any family == "sans" edit family =+ "Lucida Sans Unicode";
+match any family == "sans" edit family =+ "Tahoma";
+match any family == "sans" edit family =+ "BPG UTF8 M";
+match any family == "sans" edit family =+ "GF Zemen Unicode";
+match any family == "sans" edit family =+ "MS Mincho";
+match any family == "sans" edit family =+ "Pigiarniq";
+match any family == "sans" edit family =+ "Urdu Naqsh Nastalique";
+match any family == "sans" edit family =+ "Ballymun RO";
+# a nice monospaced one
+match any family == "mono" edit family =+ "Lucida Console";
+# korean
+match any family == "Gulim" edit family =+ "Baekmuk unigulir";
+match any family == "Batang" edit family =+ "Ubatang";
+match any family == "sans" edit family =+ "Gulim";
+match any family == "serif" edit family =+ "Batang";
+match any family == "mono" edit family =+ "Gulim";
+# chinese gb2312
+match any family == "Kaiti" edit family =+ "AR PL KaitiM GB";
+match any family == "Sungti" edit family =+ "AR PL SungtiL GB";
+match any family == "sans" edit family =+ "Sungti";
+match any family == "serif" edit family =+ "Sungti";
+# chinese big5
+match any family == "Kaiti" edit family =+ "AR PL KaitiM Big5";
+match any family == "Mingti" edit family =+ "AR PL Mingti2L Big5";
+match any family == "sans" edit family =+ "Mingti";
+match any family == "serif" edit family =+ "Mingti";
+# thai
+match any family == "sans" edit family =+ "Norasi";
+match any family == "serif" edit family =+ "Norasi";
+# armenian
+match any family == "Helvetica" edit family =+ "ArmNet Helvetica";
+match any family == "sans" edit family =+ "ArmNet Helvetica";
+match any family == "serif" edit family =+ "ArmNet Helvetica";
+# indic
+match any family == "Raghindi" edit family =+ "Raghu";
+match any family == "sans" edit family =+ "Raghindi";
+match any family == "serif" edit family =+ "Raghindi";
+
+#
+# If the Microsoft Web Fonts are not installed, we have to find a
+# replacement
+#
+
+# these come with Sun JDK 1.3
+match any family == "Verdana" edit family =+ "Lucida Sans";
+match any family == "Times New Roman" edit family =+ "Lucida Bright";
+match any family == "Courier New" edit family =+ "Lucida Sans Typewriter";
+
+# OpenOffice 6
+match any family == "Verdana" edit family =+ "Lucida Sans Tur";
+match any family == "Times New Roman" edit family =+ "Lucida Bright Tur";
+match any family == "Courier New" edit family =+ "Lucida Sans Typewriter Tur";
+
+# ttfonts from RH7
+match any family == "Verdana" edit family =+ "Helmet";
+
+# URW fonts
+match any family == "Verdana" edit family =+ "Nimbus Sans L";
+match any family == "Times New Roman" edit family =+ "Nimbus Roman No9 L";
+match any family == "Courier New" edit family =+ "Nimbus Mono L";
+
+# western fonts
+match any family == "Verdana" edit family =+ "Blue Highway";
+
+# XFree86 default fonts
+match any family == "Verdana" edit family =+ "LuciduxSans";
+match any family == "Times New Roman" edit family =+ "LuciduxSerif";
+
+
+# last ressort defaults
+match any family == "Courier" edit family =+ "mono";
+
+match any family == "Helvetica" edit family =+ "sans";
+match any family == "Arial" edit family =+ "sans";
+
+match any family == "serif" edit family =+ "sans";
+match any family == "Times" edit family =+ "serif";
+
+# Aditions from Danny Tholen
+
+match
+ any family == "symbol"
+edit
+ antialias = false;
+ encoding += "glyphs-fontspecific";
+
+match
+ any family == "Standard Symbols L"
+edit
+ antialias = false;
+ encoding += "glyphs-fontspecific";
+
+match
+ any family == "dingbats"
+edit
+ antialias = false;
+ encoding += "glyphs-fontspecific";
+
+
+match
+ any family == "Cursor"
+edit
+ antialias = false;
+ encoding += "glyphs-fontspecific";
+
+match
+ any family == "StarBats"
+edit
+ antialias = false;
+ encoding += "glyphs-fontspecific";
+
+match
+ any family == "StarMath"
+edit
+ antialias = false;
+ encoding += "glyphs-fontspecific";
diff --git a/x11-base/xfree/files/4.2.99/Xsession b/x11-base/xfree/files/4.2.99/Xsession
new file mode 100644
index 000000000000..961becdb1963
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/Xsession
@@ -0,0 +1,62 @@
+#!/bin/sh
+#
+# $Xorg: Xsession,v 1.4 2000/08/17 19:54:17 cpqbld Exp $
+#
+#
+#
+#
+# $XFree86: xc/programs/xdm/config/Xsession,v 1.3 2001/01/17 23:45:24 dawes Exp $
+
+# redirect errors to a file in user's home directory if we can
+for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
+do
+ if ( cp /dev/null "$errfile" 2> /dev/null )
+ then
+ chmod 600 "$errfile"
+ exec > "$errfile" 2>&1
+ break
+ fi
+done
+
+# handle KDM
+if [ -n "$1" ]; then
+ export XSESSION="$1"
+fi
+
+# This next bit should be in the users ~/.xsession,
+# but we have it here as reference
+#
+#userdefaults=$HOME/.Xdefaults
+#userresources=$HOME/.Xresources
+#usermodmap=$HOME/.Xmodmap
+#
+##Xdefaults
+#if [ -f "$userdefaults" ]; then
+# xrdb -merge "$userdefaults"
+#fi
+#Xresorces
+#if [ -f "$userresources" ]; then
+# xrdb -merge "$userresources"
+#fi
+##Xmodmap
+#if [ -f "$usermodmap" ]; then
+# xmodmap "$usermodmap"
+#fi
+
+startup=$HOME/.xsession
+
+# First run ~/.xsession if it exists
+if [ -s "$startup" ]; then
+ if [ -x "$startup" ]; then
+ exec "$startup"
+ else
+ exec /bin/sh "$startup"
+ fi
+# If not, try the system default
+elif [ -n "`/etc/X11/chooser.sh`" ]; then
+ exec "`/etc/X11/chooser.sh`"
+# Lastly, xsm as failsafe
+else
+ exec xsm
+fi
+
diff --git a/x11-base/xfree/files/4.2.99/Xsetup_0 b/x11-base/xfree/files/4.2.99/Xsetup_0
new file mode 100644
index 000000000000..7cbdfc32d07e
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/Xsetup_0
@@ -0,0 +1,30 @@
+#!/bin/sh
+# $Xorg: Xsetup_0,v 1.3 2000/08/17 19:54:17 cpqbld Exp $
+#xconsole -geometry 480x130-0-0 -daemon -notify -verbose -fn fixed -exitOnFail
+
+# get KDEDIR value (only) and run kdmdesktop from there
+eval "`grep KDEDIR /etc/profile.env`"
+[ -n "$KDEDIR" ] && ${KDEDIR}/bin/kdmdesktop
+
+# --- Gentoo ---
+# create list of sessions for kdm
+sessions="SessionTypes="
+for x in `ls /etc/X11/Sessions`
+do
+ sessions="${sessions}${x},"
+done
+echo sessions: $sessions
+
+# update all kdmrcs located
+source /etc/make.conf
+for dir in $KDE2DIR $KDE3DIR $KDE2LIBSDIR $KDE3LIBSDIR $KDEDIR ~/.kde /usr/kde/2 /usr/kde/3 /usr
+do
+
+ cd ${dir}/share/config/kdm || continue
+
+ cp kdmrc kdmrc.orig
+ sed -e "/SessionTypes=/c\
+${sessions}" kdmrc.orig > kdmrc
+ rm kdmrc.orig
+
+done
diff --git a/x11-base/xfree/files/4.2.99/chooser.sh b/x11-base/xfree/files/4.2.99/chooser.sh
new file mode 100644
index 000000000000..35cdf5487b31
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/chooser.sh
@@ -0,0 +1,67 @@
+#!/bin/sh
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# Author: Martin Schlemmer <azarah@gentoo.org>
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99/chooser.sh,v 1.1 2002/06/19 21:24:01 azarah Exp $
+
+#if $XSESSION is "", source first /etc/conf.d/basic, and then /etc/rc.conf
+if [ -z "${XSESSION}" ]
+then
+ [ -f /etc/conf.d/basic ] && source /etc/conf.d/basic
+ [ -f /etc/rc.conf ] && source /etc/rc.conf
+fi
+
+#find a match for $XSESSION in /etc/X11/Sessions
+GENTOO_SESSION=""
+for x in /etc/X11/Sessions/*
+do
+ if [ "`echo ${x##*/} | awk '{ print toupper($1) }'`" \
+ = "`echo ${XSESSION} | awk '{ print toupper($1) }'`" ]
+ then
+ GENTOO_SESSION=${x}
+ break
+ fi
+done
+
+GENTOO_EXEC=""
+
+if [ -n "${XSESSION}" ]; then
+ if [ -f /etc/X11/Sessions/${XSESSION} ]; then
+ if [ -x /etc/X11/Sessions/${XSESSION} ]; then
+ GENTOO_EXEC="/etc/X11/Sessions/${XSESSION}"
+ else
+ GENTOO_EXEC="/bin/sh /etc/X11/Sessions/${XSESSION}"
+ fi
+ elif [ -n "${GENTOO_SESSION}" ]; then
+ if [ -x "${GENTOO_SESSION}" ]; then
+ GENTOO_EXEC="${GENTOO_SESSION}"
+ else
+ GENTOO_EXEC="/bin/sh ${GENTOO_SESSION}"
+ fi
+ else
+ for x in "${XSESSION}" \
+ "`echo ${XSESSION} | awk '{ print toupper($1) }'`" \
+ "`echo ${XSESSION} | awk '{ print tolower($1) }'`"
+ do
+ #fall through ...
+ if [ -x /bin/${x} ]; then
+ GENTOO_EXEC="/bin/${x}"
+ break
+ elif [ -x /usr/bin/${x} ]; then
+ GENTOO_EXEC="/usr/bin/${x}"
+ break
+ elif [ -x /usr/X11R6/bin/${x} ]; then
+ GENTOO_EXEC="/usr/X11R6/bin/${x}"
+ break
+ elif [ -x /usr/local/bin/${x} ]; then
+ GENTOO_EXEC="/usr/local/bin/${x}"
+ break
+ fi
+ done
+ fi
+fi
+
+echo "${GENTOO_EXEC}"
+
+
+# vim:ts=4
diff --git a/x11-base/xfree/files/4.2.99/lib/libGL.la b/x11-base/xfree/files/4.2.99/lib/libGL.la
new file mode 100644
index 000000000000..8566b67d4c3d
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/lib/libGL.la
@@ -0,0 +1,32 @@
+# libGL.la - a libtool library file
+# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18)
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libGL.so.1'
+
+# Names of this library.
+library_names='libGL.so.1.2 libGL.so.1 libGL.so'
+
+# The name of the static archive.
+old_library=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -L/usr/lib -L/usr/X11R6/lib -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread '
+
+# Version information for libGL.
+current=3
+age=2
+revision=0
+
+# Is this an already installed library?
+installed=yes
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/lib/opengl/xfree/lib'
diff --git a/x11-base/xfree/files/4.2.99/lib/libGLU.la b/x11-base/xfree/files/4.2.99/lib/libGLU.la
new file mode 100644
index 000000000000..86b6432cf5db
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/lib/libGLU.la
@@ -0,0 +1,32 @@
+# libGLU.la - a libtool library file
+# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18)
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libGLU.so.1'
+
+# Names of this library.
+library_names='libGLU.so.1.3 libGLU.so.1 libGLU.so'
+
+# The name of the static archive.
+old_library=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -L/usr/lib -L/usr/X11R6/lib -lGL -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread '
+
+# Version information for libGLU.
+current=4
+age=3
+revision=0
+
+# Is this an already installed library?
+installed=yes
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/lib'
diff --git a/x11-base/xfree/files/4.2.99/lib/libOSMesa.la b/x11-base/xfree/files/4.2.99/lib/libOSMesa.la
new file mode 100644
index 000000000000..56a72ed91f02
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/lib/libOSMesa.la
@@ -0,0 +1,32 @@
+# libOSMesa.la - a libtool library file
+# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18)
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libOSMesa.so.3'
+
+# Names of this library.
+library_names='libOSMesa.so.3.3 libOSMesa.so.3 libOSMesa.so'
+
+# The name of the static archive.
+old_library=''
+
+# Libraries that this one depends upon.
+dependency_libs=' -L/usr/lib -L/usr/X11R6/lib -lGL -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread '
+
+# Version information for libOSMesa.
+current=4
+age=3
+revision=0
+
+# Is this an already installed library?
+installed=yes
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/usr/X11R6/lib'
diff --git a/x11-base/xfree/files/4.2.99/site.def b/x11-base/xfree/files/4.2.99/site.def
new file mode 100644
index 000000000000..f8412dfdca28
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/site.def
@@ -0,0 +1,62 @@
+#define HasZlib YES
+#define HasPam YES
+#define HasNCurses YES
+#define HasLibCrypt YES
+#define HasGcc2ForCplusplus YES
+#define LocalThreads YES
+#define ThreadedX YES
+#define HasPosixThreads YES
+#define HasThreadSafeAPI YES
+#define ForceNormalLib YES
+#define BuildXinerama YES
+#define XprtServer YES
+#define XnestServer YES
+#define SharedLibXau YES
+#define UseFreetype2 YES
+#define BuildFreetype2Library YES
+#define Freetype2Version 9.0.2
+#define BuildFonts YES
+/* #define BuildCyrillicFonts YES */
+#define BuildXF86MiscExt YES
+#define BuildXInputExt YES
+#define BuildXKB YES
+#define BuildDBE YES
+#define BuildScreenSaverExt YES
+#define BuildRman YES
+#define BuildHtmlManPages NO
+#define BuildAllSpecsDocs NO
+#define BuildSpecsDocs NO
+#define BuildXF86DRI YES
+#define HasAgpGart YES
+#define BuildGLXLibrary YES
+#define BuildGlxExt YES
+#define BuildGLULibrary YES
+#define SharedLibGLU YES
+#define NormalLibGLU YES
+#define DoLoadableServer YES
+#define BuildXvExt YES
+#define BuildXF86DGA YES
+#define BuildRender YES
+#define BuildXftLibrary YES
+#define BuildXft1Library NO
+#define BuildRECORD YES
+#define BuildPexExt YES
+#define BuildXIE YES
+
+/* required for Lokis Erics Ultimate Solitaire */
+#define UseInternalMalloc NO
+#define ForceNormalLib YES
+#define SharedLibXxf86vm YES
+#define SharedLibXxf86dga YES
+#define SharedLibXxf86misc YES
+#define SharedLibXv YES
+
+/* binutils-2.9 */
+#define LinuxBinUtilsMajorVersion 29
+/* glibc-2.2 (6.2 because glibc is considered libc-6) */
+#define LinuxCLibMajorVersion 6
+#define LinuxClibMinorVersion 2
+#define HasTk NO
+#define HasTcl NO
+#define FSUseSyslog YES
+
diff --git a/x11-base/xfree/files/4.2.99/startDM.sh b/x11-base/xfree/files/4.2.99/startDM.sh
new file mode 100644
index 000000000000..a28f93e813a7
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/startDM.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# Author: Martin Schlemmer <azarah@gentoo.org>
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99/startDM.sh,v 1.1 2002/06/19 21:24:01 azarah Exp $
+
+source /etc/init.d/functions.sh
+
+if [ -e ${svcdir}/options/xdm/service ]
+then
+ /sbin/start-stop-daemon --start --quiet \
+ --exec "`cat ${svcdir}/options/xdm/service`"
+ if [ $? -ne 0 ]
+ then
+ #there was a error running the DM
+ einfo "ERROR: could not start the Display Manager..."
+ fi
+fi
+
+
+# vim:ts=4
diff --git a/x11-base/xfree/files/4.2.99/xdm b/x11-base/xfree/files/4.2.99/xdm
new file mode 100644
index 000000000000..1d2e081625f1
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/xdm
@@ -0,0 +1,7 @@
+#%PAM-1.0
+auth required /lib/security/pam_stack.so service=system-auth
+auth required /lib/security/pam_nologin.so
+account required /lib/security/pam_stack.so service=system-auth
+password required /lib/security/pam_stack.so service=system-auth
+session required /lib/security/pam_stack.so service=system-auth
+session optional /lib/security/pam_console.so
diff --git a/x11-base/xfree/files/4.2.99/xdm.start b/x11-base/xfree/files/4.2.99/xdm.start
new file mode 100644
index 000000000000..7775ffd6c0fc
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/xdm.start
@@ -0,0 +1,100 @@
+#!/sbin/runscript
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99/xdm.start,v 1.1 2002/06/19 21:24:01 azarah Exp $
+
+# This is here to serve as a note to myself, and future developers.
+#
+# Any Display manager (gdm,kdm,xdm) have the following problem: if
+# it is started before any getty, and no vt is specified, it will
+# usually run on vt2. When the getty on vt2 then starts, and the
+# DM is already started, the getty will take control of the keyboard,
+# leaving us with a "dead" keyboard.
+#
+# Resolution: add the following line to /etc/inittab
+#
+# x:a:once:/etc/X11/startDM.sh
+#
+# and have /etc/X11/startDM.sh start the DM in daemon mode if
+# a lock is present (with the info of what DM should be started),
+# else just fall through.
+#
+# How this basically works, is the "a" runlevel is a additional
+# runlevel that you can use to fork processes with init, but the
+# runlevel never gets changed to this runlevel. Along with the "a"
+# runlevel, the "once" key word means that startDM.sh will only be
+# run when we specify it to run, thus eliminating respawning
+# startDM.sh when "xdm" is not added to the default runleve, as was
+# done previously.
+#
+# This script then just calls "tellinit a", and init will run
+# /etc/X11/startDM.sh after the current runlevel completes (this
+# script should only be added to the actual runlevel the user is
+# using).
+#
+# Martin Schlemmer
+# aka Azarah
+# 04 March 2002
+
+
+# Start X Font Server before X
+depend() {
+ use xfs
+}
+
+setup_dm() {
+ source /etc/profile.env
+ export PATH="/bin:/sbin:/usr/bin:/usr/sbin:${ROOTPATH}"
+
+ case "$(echo ${DISPLAYMANAGER} | awk '{ print toupper($1) }')" in
+ KDM|KDE|KDE2|KDE3)
+ EXE="$(which kdm)"
+ ;;
+ GDM|GNOME)
+ EXE=/usr/bin/gdm
+ ;;
+ *)
+ EXE=/usr/X11R6/bin/xdm
+ ;;
+ esac
+
+ test ! -x "${EXE}" && EXE=/usr/X11R6/bin/xdm
+
+ SERVICE="${EXE##*/}"
+}
+
+start() {
+ setup_dm
+ ebegin "Setting up ${SERVICE}"
+ #save the prefered DM
+ save_options "service" "${EXE}"
+ #tell init to run /etc/X11/startDM.sh after current
+ #runlevel is finished (should *not* be in the "boot"
+ # runlevel).
+ /sbin/telinit a &>/dev/null
+ eend 0
+}
+
+stop() {
+ local retval=0
+ local curvt="$(fgconsole)"
+ local myexe="$(get_options "service")"
+ local myservice="${myexe##*/}"
+ ebegin "Stopping ${myservice}"
+ rm -f ${svcdir}/options/xdm/service
+ if [ "$(ps -A | grep -e "${myservice}")" ]
+ then
+ start-stop-daemon --stop --quiet \
+ --exe ${myexe} &>/dev/null
+ retval=$?
+ else
+ retval=1
+ fi
+ #switch back to original vt
+ chvt "${curvt}" &>/dev/null
+ eend ${retval} "Error stopping ${myservice}."
+ return ${retval}
+}
+
+
+# vim:ts=4
diff --git a/x11-base/xfree/files/4.2.99/xfs.conf.d b/x11-base/xfree/files/4.2.99/xfs.conf.d
new file mode 100644
index 000000000000..54a4bf64aef5
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/xfs.conf.d
@@ -0,0 +1,14 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99/xfs.conf.d,v 1.1 2002/06/19 21:24:01 azarah Exp $
+
+# Config file for /etc/init.d/xfs
+
+
+# Port for xfs to listen on. Default is set to "-1", meaning
+# it will only listen on unix sockets, and not tcp ports. If
+# you however want it to listen on tcp, remember to comment
+# "nolisten = tcp" in /etc/X11/fs/config.
+
+XFS_PORT="-1"
+
diff --git a/x11-base/xfree/files/4.2.99/xfs.config b/x11-base/xfree/files/4.2.99/xfs.config
new file mode 100644
index 000000000000..d8bc52b30d68
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/xfs.config
@@ -0,0 +1,56 @@
+#
+# X Font Server configuration file
+#
+
+# allow a max of 4 clients to connect to this font server
+#client-limit = 4
+
+# no tcp, use sockets!
+no-listen = tcp
+
+# when a font server reaches its limit, start up a new one
+clone-self = on
+
+# alternate font servers for clients to use
+#alternate-servers = foo:7101,bar:7102
+
+# where to look for fonts
+# Some of these are commented out, i.e. the TrueType and Type1
+# directories in /usr/share, because they aren't forced to be
+# installed alongside X.
+#
+catalogue = /usr/X11R6/lib/X11/fonts/75dpi,
+ /usr/X11R6/lib/X11/fonts/100dpi,
+ /usr/X11R6/lib/X11/fonts/misc,
+ /usr/X11R6/lib/X11/fonts/Type1,
+ /usr/X11R6/lib/X11/fonts/Speedo,
+ /usr/X11R6/lib/X11/fonts/CID,
+ /usr/X11R6/lib/X11/fonts/PEX,
+ /usr/X11R6/lib/X11/fonts/util,
+ /usr/X11R6/lib/X11/fonts/Type1,
+ /usr/X11R6/lib/X11/fonts/local,
+ /usr/X11R6/lib/X11/fonts/Speedo,
+ /usr/X11R6/lib/X11/fonts/truetype,
+ /usr/X11R6/lib/X11/fonts/TTF,
+ /usr/X11R6/lib/X11/fonts/encodings,
+ /usr/X11R6/lib/X11/fonts/cyrillic,
+ /usr/X11R6/lib/X11/fonts/freefont,
+ /usr/X11R6/lib/X11/fonts/sharefont,
+ /usr/share/fonts/default/Type1,
+ /usr/share/fonts/ttf/decoratives,
+ /usr/share/fonts/ttf/western
+
+# in 12 points, decipoints
+default-point-size = 120
+
+# 100 x 100 and 75 x 75
+default-resolutions = 75,75,100,100
+
+# how to log errors
+use-syslog = on
+
+# font cache control, specified in KB
+cache-hi-mark = 2048
+cache-low-mark = 1433
+cache-balance = 70
+
diff --git a/x11-base/xfree/files/4.2.99/xfs.start b/x11-base/xfree/files/4.2.99/xfs.start
new file mode 100644
index 000000000000..fb4df79c1d37
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/xfs.start
@@ -0,0 +1,42 @@
+#!/sbin/runscript
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99/xfs.start,v 1.1 2002/06/19 21:24:02 azarah Exp $
+
+#NB: Config is in /etc/conf.d/xfs
+
+
+depend() {
+ use logger
+}
+
+check_config() {
+ if [ -z "${XFS_PORT}" ]
+ then
+ eerror "Please set \$XFS_PORT in /etc/conf.d/xfs!"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ check_config || return 1
+ ebegin "Starting X Font Server"
+ if [ "`grep -e "^xfs:" /etc/passwd`" ] ; then
+ start-stop-daemon --start --quiet --exec /usr/X11R6/bin/xfs \
+ -- -daemon -config /etc/X11/fs/config \
+ -droppriv -user xfs -port ${XFS_PORT} 1>&2
+ else
+ start-stop-daemon --start --quiet --exec /usr/X11R6/bin/xfs \
+ -- -daemon -config /etc/X11/fs/config \
+ -port ${XFS_PORT} 1>&2
+ fi
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping X Font Server"
+ start-stop-daemon --stop --quiet --exec /usr/X11R6/bin/xfs 1>&2
+ rm -rf /tmp/.font-unix
+ eend $?
+}
diff --git a/x11-base/xfree/files/4.2.99/xinitrc b/x11-base/xfree/files/4.2.99/xinitrc
new file mode 100644
index 000000000000..9a669469a542
--- /dev/null
+++ b/x11-base/xfree/files/4.2.99/xinitrc
@@ -0,0 +1,42 @@
+#!/bin/sh
+# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $
+
+userresources=$HOME/.Xresources
+usermodmap=$HOME/.Xmodmap
+sysresources=XINITDIR/.Xresources
+sysmodmap=XINITDIR/.Xmodmap
+
+# merge in defaults and keymaps
+
+if [ -f $sysresources ]; then
+ xrdb -merge $sysresources
+fi
+
+if [ -f $sysmodmap ]; then
+ xmodmap $sysmodmap
+fi
+
+if [ -f $userresources ]; then
+ xrdb -merge $userresources
+fi
+
+if [ -f $usermodmap ]; then
+ xmodmap $usermodmap
+fi
+
+# First try ~/.xinitrc
+if [ -f "$HOME/.xinitrc" ]; then
+ XINITRC="$HOME/.xinitrc"
+ exec /bin/sh "$HOME/.xinitrc"
+# If not present, try the system default
+elif [ -n "`/etc/X11/chooser.sh`" ]; then
+ exec "`/etc/X11/chooser.sh`"
+# Failsafe
+else
+ # start some nice programs
+ twm &
+ xclock -geometry 50x50-1+1 &
+ xterm -geometry 80x50+494+51 &
+ xterm -geometry 80x20+494-0 &
+ exec xterm -geometry 80x66+0+0 -name login
+fi
diff --git a/x11-base/xfree/files/digest-xfree-4.2.99 b/x11-base/xfree/files/digest-xfree-4.2.99
new file mode 100644
index 000000000000..05816c39ca2b
--- /dev/null
+++ b/x11-base/xfree/files/digest-xfree-4.2.99
@@ -0,0 +1,7 @@
+MD5 21390561571cf1c34b145e4d2aad9a4a X4299-1.tar.bz2 9228113
+MD5 761753507f6c5d29ef54b4ba27ff8bf7 X4299-2.tar.bz2 13307537
+MD5 15426bacbaf9b9783c0020a9865038a3 X4299-3.tar.bz2 11350279
+MD5 896a27d7b00c100ab80cf0f01f1a10ac X4299-4.tar.bz2 16685884
+MD5 09bd932beeb5fc483ebb653033aeefca freetype-2.0.9.tar.bz2 621244
+MD5 a70e4d28c241374868a099127c668949 truetype.tar.gz 1524606
+MD5 222bffcae6c2be37ec5cd993037f4f45 xf86Wacom.c.gz 26156
diff --git a/x11-base/xfree/xfree-4.2.99.ebuild b/x11-base/xfree/xfree-4.2.99.ebuild
new file mode 100644
index 000000000000..77fa7049eb1f
--- /dev/null
+++ b/x11-base/xfree/xfree-4.2.99.ebuild
@@ -0,0 +1,294 @@
+# Copyright 1999-2002 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License, v2 or later
+# Maintainer: Achim Gottinger <achim@gentoo.org>, Daniel Robbins <drobbins@gentoo.org>
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/xfree-4.2.99.ebuild,v 1.1 2002/06/19 21:24:01 azarah Exp $
+
+FT2_VER=2.0.9
+MY_V="`echo ${PV} |sed -e 's:\.::g'`"
+S=${WORKDIR}/xc
+DESCRIPTION="Xfree86: famous and free X server"
+SRC_PATH0="ftp://ftp.xfree.org/pub/XFree86/${PV}/source"
+SRC_PATH1="ftp://ftp1.sourceforge.net/pub/mirrors/XFree86/${PV}/source"
+
+# Misc patches we may wat to fetch
+X_PATCHES=""
+
+# Updated Wacom driver
+# Homepage: http://people.mandrakesoft.com/~flepied/projects/wacom/
+X_DRIVERS="http://people.mandrakesoft.com/~flepied/projects/wacom/xf86Wacom.c.gz"
+
+#SRC_URI="${SRC_PATH0}/X${MY_V}src-1.tgz
+# ${SRC_PATH0}/X${MY_V}src-2.tgz
+# ${SRC_PATH0}/X${MY_V}src-3.tgz
+# ${SRC_PATH1}/X${MY_V}src-1.tgz
+# ${SRC_PATH1}/X${MY_V}src-2.tgz
+# ${SRC_PATH1}/X${MY_V}src-3.tgz
+SRC_URI="http://www.ibiblio.org/gentoo/gentoo-sources/X${MY_V}-1.tar.bz2
+ http://www.ibiblio.org/gentoo/gentoo-sources/X${MY_V}-2.tar.bz2
+ http://www.ibiblio.org/gentoo/gentoo-sources/X${MY_V}-3.tar.bz2
+ http://www.ibiblio.org/gentoo/gentoo-sources/X${MY_V}-4.tar.bz2
+ mirror://sourceforge/freetype/freetype-${FT2_VER}.tar.bz2
+ http://www.ibiblio.org/gentoo/gentoo-sources/truetype.tar.gz
+ ${X_PATCHES}
+ ${X_DRIVERS}"
+
+HOMEPAGE="http://www.xfree.org"
+LICENSE="X11"
+SLOT="0"
+
+DEPEND=">=sys-libs/ncurses-5.1
+ >=sys-libs/pam-0.75
+ >=sys-libs/zlib-1.1.3-r2
+ sys-devel/flex
+ sys-devel/perl
+ 3dfx? ( >=media-libs/glide-v3-3.10 )"
+
+RDEPEND=">=sys-libs/ncurses-5.1
+ >=x11-base/opengl-update-1.3"
+
+PROVIDE="virtual/x11
+ virtual/opengl
+ virtual/glu"
+
+pkg_setup() {
+
+ eerror
+ eerror "This is very experimental, and can break things horribly!!!!"
+ eerror "If you do decide to use it, please unmerge any older versions"
+ eerror "of XFree86, as changes to headers can cause problems."
+ eerror
+ die
+}
+
+src_unpack () {
+
+ unpack X${MY_V}-{1,2,3,4}.tar.bz2
+
+ # Deploy our custom freetype2. We want it static for stability,
+ # and because some things in Gentoo depends the freetype2 that
+ # is distributed with XFree86.
+ unpack freetype-${FT2_VER}.tar.bz2
+ cd ${S}/extras/freetype2
+ rm -rf *
+ mv ${WORKDIR}/freetype-${FT2_VER}/* .
+ # Enable hinting for truetype fonts
+ cd ${S}/extras/freetype2/include/freetype/config
+ cp ftoption.h ftoption.h.orig
+ sed -e 's:#undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER:#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER:' \
+ ftoption.h.orig > ftoption.h
+
+ # Update Wacom Driver, hopefully resolving bug #1632
+ # The kernel driver should prob also be updated, this can be
+ # found at:
+ #
+ # http://people.mandrakesoft.com/~flepied/projects/wacom/
+ #
+ zcat ${DISTDIR}/xf86Wacom.c.gz > \
+ ${S}/programs/Xserver/hw/xfree86/input/wacom/xf86Wacom.c || die
+
+ cd ${S}
+
+ # Various patches from all over
+ for x in ${FILESDIR}/${PV}-patches/*.patch.bz2
+ do
+ bzcat ${x} | patch -p2 || die "Failed to apply ${x}!"
+ done
+
+ cp ${FILESDIR}/${PVR}/site.def config/cf/host.def
+ echo "#define XVendorString \"Gentoo Linux (XFree86 ${PV}, revision ${PR})\"" \
+ >> config/cf/host.def
+ echo "#define OptimizedCDebugFlags ${CFLAGS}" >> config/cf/host.def
+ echo "#define GccWarningOptions -pipe" >> config/cf/host.def
+
+ if [ "${ARCH}" = "x86" ]
+ then
+ # optimize Mesa for architecture
+ if [ -n "`use mmx`" ]
+ then
+ echo "#define HasMMXSupport YES" >> config/cf/host.def
+ fi
+ if [ -n "`use 3dnow`" ]
+ then
+ echo "#define MesaUse3DNow YES" >> config/cf/host.def
+ elif [ -n "`use sse`" ]
+ then
+ echo "#define MesaUseKatmai YES" >> config/cf/host.def
+ fi
+ fi
+
+ # build with glide3 support? (build the tdfx_dri.o module)
+ if [ -n "`use 3dfx`" ]
+ then
+ echo "#define HasGlide3 YES" >> config/cf/host.def
+ fi
+
+ # fix build problem (XFree86 server among others, was not
+ # linked against libXau)
+ cp ${S}/programs/Xserver/Imakefile \
+ ${S}/programs/Xserver/Imakefile.orig
+ sed -e '2i CCLINK = $(CC) -L../../lib/Xau -lXau' \
+ ${S}/programs/Xserver/Imakefile.orig \
+ > ${S}/programs/Xserver/Imakefile
+
+ # Apply Xft quality patch from http://www.cs.mcgill.ca/~dchest/xfthack/
+# cd ${S}/lib/Xft
+# cat ${FILESDIR}/${PVR}/xft-quality.diff | patch -p1 || die
+}
+
+src_compile() {
+
+ # fix build build problems for tdfx driver
+ if [ -n "`use 3dfx`" ]
+ then
+ cd ${S}/lib/GL/mesa/src/drv/tdfx
+ ln -s /usr/include/glide3/glide.h glide.h
+ ln -s /usr/include/glide3/glideutl.h glideutl.h
+ ln -s /usr/include/glide3/glidesys.h glidesys.h
+ ln -s /usr/include/glide3/g3ext.h g3ext.h
+ cd ${S}
+ fi
+
+ emake World || die
+
+ if [ "`use nls`" ]
+ then
+ cd ${S}/nls
+ make || die
+ cd ${s}
+ fi
+}
+
+src_install() {
+
+ # fix compile for gcc-3.1
+ if [ "`gcc -dumpversion`" = "3.1" ]
+ then
+ make CXXDEBUGFLAGS="${CXXDEBUGFLAGS} -mno-mmx" \
+ CDEBUGFLAGS="${CDEBUGFLAGS} -mno-mmx" \
+ install DESTDIR=${D} || die
+ else
+ make install DESTDIR=${D} || die
+ fi
+
+ make install.man DESTDIR=${D} || die
+
+ if [ "`use nls`" ]
+ then
+ cd ${S}/nls
+ make DESTDIR=${D} install || die
+ cd ${S}
+ fi
+
+ # we zap the our CFLAGS in the host.def file, as hardcoded CFLAGS can
+ # mess up other things that use xmkmf
+ cp ${D}/usr/X11R6/lib/X11/config/host.def \
+ ${D}/usr/X11R6/lib/X11/config/host.def.orig
+ grep -v OptimizedCDebugFlags ${D}/usr/X11R6/lib/X11/config/host.def.orig > \
+ ${D}/usr/X11R6/lib/X11/config/host.def
+ rm -f ${D}/usr/X11R6/lib/X11/config/host.def.orig
+ # theoretically, /usr/X11R6/lib/X11/config is a possible candidate for
+ # config file management. If we find that people really worry about imake
+ # stuff, we may add it. But for now, we leave the dir unprotected.
+
+ insinto /etc/X11
+ doins ${FILESDIR}/${PVR}/XftConfig
+ dosym ../../../../etc/X11/XftConfig /usr/X11R6/lib/X11/XftConfig
+ cd ${D}/usr/X11R6/lib/X11/fonts
+ tar -xz --no-same-owner -f ${DISTDIR}/truetype.tar.gz || \
+ die "Failed to unpack truetype.tar.gz"
+
+ dodir /usr/bin
+ dosym /usr/X11R6/bin /usr/bin/X11
+
+ dosym /usr/X11R6/lib/X11 /usr/lib/X11
+
+ dosym libGL.so.1.2 /usr/X11R6/lib/libGL.so
+ dosym libGL.so.1.2 /usr/X11R6/lib/libGL.so.1
+ dosym libGL.so.1.2 /usr/X11R6/lib/libMesaGL.so
+ # We move libGLU to /usr/lib now
+ dosym libGLU.so.1.3 /usr/lib/libMesaGLU.so
+
+ # .la files for libtool support
+ insinto /usr/X11R6/lib
+ doins ${FILESDIR}/${PVR}/lib/*.la
+
+ exeinto /etc/X11
+ # new session management script
+ doexe ${FILESDIR}/${PVR}/chooser.sh
+ # new display manager script
+ doexe ${FILESDIR}/${PVR}/startDM.sh
+ exeinto /etc/X11/Sessions
+ doexe ${FILESDIR}/${PVR}/Sessions/*
+ insinto /etc/env.d
+ doins ${FILESDIR}/${PVR}/10xfree
+ insinto /etc/X11/xinit
+ doins ${FILESDIR}/${PVR}/xinitrc
+ exeinto /etc/X11/xdm
+ doexe ${FILESDIR}/${PVR}/Xsession ${FILESDIR}/${PVR}/Xsetup_0
+ insinto /etc/X11/fs
+ newins ${FILESDIR}/${PVR}/xfs.config config
+ insinto /etc/pam.d
+ doins ${FILESDIR}/${PVR}/xdm
+ exeinto /etc/init.d
+ newexe ${FILESDIR}/${PVR}/xdm.start xdm
+ newexe ${FILESDIR}/${PVR}/xfs.start xfs
+ insinto /etc/conf.d
+ newins ${FILESDIR}/${PVR}/xfs.conf.d xfs
+
+ # we want libGLU.so* in /usr/lib
+ mv ${D}/usr/X11R6/lib/libGLU.* ${D}/usr/lib
+
+ # next section is to setup the dinamic libGL stuff
+ dodir /usr/lib/opengl/xfree/{lib,extensions,include}
+ mv ${D}/usr/X11R6/lib/libGL.so* ${D}/usr/lib/opengl/xfree/lib
+ mv ${D}/usr/X11R6/lib/libGL.la ${D}/usr/lib/opengl/xfree/lib
+ # libGL.a cause problems with tuxracer, etc
+ mv ${D}/usr/X11R6/lib/libGL.a ${D}/usr/lib/opengl/xfree/lib
+ mv ${D}/usr/X11R6/lib/libMesaGL.so ${D}/usr/lib/opengl/xfree/lib
+ mv ${D}/usr/X11R6/lib/modules/extensions/libglx* \
+ ${D}/usr/lib/opengl/xfree/extensions
+ mv ${D}/usr/X11R6/include/GL/{gl.h,glx.h,glxtokens.h} \
+ ${D}/usr/lib/opengl/xfree/include
+}
+
+pkg_preinst() {
+ # this changed from a directory/file to a symlink
+ if [ ! -L ${ROOT}/usr/X11R6/lib/X11/XftConfig ] && \
+ [ -f ${ROOT}/usr/X11R6/lib/X11/XftConfig ]
+ then
+ rm -rf ${ROOT}/usr/X11R6/lib/X11/XftConfig
+ fi
+ if [ ! -L ${ROOT}/usr/X11R6/lib/X11/app-defaults ] && \
+ [ -d ${ROOT}/usr/X11R6/lib/X11/app-defaults ]
+ then
+ mv f ${ROOT}/usr/X11R6/lib/X11/app-defaults ${ROOT}/etc/X11
+ fi
+
+ # clean the dinamic libGL stuff's home to ensure
+ # we dont have stale libs floating around
+ if [ -d ${ROOT}/usr/lib/opengl/xfree ]
+ then
+ rm -rf ${ROOT}/usr/lib/opengl/xfree/*
+ fi
+}
+
+pkg_postinst() {
+# env-update
+# echo ">>> Making font dirs..."
+# find ${ROOT}/usr/X11R6/lib/X11/fonts/* -type d -maxdepth 1 \
+# -exec ${ROOT}/usr/X11R6/bin/mkfontdir {} ';'
+
+ #switch to the xfree implementation
+ if [ "${ROOT}" = "/" ]
+ then
+ /usr/sbin/opengl-update xfree
+ fi
+
+ # add back directories that portage nukes on unmerge
+ if [ ! -d ${ROOT}/var/lib/xdm ]
+ then
+ mkdir -p ${ROOT}/var/lib/xdm
+ fi
+ touch ${ROOT}/var/lib/xdm/.keep
+}
+