diff options
Diffstat (limited to 'x11-base')
22 files changed, 2009 insertions, 1 deletions
diff --git a/x11-base/xfree/ChangeLog b/x11-base/xfree/ChangeLog index 4bdf7e807b1c..420a9c19d029 100644 --- a/x11-base/xfree/ChangeLog +++ b/x11-base/xfree/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for x11-base/xfree # Copyright 2002 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/ChangeLog,v 1.55 2002/10/29 18:31:31 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/ChangeLog,v 1.56 2002/11/03 11:41:20 azarah Exp $ + +*xfree-4.2.1-r1 (3 Nov 2002) + + 3 Nov 2002; Martin Schlemmer <azarah@gentoo.org> : + + New version to address major problems we are having with 4.2.1. + Ripped out Xft-1.2 (with fontconfig support), as it causes crashes + with gcc3 at least. Sync patches with Redhat/Mandrake again. I + will try to get behind the problem, but even with an unpatched + Radeon driver, I cannot get DRI to work for the Radeon :( 28 Oct 2002; J Robert Ray <jrray@jrray.org> xfree-4.2.1.ebuild : diff --git a/x11-base/xfree/files/4.2.1-r1/10xfree b/x11-base/xfree/files/4.2.1-r1/10xfree new file mode 100644 index 000000000000..a302f743012c --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/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.1-r1/Sessions/Xsession b/x11-base/xfree/files/4.2.1-r1/Sessions/Xsession new file mode 100644 index 000000000000..c86ccee19ff3 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/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.1-r1/XftConfig b/x11-base/xfree/files/4.2.1-r1/XftConfig new file mode 100644 index 000000000000..352757a1ce64 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/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.1-r1/Xsession b/x11-base/xfree/files/4.2.1-r1/Xsession new file mode 100644 index 000000000000..a76eae17b86c --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/Xsession @@ -0,0 +1,70 @@ +#!/bin/sh --login +# +# $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 +resources=$HOME/.Xresources + +# First run the system default. Because KDE uses this +# to switch sessions, we MUST first check the system +# default, and then ~/.xsession. If the user Do not +# want this, he should override XSESSION, or at least +# clear it. +if [ -n "`/etc/X11/chooser.sh`" ]; then + exec "`/etc/X11/chooser.sh`" +# If not defined, try the user's ~/.xsession +elif [ -s "$startup" ]; then + if [ -x "$startup" ]; then + exec "$startup" + else + exec /bin/sh "$startup" + fi +# Lastly, xsm as failsafe +else + if [ -r "$resources" ]; then + xrdb -load "$resources" + fi + exec xsm +fi + diff --git a/x11-base/xfree/files/4.2.1-r1/Xsetup_0 b/x11-base/xfree/files/4.2.1-r1/Xsetup_0 new file mode 100644 index 000000000000..2022592bb146 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/Xsetup_0 @@ -0,0 +1,32 @@ +#!/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; tries some pretty much impossible locations +# to make sure we get 'em all +source /etc/make.conf +for dir in /usr/kde/* /usr $KDEDIR $KDE2DIR $KDE3DIR $KDE2LIBSDIR $KDE3LIBSDIR +do + + echo "Changing kdmrc in $dir" + 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.1-r1/chooser.sh b/x11-base/xfree/files/4.2.1-r1/chooser.sh new file mode 100644 index 000000000000..3d33a334fd12 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/chooser.sh @@ -0,0 +1,64 @@ +#!/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.1-r1/chooser.sh,v 1.1 2002/11/03 11:41:20 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 + x="" + y="" + + for x in "${XSESSION}" \ + "`echo ${XSESSION} | awk '{ print toupper($1) }'`" \ + "`echo ${XSESSION} | awk '{ print tolower($1) }'`" + do + # Fall through ... + if [ -x "`which ${x} 2>/dev/null`" ]; then + GENTOO_EXEC="`which ${x} 2>/dev/null`" + break + fi + done + + # If all else fail, run twm + GENTOO_EXEC="/usr/X11R6/bin/twm" + fi +fi + +echo "${GENTOO_EXEC}" + + +# vim:ts=4 diff --git a/x11-base/xfree/files/4.2.1-r1/lib/libGL.la b/x11-base/xfree/files/4.2.1-r1/lib/libGL.la new file mode 100644 index 000000000000..8566b67d4c3d --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/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.1-r1/lib/libGLU.la b/x11-base/xfree/files/4.2.1-r1/lib/libGLU.la new file mode 100644 index 000000000000..86b6432cf5db --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/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.1-r1/lib/libOSMesa.la b/x11-base/xfree/files/4.2.1-r1/lib/libOSMesa.la new file mode 100644 index 000000000000..56a72ed91f02 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/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.1-r1/site.def b/x11-base/xfree/files/4.2.1-r1/site.def new file mode 100644 index 000000000000..82be1b16e005 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/site.def @@ -0,0 +1,102 @@ +/* Use buildin zlib to try and fix segfaults. Bug #4777 */ +#define HasZlib NO +#define HasPam YES +#define HasPamMisc YES +#define HasNCurses YES +#define HasLibCrypt YES +#define HasTk NO +#define HasTcl NO +#define FSUseSyslog YES + +#define LocalThreads YES +#define ThreadedX YES +#define HasPosixThreads YES +#define HasThreadSafeAPI YES + +#define HasGcc2ForCplusplus YES + +#define BuildXinerama YES +#define BuildXineramaLibrary YES + +/* Do not change, as it can break things like gdm */ +#define SharedLibXau YES + +#define HasFreetype2 YES +#define UseFreetype2 YES +#define Freetype2LibDir /usr/lib +/* #define BuildFreetype2Library YES */ +/* #define UseFontconfig YES */ +/* #define HasFontconfig YES */ +/* #define SharedLibXft1 YES */ + +#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 BuildXvExt YES +#define BuildXF86DGA YES +#define BuildRender YES + +/* Broken in 4.x */ +#define JoystickSupport NO + +#define DoLoadableServer YES + +#define BuildRECORD YES + +#define UseXserverWrapper YES +#define UseMatroxHal NO + +#define UseConfDirForXkb NO +/* #define UseConfDirForAppDefaults NO */ + +#undef DefaultUserPath +#define DefaultUserPath /usr/local/bin:/bin:/usr/bin +#undef DefaultSystemPath +#define DefaultSystemPath /usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin + +#define AdmDir /var/log +#define LbxproxyDir /etc/X11/lbxproxy +#define ProxyManagerDir /etc/X11/proxymngr +#define ServerConfigDir /etc/X11/xserver +#define XdmDir /etc/X11/xdm +#define XConfigDir /etc/X11 +#define XinitDir /etc/X11/xinit + +/* BOTH XIE and PEX were deprecated in XFree86 4.1.0 and are now obsolete */ +#define BuildPhigs NO +#define BuildPexExt NO +#define BuildPexLib NO +#define BuildXIE NO +#define BuildXIElib NO + +/* 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 + diff --git a/x11-base/xfree/files/4.2.1-r1/startDM.sh b/x11-base/xfree/files/4.2.1-r1/startDM.sh new file mode 100644 index 000000000000..f9b4408ed5ee --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/startDM.sh @@ -0,0 +1,29 @@ +#!/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.1-r1/startDM.sh,v 1.1 2002/11/03 11:41:20 azarah Exp $ + +source /etc/init.d/functions.sh + + +if [ -e ${svcdir}/options/xdm/service ] +then + retval=0 + EXE="`cat ${svcdir}/options/xdm/service`" + + /sbin/start-stop-daemon --start --quiet --exec ${EXE} + retval=$? + sleep 5 + + if [ "${retval}" -ne 0 ] + then + # there was a error running the DM + einfo "ERROR: could not start the Display Manager..." + # make sure we do not have a misbehaving DM + killall -9 ${EXE##*/} + fi +fi + + +# vim:ts=4 diff --git a/x11-base/xfree/files/4.2.1-r1/xdm.pamd b/x11-base/xfree/files/4.2.1-r1/xdm.pamd new file mode 100644 index 000000000000..1d2e081625f1 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/xdm.pamd @@ -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.1-r1/xdm.start b/x11-base/xfree/files/4.2.1-r1/xdm.start new file mode 100644 index 000000000000..4ddc1bf6cccd --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/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.1-r1/xdm.start,v 1.1 2002/11/03 11:41:20 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 hotplug +} + +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.1-r1/xfs.conf.d b/x11-base/xfree/files/4.2.1-r1/xfs.conf.d new file mode 100644 index 000000000000..13733935d8c7 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/xfs.conf.d @@ -0,0 +1,23 @@ +# 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.1-r1/xfs.conf.d,v 1.1 2002/11/03 11:41:20 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" + + +# If this is set to "yes", then the xfs rc-script will +# scan all the font directories in /etc/X11/fs/config for +# changes, and if any, will add the required files. This +# may take a while on very old boxes, so set it to "no" +# if it takes too long for you. + +SETUP_FONTDIRS="yes" + diff --git a/x11-base/xfree/files/4.2.1-r1/xfs.config b/x11-base/xfree/files/4.2.1-r1/xfs.config new file mode 100644 index 000000000000..8ff44914b592 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/xfs.config @@ -0,0 +1,55 @@ +# +# 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/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.1-r1/xfs.start b/x11-base/xfree/files/4.2.1-r1/xfs.start new file mode 100644 index 000000000000..a0e8e074e999 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/xfs.start @@ -0,0 +1,236 @@ +#!/sbin/runscript +# 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.1-r1/xfs.start,v 1.1 2002/11/03 11:41:20 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 +} + +# Return 0 on change, or 1 on no change, or if dir do not exist +check_changed() { + local x="" + local fontlist="" + + # If the dir do not exist, e + if [ ! -d $1 ] + then + return 1 + fi + + # Create a list of all non known config files in the font dir + fontlist="$(find $1/ -type f -maxdepth 1)" + fontlist="$(echo "${fontlist}" | egrep -v 'fonts\..*')" + fontlist="$(echo "${fontlist}" | egrep -v '*.\.dir')" + fontlist="$(echo "${fontlist}" | egrep -v 'XftCache')" + + if [ ! -f $1/fonts.list ] + then + if [ -n "${fontlist}" ] + then + # No list file exist, so create it and return 0 to add + # this font dir as a candidate for updating... + echo "${fontlist}" > $1/fonts.list + + return 0 + fi + else + local retval=1 + + # All the fonts was removed, so cleanup + if [ -z "${fontlist}" ] + then + for x in $1/fonts.* $1/encodings.dir $1/XftCache + do + if [ -f ${x} ] + then + rm -f ${x} + fi + done + + return 1 + fi + + # Check that no files was added or removed.... + if [ "$(cat $1/fonts.list | md5sum)" != "$(echo "${fontlist}" | md5sum)" ] + then + retval=0 + fi + + # Check that no files was updated.... + if [ "${retval}" -ne 0 ] + then + local changed_list="" + + changed_list="$(find $1 -type f -cnewer $1/fonts.dir)" + changed_list="$(echo "${changed_list}" | egrep -v 'fonts\..*')" + changed_list="$(echo "${changed_list}" | egrep -v '*.\.dir')" + changed_list="$(echo "${changed_list}" | egrep -v 'XftCache')" + + if [ -n "${changed_list}" ] + then + retval=0 + fi + fi + + # OK, something changed, so recreate fonts.list and add as candidate + # for updating... + if [ "${retval}" -eq 0 ] + then + echo "${fontlist}" > $1/fonts.list + + return 0 + fi + fi + + return 1 +} + +# This is a brain dead function to extract font dirs from +# the xfs config file (/etc/X11/fs/config). +get_fontdir_list() { + local dowrite=1 + + set -f + + (awk '!/^#|^\t+#/ { print $0 }' /etc/X11/fs/config) | while read line + do + if [ "${line/catalogue}" != "${line}" ] + then + dowrite=0; + fi + + if [ "${dowrite}" -eq 0 ] + then + # Do not print the 'catalogue = ' bit, or any ',' + echo "${line/catalogue*=}" | sed -e 's:,::g' + + if [ "$(echo ${line} | sed -e 's:,::g')" = "${line}" ] + then + dowrite=1 + fi + fi + done + + set +f +} + +# This is the main beast for setting up the font dirs +setup_font_dirs() { + local x="" + local pending_fontdirs="" + + umask 022 + + # While we at it, update fontconfig's cache as well + if [ -x /usr/bin/fc-cache ] + then + ebegin "Updating FC cache" + /usr/bin/fc-cache + eend 0 + fi + + if [ ! -x /usr/X11R6/bin/mkfontdir -o ! -x /usr/X11R6/bin/ttmkfdir ] + then + ewarn "Could not find mkfontdir or ttmkfdir binary!" + return 0 + fi + + /usr/X11R6/bin/mkfontdir -n \ + -e /usr/X11R6/lib/X11/fonts/encodings \ + -e /usr/X11R6/lib/X11/fonts/encodings/large \ + -- /usr/X11R6/lib/X11/fonts/encodings + + ebegin "Scanning font dirs" + for x in $(get_fontdir_list) + do + if test -d ${x} && check_changed ${x} + then + if [ -z "${pending_fontdirs}" ] + then + pending_fontdirs="${x}" + else + pending_fontdirs="${pending_fontdirs} ${x}" + fi + fi + done + eend 0 + + if [ -n "${pending_fontdirs}" ] + then + ebegin "Indexing font dirs" + for x in ${pending_fontdirs} + do + ebegin " ${x}" + # Only generate .scale files if there are + # truetype fonts present ... + if [ "${x/encodings}" = "${x}" -a \ + -n "$(find ${x} -iname '*.tt[cf]' -print)" ] + then + /usr/X11R6/bin/ttmkfdir \ + -e /usr/X11R6/lib/X11/fonts/encodings/encodings.dir \ + -o ${x}/fonts.scale -d ${x} &> /dev/null + fi + + if [ "${x/encodings}" = "${x}" ] + then + /usr/X11R6/bin/mkfontdir \ + -e /usr/X11R6/lib/X11/fonts/encodings \ + -e /usr/X11R6/lib/X11/fonts/encodings/large \ + -- ${x} &> /dev/null + fi + + if [ "${x/encodings}" = "${x}" -a -x /usr/X11R6/bin/xftcache ] && \ + [ -n "$(find ${x} -iname '*.tt[cf]' -print)" -o \ + -n "$(find ${x} -iname '*.pf[ab]' -print)" ] + then + /usr/X11R6/bin/xftcache ${x} + fi + eend 0 + done + fi +} + +start() { + check_config || return 1 + + if [ "${SETUP_FONTDIRS}" = "yes" ] + then + setup_font_dirs + fi + + 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 $? +} + + +# vim:ts=4 diff --git a/x11-base/xfree/files/4.2.1-r1/xft-quality.diff b/x11-base/xfree/files/4.2.1-r1/xft-quality.diff new file mode 100644 index 000000000000..fa0d6e395fff --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/xft-quality.diff @@ -0,0 +1,24 @@ +diff -urN Xft.orig/xftfreetype.c Xft/xftfreetype.c +--- Xft.orig/xftfreetype.c Thu Dec 13 10:26:00 2001 ++++ Xft/xftfreetype.c Wed Mar 6 00:23:19 2002 +@@ -236,7 +236,7 @@ + if (_XftFontDebug() & XFT_DBG_GLYPH) + printf ("Set face size to %d (%d)\n", + (int) (size >> 6), (int) size); +- if (FT_Set_Char_Size (face, size, size, 0, 0)) ++ if (FT_Set_Char_Size (face, size, size, 69, 72)) + return False; + f->size = size; + } +diff -urN Xft.orig/xftglyphs.c Xft/xftglyphs.c +--- Xft.orig/xftglyphs.c Sat Nov 17 01:22:45 2001 ++++ Xft/xftglyphs.c Wed Mar 6 00:23:19 2002 +@@ -124,7 +124,7 @@ + } + else + glyphindex = (FT_UInt) charcode; +- error = FT_Load_Glyph (font->face, glyphindex, FT_LOAD_NO_BITMAP); ++ error = FT_Load_Glyph (font->face, glyphindex, FT_LOAD_NO_BITMAP | FT_LOAD_NO_HINTING); + if (error) + continue; + diff --git a/x11-base/xfree/files/4.2.1-r1/xinitrc b/x11-base/xfree/files/4.2.1-r1/xinitrc new file mode 100644 index 000000000000..f81157d11fd1 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/xinitrc @@ -0,0 +1,43 @@ +#!/bin/sh +# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $ + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +XINITDIR=/usr/X11R6/lib/X11/xinit +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/4.2.1-r1/xserver.pamd b/x11-base/xfree/files/4.2.1-r1/xserver.pamd new file mode 100644 index 000000000000..d8550e5a0d95 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r1/xserver.pamd @@ -0,0 +1,4 @@ +#%PAM-1.0 +auth sufficient /lib/security/pam_rootok.so +auth required /lib/security/pam_console.so +account required /lib/security/pam_permit.so diff --git a/x11-base/xfree/files/digest-xfree-4.2.1-r1 b/x11-base/xfree/files/digest-xfree-4.2.1-r1 new file mode 100644 index 000000000000..b38eb49cb673 --- /dev/null +++ b/x11-base/xfree/files/digest-xfree-4.2.1-r1 @@ -0,0 +1,21 @@ +MD5 ad43a8e9e39703322005cd6f7145b77f X420src-1.tgz 25961532 +MD5 dae33268a9f2735b9678a81fb23e8d3e X420src-2.tgz 23227328 +MD5 560899e175a02ab592185b69756f539e X420src-3.tgz 9306679 +MD5 5ef5c58e501b0cb873ee2b2a04ed74e3 fcpackage.2_0.tar.gz 538159 +MD5 38adc94a4953a6b29e8619c25dda4887 4.2.0-4.2.1.diff.gz 54763 +MD5 5de0f8b313daebaccb0ac9369652fc6f XFree86-4.2.1-patches-1.1.tar.bz2 400952 +MD5 222bffcae6c2be37ec5cd993037f4f45 xf86Wacom.c.gz 26156 +MD5 fe6b93f81cc2e9cacded137c4aaff25f savage-1.1.25t.tgz 69515 +MD5 d41b5c569d11a2a9c6eb1bda05af2c62 sis_drv_src_251002-2.tar.gz 307200 +MD5 aaeb8f8b276a6849f7a570097d69788e glide3-headers.tar.bz2 14564 +MD5 cbdc2fdd7d2ed0832795e86a8b9ee19a andale32.exe 198384 +MD5 9637df0e91703179f0723ec095a36cb5 arial32.exe 554208 +MD5 c9089ae0c3b3d0d8c4b0a95979bb9ff0 arialb32.exe 168176 +MD5 2b30de40bb5e803a0452c7715fc835d1 comic32.exe 246008 +MD5 4e412c772294403ab62fb2d247d85c60 courie32.exe 646368 +MD5 4d90016026e2da447593b41a8d8fa8bd georgi32.exe 392440 +MD5 7907c7dd6684e9bade91cff82683d9d7 impact32.exe 173288 +MD5 ed39c8ef91b9fb80f76f702568291bd5 times32.exe 661728 +MD5 0d7ea16cac6261f8513a061fbfcdb2b5 trebuc32.exe 357200 +MD5 12d2a75f8156e10607be1eaa8e8ef120 verdan32.exe 351992 +MD5 230a1d13a365b22815f502eb24d9149b webdin32.exe 185072 diff --git a/x11-base/xfree/xfree-4.2.1-r1.ebuild b/x11-base/xfree/xfree-4.2.1-r1.ebuild new file mode 100644 index 000000000000..402344ab5df6 --- /dev/null +++ b/x11-base/xfree/xfree-4.2.1-r1.ebuild @@ -0,0 +1,740 @@ +# Copyright 1999-2002 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/xfree-4.2.1-r1.ebuild,v 1.1 2002/11/03 11:41:20 azarah Exp $ + +IUSE="sse nls mmx truetype 3dnow 3dfx" + +inherit flag-o-matic gcc + +filter-flags "-funroll-loops" + +# Recently there has been a lot of stability problem in Gentoo-land. Many +# things can be the cause to this, but I believe that it is due to gcc3 +# still having issues with optimizations, or with it not filtering bad +# combinations (protecting the user maybe from himeself) yet. +# +# This can clearly be seen in large builds like glibc, where too aggressive +# CFLAGS cause the tests to fail miserbly. +# +# Quote from Nick Jones <carpaski@gentoo.org>, who in my opinion +# knows what he is talking about: +# +# People really shouldn't force code-specific options on... It's a +# bad idea. The -march options aren't just to look pretty. They enable +# options that are sensible (and include sse,mmx,3dnow when apropriate). +# +# The next command strips CFLAGS and CXXFLAGS from nearly all flags. If +# you do not like it, comment it, but do not bugreport if you run into +# problems. +# +# <azarah@gentoo.org> (13 Oct 2002) +strip-flags + +PATCH_VER="1.1" +FT2_VER="2.1.2" +FC2_VER="2.0" +SISDRV_VER="251002-2" +SAVDRV_VER="1.1.25t" + +BASE_PV="4.2.0" +MY_SV="${BASE_PV//\.}" +S="${WORKDIR}/xc" +S_XFT2="${WORKDIR}/fcpackage.${FC2_VER/\./_}/Xft" +DESCRIPTION="Xfree86: famous and free X server" +SRC_PATH0="ftp://ftp.xfree.org/pub/XFree86/${BASE_PV}/source" +SRC_PATH1="ftp://ftp1.sourceforge.net/pub/mirrors/XFree86/${BASE_PV}/source" +HOMEPAGE="http://www.xfree.org" + +X_PATCHES="http://ftp.xfree86.org/pub/XFree86/${PV}/patches/${BASE_PV}-${PV}.diff.gz + mirror://gentoo/XFree86-${PV}-patches-${PATCH_VER}.tar.bz2 + http://www.gentoo.org/~azarah/XFree86-${PV}-patches-${PATCH_VER}.tar.bz2" +# Need to get this thing up for testing, but ibiblio havent synced in a few +# hours ... + +X_DRIVERS="http://people.mandrakesoft.com/~flepied/projects/wacom/xf86Wacom.c.gz + http://www.probo.com/timr/savage-${SAVDRV_VER}.tgz + http://www.webit.at/~twinny/sis/sis_drv_src_${SISDRV_VER}.tar.gz + 3dfx? ( mirror://gentoo/glide3-headers.tar.bz2 )" +# Updated Wacom driver at http://people.mandrakesoft.com/~flepied/projects/wacom/ +# Latest Savaga drivers at http://www.probo.com/timr/savage40.html +# Latest SIS drivers at http://www.webit.at/~twinny/linuxsis630.shtml +# Glide headers for compiling the tdfx modules + +# For the MS Core fonts .. +MS_COREFONTS="./andale32.exe ./arial32.exe + ./arialb32.exe ./comic32.exe + ./courie32.exe ./georgi32.exe + ./impact32.exe ./times32.exe + ./trebuc32.exe ./verdan32.exe + ./webdin32.exe" +# ./IELPKTH.CAB" +# Need windows license to use this one +MS_FONT_URLS="${MS_COREFONTS//\.\//mirror://sourceforge/corefonts/}" + +SRC_URI="${SRC_PATH0}/X${MY_SV}src-1.tgz + ${SRC_PATH0}/X${MY_SV}src-2.tgz + ${SRC_PATH0}/X${MY_SV}src-3.tgz + ${SRC_PATH1}/X${MY_SV}src-1.tgz + ${SRC_PATH1}/X${MY_SV}src-2.tgz + ${SRC_PATH1}/X${MY_SV}src-3.tgz + http://fontconfig.org/release/fcpackage.${FC2_VER/\./_}.tar.gz + ${X_PATCHES} + ${X_DRIVERS} + truetype? ( ${MS_FONT_URLS} )" +# mirror://sourceforge/freetype/freetype-${FT2_VER}.tar.bz2 + +LICENSE="X11 MSttfEULA" +SLOT="0" +KEYWORDS="~x86 ~ppc ~sparc ~sparc64 ~alpha" + +DEPEND=">=sys-apps/baselayout-1.8.3 + >=sys-libs/ncurses-5.1 + >=sys-libs/pam-0.75 + >=sys-libs/zlib-1.1.3-r2 + >=sys-devel/flex-2.5.4a-r5 + sys-devel/libtool + sys-devel/perl + >=media-libs/freetype-${FT2_VER} + >=x11-base/opengl-update-1.4 + truetype? ( >=x11-misc/ttmkfdir-2.0 + app-arch/cabextract )" +# 3dfx? ( >=media-libs/glide-v3-3.10 )" + +RDEPEND=">=sys-apps/baselayout-1.8.3 + >=sys-libs/ncurses-5.1 + >=sys-libs/pam-0.75 + >=sys-libs/zlib-1.1.3-r2 + >=media-libs/freetype-${FT2_VER} + >=x11-base/opengl-update-1.4 + truetype? ( >=x11-misc/ttmkfdir-2.0 )" + +PROVIDE="virtual/x11 + virtual/opengl + virtual/glu" + +src_unpack() { + + unpack X${MY_SV}src-{1,2,3}.tgz \ + fcpackage.${FC2_VER/\./_}.tar.gz \ + XFree86-${PV}-patches-${PATCH_VER}.tar.bz2 +# freetype-${FT2_VER}.tar.bz2 + + # Fix permissions + chmod -R 0644 ${WORKDIR}/fcpackage.${FC2_VER/\./_}/ + + # Deploy our custom freetype2. We want it static for stability, + # and because some things in Gentoo depends the freetype2 that + # is distributed with XFree86. +# ebegin "Updating Freetype2" +# rm -rf ${S}/extras/freetype2 +# mv ${WORKDIR}/freetype-${FT2_VER} ${S}/extras/freetype2 || die +# eend 0 + + # Install the glide3 headers for compiling the tdfx driver + if [ -n "`use 3dfx`" ] + then + ebegin "Installing tempory glide3 headers" + cd ${WORKDIR}; unpack glide3-headers.tar.bz2 + cp -f ${S}/lib/GL/mesa/src/drv/tdfx/Imakefile ${T} + sed -e 's:$(GLIDE3INCDIR):$(WORKDIR)/glide3:g' \ + ${T}/Imakefile > ${S}/lib/GL/mesa/src/drv/tdfx/Imakefile + eend 0 + fi + + # Update to XFree86-4.2.1 tree + ebegin "Updating ${BASE_PV} sources to ${PV}" + cd ${S}; + gzip -dc ${DISTDIR}/${BASE_PV}-${PV}.diff.gz | patch -p1 > /dev/null || die + eend 0 + + # Update Xft, thanks to the guys from Redhat for the initial + # idea and X11.tmpl patch... +# cd ${S} +# ebegin "Updating Xft1" +# rm -rf ${S}/lib/Xft +# mv ${WORKDIR}/fcpackage.${FC2_VER/\./_}/Xft1 ${S}/lib/Xft || die +# eend 0 + + ebegin "Updating Xrender" + cd ${S}; rm -rf ${S}/lib/Xrender + mv ${WORKDIR}/fcpackage.${FC2_VER/\./_}/Xrender ${S}/lib/Xrender || die + # Get Xrender to also install its extension headers, as they need to + # be updated. + cp ${S}/lib/Xrender/Imakefile ${S}/lib/Xrender/Imakefile.orig + sed -e '2i NONSTANDARD_HEADERS = extutil.h region.h render.h renderproto.h' \ + ${S}/lib/Xrender/Imakefile.orig > ${S}/lib/Xrender/Imakefile + eend 0 + + # Various patches from all over + cd ${S}; einfo "Applying various patches (bugfixes/updates)..." + for x in ${WORKDIR}/patch/*.patch.bz2 + do + # New ARCH dependant patch naming scheme... + # + # ???_arch_foo.patch + # + if [ -f ${x} ] && \ + [ "${x/_all_}" != "${x}" -o "`eval echo \$\{x/_${ARCH}_\}`" != "${x}" ] + then + local count=0 + local popts="-l" + + einfo " ${x##*/}..." + + # Stupid me forgot it was reversed patch, and did not fix it before + # upload to ibiblio ... + [ "${x##*/}" = "019_all_4.2.1-ati-radeon-9000-support.patch.bz2" ] \ + && popts="${popts} -R" + + # Most -p differ for these patches ... im lazy, so shoot me :/ + while [ "${count}" -lt 5 ] + do + if bzip2 -dc ${x} | patch ${popts} --dry-run -f -p${count} > /dev/null + then + bzip2 -dc ${x} | patch ${popts} -p${count} > /dev/null + break + fi + + count=$((count + 1)) + done + + [ "${count}" -eq 5 ] && die "Failed Patch: ${x##*/}!" + fi + done + ebegin "Done with patching"; eend 0 + + # Update the Savage Driver + ebegin "Updating Savage driver" + cd ${S}/programs/Xserver/hw/xfree86/drivers/savage + tar -zxf ${DISTDIR}/savage-${SAVDRV_VER}.tgz || die + eend 0 + + # Update the SIS Driver + ebegin "Updating SiS driver" + cd ${S}/programs/Xserver/hw/xfree86/drivers/sis + tar -zxf ${DISTDIR}/sis_drv_src_${SISDRV_VER}.tar.gz || die + eend 0 + + # 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/ + # + if [ "`uname -r | cut -d. -f1,2`" != "2.2" ] + then + ebegin "Updating Wacom USB Driver" + gzip -dc ${DISTDIR}/xf86Wacom.c.gz > \ + ${S}/programs/Xserver/hw/xfree86/input/wacom/xf86Wacom.c || die + eend 0 + fi + + # Unpack the MS fonts + if [ -n "`use truetype`" ] + then + einfo "Unpacking MS Core Fonts..." + mkdir -p ${WORKDIR}/truetype; cd ${WORKDIR}/truetype + for x in ${MS_COREFONTS} + do + if [ -f ${DISTDIR}/${x} ] + then + einfo " ${x/\.\/}..." + cabextract --lowercase ${DISTDIR}/${x} > /dev/null || die + fi + done + ebegin "Done unpacking Core Fonts"; eend 0 + fi + + ebegin "Setting up config/cf/host.def" + cd ${S}; cp ${FILESDIR}/${PVR}/site.def config/cf/host.def || die + echo "#define XVendorString \"Gentoo Linux (XFree86 ${PV}, revision ${PR})\"" \ + >> config/cf/host.def + + if [ "`gcc-version`" != "2.95" ] + then + # should fix bug #4189. gcc-3.x have problems with -march=pentium4 + # and -march=athlon-tbird + export CFLAGS="${CFLAGS/pentium4/pentium3}" + export CXXFLAGS="${CXXFLAGS/pentium4/pentium3}" + export CFLAGS="${CFLAGS/athlon-tbird/athlon}" + export CXXFLAGS="${CXXFLAGS/athlon-tbird/athlon}" + + # Without this, modules breaks with gcc3 + if [ "`gcc-version`" = "3.1" ] + then + export CFLAGS="${CFLAGS} -fno-merge-constants" + export CXXFLAGS="${CXXFLAGS} -fno-merge-constants" + fi + fi + echo "#define OptimizedCDebugFlags ${CFLAGS}" >> config/cf/host.def + echo "#define OptimizedCplusplusDebugFlags ${CXXFLAGS}" >> config/cf/host.def + if [ "${DEBUGBUILD}" != "true" ] + then + # use less ram .. got this from Spider's makeedit.eclass :) + echo "#define GccWarningOptions -Wno-return-type -w" >> config/cf/host.def + fi + + if [ "${ARCH}" = "x86" ] + then + # optimize Mesa for architecture + if [ -n "`use mmx`" ] + then + echo "#define HasMMXSupport YES" >> config/cf/host.def + echo "#define MesaUseMMX YES" >> config/cf/host.def + fi + if [ -n "`use 3dnow`" ] + then + echo "#define Has3DNowSupport YES" >> config/cf/host.def + echo "#define MesaUse3DNow YES" >> config/cf/host.def + fi + if [ -n "`use sse`" ] + then + echo "#define HasKatmaiSupport YES" >> config/cf/host.def + echo "#define MesaUseKatmai YES" >> config/cf/host.def + fi + fi + + if [ "`uname -r | cut -d. -f1,2`" != "2.2" ] + then + echo "#define HasLinuxInput YES" >> config/cf/host.def + 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 + + if [ -n "`use nls`" ] + then + echo "#define XtermWithI18N YES" >> config/cf/host.def + fi + eend 0 + + # Apply Xft quality patch from http://www.cs.mcgill.ca/~dchest/xfthack/ +# einfo "Applying Xft quality hack..." +# cd ${S}/lib/Xft +# cat ${FILESDIR}/${PVR}/xft-quality.diff | patch -p1 > /dev/null || die +} + +src_compile() { + + einfo "Building XFree86..." + emake World || die + + if [ -n "`use nls`" ] + then + cd ${S}/nls + make || die + fi +} + +src_install() { + + einfo "Installing XFree86..." + # gcc3 related fix. Do this during install, so that our + # whole build will not be compiled without mmx instructions. + if [ "`gcc-version`" != "2.95" ] && [ "${ARCH}" = "x86" ] + then + make CDEBUGFLAGS="${CDEBUGFLAGS} -mno-mmx" \ + CXXDEBUGFLAGS="${CXXDEBUGFLAGS} -mno-mmx" \ + install DESTDIR=${D} || die + else + make install DESTDIR=${D} || die + fi + + make install.man DESTDIR=${D} || die + + if [ -n "`use nls`" ] + then + cd ${S}/nls + make DESTDIR=${D} install || die + fi + + # Make sure user running xterm can only write to utmp. + fowners root.utmp /usr/X11R6/bin/xterm + fperms 2755 /usr/X11R6/bin/xterm + + # Fix permissions on locale/common/*.so + for x in /usr/X11R6/lib/X11/locale/common/*.so* + do + if [ -f ${x} ] + then + fperms 0755 ${x} + fi + done + +# cd ${D}/usr/X11R6/include/X11/Xft +# # Patch the Xft-1.1 headers to be more compadible with 1.0... +# ebegin "Fixing include/X11/Xft/Xft.h" +# patch -p3 < ${FILESDIR}/XFree86-${PV}-Xft11-hack.patch > /dev/null || die +# eend 0 + + # we zap the our CFLAGS in the host.def file, as hardcoded CFLAGS can + # mess up other things that use xmkmf + ebegin "Fixing lib/X11/config/host.def" + cp ${D}/usr/X11R6/lib/X11/config/host.def ${T} + awk '!/OptimizedCDebugFlags|OptimizedCplusplusDebugFlags|GccWarningOptions/ {print $0}' \ + ${T}/host.def > ${D}/usr/X11R6/lib/X11/config/host.def + # 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. + eend 0 + + insinto /etc/X11 + # We use fontconfig now ... + doins ${FILESDIR}/${PVR}/XftConfig + #newins ${S}/lib/Xft/XftConfig-OBSOLETE XftConfig + dosym ../../../../etc/X11/XftConfig /usr/X11R6/lib/X11/XftConfig + + # Install example config file + newins ${S}/programs/Xserver/hw/xfree86/XF86Config XF86Config.example + + # Install MS fonts. + if [ -n "`use truetype`" ] + then + ebegin "Installing MS Core Fonts" + mkdir -p ${D}/usr/X11R6/lib/X11/fonts/truetype + mv -f ${WORKDIR}/truetype/*.ttf ${D}/usr/X11R6/lib/X11/fonts/truetype + eend 0 + fi + + # Standard symlinks + dodir /usr/{bin,include,lib} + dosym ../X11R6/bin /usr/bin/X11 + dosym ../X11R6/include/X11 /usr/include/X11 + dosym ../X11R6/include/DPS /usr/include/DPS + dosym ../X11R6/include/GL /usr/include/GL + dosym ../X11R6/lib/X11 /usr/lib/X11 + dosym ../../usr/X11R6/lib/X11/xkb /etc/X11/xkb + + # Some critical directories + keepdir /var/lib/xdm + dosym ../../../var/lib/xdm /etc/X11/xdm/authdir + + # Remove invalid symlinks + rm -f ${D}/usr/lib/libGL.* + # Create required symlinks + 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 + + # Remove libz.a, as it causes problems (bug #4777) + rm -f ${D}/usr/X11R6/lib/libz.a + # And do not forget the includes (bug #9470) + rm -f ${D}/usr/X11R6/include/{zconf.h,zlib.h} + + # Hack from Mandrake (update ours that just created Compose files for + # all locales) + for x in $(find ${D}/usr/X11R6/lib/X11/locale/ -mindepth 1 -type d) + do + # make empty Compose files for some locales + # CJK must not have that file (otherwise XIM don't works some times) + case `basename ${x}` in + C|microsoft-*|iso8859-*|koi8-*) + if [ ! -f ${x}/Compose ] + then + touch ${x}/Compose + fi + ;; + ja*|ko*|zh*) + if [ -r "${x}/Compose" ] + then + rm -f ${x}/Compose + fi + ;; + esac + done + + 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 + newins ${FILESDIR}/${PVR}/xdm.pamd xdm + # Need to fix console permissions first + #newins ${FILESDIR}/${PVR}/xserver.pamd xserver + 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 dynamic libGL stuff + ebegin "Moving libGL and friends for dynamic switching" + dodir /usr/lib/opengl/xfree/{lib,extensions,include} + local x="" + for x in ${D}/usr/X11R6/lib/libGL.so* \ + ${D}/usr/X11R6/lib/libGL.la \ + ${D}/usr/X11R6/lib/libGL.a \ + ${D}/usr/X11R6/lib/libMesaGL.so + do + if [ -f ${x} -o -L ${x} ] + then + # libGL.a cause problems with tuxracer, etc + mv -f ${x} ${D}/usr/lib/opengl/xfree/lib + fi + done + for x in ${D}/usr/X11R6/lib/modules/extensions/libglx* + do + if [ -f ${x} -o -L ${x} ] + then + mv -f ${x} ${D}/usr/lib/opengl/xfree/extensions + fi + done + for x in ${D}/usr/X11R6/include/GL/{gl.h,glx.h,glxtokens.h} + do + if [ -f ${x} -o -L ${x} ] + then + mv -f ${x} ${D}/usr/lib/opengl/xfree/include + fi + done + eend 0 +} + +pkg_preinst() { + + # These changed from a directory/file to a symlink and reverse + 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}/etc/X11/app-defaults ] + then + rm -f ${ROOT}/etc/X11/app-defaults + fi + + if [ ! -L ${ROOT}/usr/X11R6/lib/X11/app-defaults ] && \ + [ -d ${ROOT}/usr/X11R6/lib/X11/app-defaults ] + then + if [ ! -d ${ROOT}/etc/X11/app-defaults ] + then + mkdir -p ${ROOT}/etc/X11/app-defaults + fi + + mv -f ${ROOT}/usr/X11R6/lib/X11/app-defaults ${ROOT}/etc/X11 + fi + + if [ -L ${ROOT}/usr/X11R6/lib/X11/xkb ] + then + rm -f ${ROOT}/usr/X11R6/lib/X11/xkb + fi + + if [ ! -L ${ROOT}/etc/X11/xkb ] && \ + [ -d ${ROOT}/etc/X11/xkb ] + then + if [ ! -d ${ROOT}/usr/X11R6/lib/X11/xkb ] + then + mkdir -p ${ROOT}/usr/X11R6/lib/X11 + fi + + mv -f ${ROOT}/etc/X11/xkb ${ROOT}/usr/X11R6/lib/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 + + # clean out old fonts.* and encodings.dir files, as we + # will regenerate them + find ${ROOT}/usr/X11R6/lib/X11/fonts/ -type f -name 'fonts.*' \ + -exec rm -f {} \; + find ${ROOT}/usr/X11R6/lib/X11/fonts/ -type f -name 'encodings.dir' \ + -exec rm -f {} \; + + # make sure we do not have any stale files lying round + # that could break things. + rm -f ${ROOT}/usr/X11R6/lib/libGL.* +} + +pkg_postinst() { + + env-update + + if [ "${ROOT}" = "/" ] + then + local x="" + + umask 022 + + if [ -x ${ROOT}/usr/bin/fc-cache ] + then + ebegin "Creating FC font cache..." + ${ROOT}/usr/bin/fc-cache + eend 0 + fi + + # This one cause ttmkfdir to segfault :/ + #rm -f ${ROOT}/usr/X11R6/lib/X11/fonts/encodings/large/gbk-0.enc.gz + + # ******************************************************************** + # A note about fonts and needed files: + # + # 1) Create /usr/X11R6/lib/X11/fonts/encodings/encodings.dir + # + # 2) Create font.scale for TrueType fonts (need to do this before + # we create fonts.dir files, else fonts.dir files will be + # invalid for TrueType fonts...) + # + # 3) Now Generate fonts.dir files. + # + # CID fonts is a bit more involved, but as we do not install any, + # I am not going to bother. + # + # <azarah@gentoo.org> (20 Oct 2002) + # + # ******************************************************************** + + ebegin "Generating encodings.dir..." + # Create the encodings.dir in /usr/X11R6/lib/X11/fonts/encodings + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/X11R6/lib" \ + ${ROOT}/usr/X11R6/bin/mkfontdir -n \ + -e ${ROOT}/usr/X11R6/lib/X11/fonts/encodings \ + -e ${ROOT}/usr/X11R6/lib/X11/fonts/encodings/large \ + -- ${ROOT}/usr/X11R6/lib/X11/fonts/encodings + eend 0 + + if [ -x ${ROOT}/usr/X11R6/bin/ttmkfdir ] + then + ebegin "Creating fonts.scale files..." + for x in $(find ${ROOT}/usr/X11R6/lib/X11/fonts/* -type d -maxdepth 1) + do + [ -z "$(ls ${x}/)" ] && continue + [ "$(ls ${x}/)" = "fonts.cache-1" ] && continue + + # Only generate .scale files if there are truetype + # fonts present ... + if [ "${x/encodings}" = "${x}" -a \ + -n "$(find ${x} -iname '*.tt[cf]' -print)" ] + then + ${ROOT}/usr/X11R6/bin/ttmkfdir \ + -e ${ROOT}/usr/X11R6/lib/X11/fonts/encodings/encodings.dir \ + -o ${x}/fonts.scale -d ${x} + fi + done + eend 0 + fi + + ebegin "Generating fonts.dir files..." + for x in $(find ${ROOT}/usr/X11R6/lib/X11/fonts/* -type d -maxdepth 1) + do + [ -z "$(ls ${x}/)" ] && continue + [ "$(ls ${x}/)" = "fonts.cache-1" ] && continue + + if [ "${x/encodings}" = "${x}" ] + then + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/X11R6/lib" \ + ${ROOT}/usr/X11R6/bin/mkfontdir \ + -e ${ROOT}/usr/X11R6/lib/X11/fonts/encodings \ + -e ${ROOT}/usr/X11R6/lib/X11/fonts/encodings/large \ + -- ${x} + fi + done + eend 0 + + ebegin "Generating Xft Cache..." + for x in $(find ${ROOT}/usr/X11R6/lib/X11/fonts/* -type d -maxdepth 1) + do + [ -z "$(ls ${x}/)" ] && continue + [ "$(ls ${x}/)" = "fonts.cache-1" ] && continue + + # Only generate XftCache files if there are truetype + # fonts present ... + if [ "${x/encodings}" = "${x}" ] && \ + [ -n "$(find ${x} -iname '*.tt[cf]' -print)" -o \ + -n "$(find ${x} -iname '*.pf[ab]' -print)" ] + then + LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/X11R6/lib" \ + ${ROOT}/usr/X11R6/bin/xftcache ${x} + fi + done + eend 0 + + ebegin "Fixing permissions..." + find ${ROOT}/usr/X11R6/lib/X11/fonts/ -type f -name 'font.*' \ + -exec chmod 0644 {} \; + eend 0 + + # Switch to the xfree implementation. + # Use new opengl-update that will not reset user selected + # OpenGL interface ... + ${ROOT}/usr/sbin/opengl-update --use-old xfree + fi + + for x in $(find ${ROOT}/usr/X11R6/lib/X11/locale/ -mindepth 1 -type d) + do + # Remove old compose files we might have created incorrectly + # CJK must not have that file (otherwise XIM don't works some times) + case `basename ${x}` in + ja*|ko*|zh*) + if [ -r "${x}/Compose" ] + then + rm -f ${x}/Compose + fi + ;; + esac + done + + # These need to be owned by root and the correct permissions + # (bug #8281) + for x in ${ROOT}/tmp/.{ICE,X11}-unix + do + if [ ! -d ${x} ] + then + mkdir -p ${x} + fi + + chown root:root ${x} + chmod 1777 ${x} + done + + if [ "`use 3dfx`" ] + then + einfo + einfo "If using a 3DFX card, and you had \"3dfx\" in your USE flags," + einfo "please merge media-libs/glide-v3 if you have not done so yet" + einfo "by doing:" + einfo + einfo " # emerge media-libs/glide-v3" + einfo + fi +} + +pkg_postrm() { + + # Fix problematic links + if [ -x ${ROOT}/usr/X11R6/bin/XFree86 ] + then + ln -snf ../X11R6/bin ${ROOT}/usr/bin/X11 + ln -snf ../X11R6/include/X11 ${ROOT}/usr/include/X11 + ln -snf ../X11R6/include/DPS ${ROOT}/usr/include/DPS + ln -snf ../X11R6/include/GL ${ROOT}/usr/include/GL + ln -snf ../X11R6/lib/X11 ${ROOT}/usr/lib/X11 + fi +} + |