diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2002-12-05 22:35:11 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2002-12-05 22:35:11 +0000 |
commit | 8a8a09c3e06958a3fe48349d6dc19e850ed8415d (patch) | |
tree | 18091d77851852c5b1d644d9c73668e4823b97a5 /x11-base/xfree | |
parent | Added tweaks to include FPDF components. Submitted by Arthur Ward. Fixes #10558 (diff) | |
download | gentoo-2-8a8a09c3e06958a3fe48349d6dc19e850ed8415d.tar.gz gentoo-2-8a8a09c3e06958a3fe48349d6dc19e850ed8415d.tar.bz2 gentoo-2-8a8a09c3e06958a3fe48349d6dc19e850ed8415d.zip |
New version
Diffstat (limited to 'x11-base/xfree')
23 files changed, 2153 insertions, 1 deletions
diff --git a/x11-base/xfree/ChangeLog b/x11-base/xfree/ChangeLog index f1c89180516f..d21c62ac062f 100644 --- a/x11-base/xfree/ChangeLog +++ b/x11-base/xfree/ChangeLog @@ -1,6 +1,18 @@ # 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.64 2002/11/28 20:04:34 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/ChangeLog,v 1.65 2002/12/05 22:35:11 azarah Exp $ + +*xfree-4.2.1-r2 (05 Dec 2002) + + 05 Dec 2002; Martin Schlemmer <azarah@gentoo.org> xfree-4.2.1-r2.ebuild : + + Basically cleanup 4.2.1-r1. + - Resolve bug #10624 (Updated trident patch). + - Resolve bug #10407 (XFree86 ebuild should include i830 1mb stolen mem patch). + - Resolve bug #10227 (Xfree requires new SiS driver for Asus P4S533-VM + Motherboard). + - Add xfree-4.2.x.-bison.fixes.patch for future bison-1.50 support, resolving + bug #11595. 28 Nov 2002; Martin Schlemmer <azarah@gentoo.org> xfree-4.2.1-r1.ebuild : diff --git a/x11-base/xfree/files/4.2.1-r2/10xfree b/x11-base/xfree/files/4.2.1-r2/10xfree new file mode 100644 index 000000000000..a302f743012c --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/Sessions/Xsession b/x11-base/xfree/files/4.2.1-r2/Sessions/Xsession new file mode 100644 index 000000000000..c86ccee19ff3 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/XftConfig b/x11-base/xfree/files/4.2.1-r2/XftConfig new file mode 100644 index 000000000000..352757a1ce64 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/Xsession b/x11-base/xfree/files/4.2.1-r2/Xsession new file mode 100644 index 000000000000..3368bd4de214 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/Xsession @@ -0,0 +1,73 @@ +#!/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 + +xinitdir=/usr/X11R6/lib/X11/xinit +startup=$HOME/.xsession +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +sysresources=$xinitdir/.Xresources +sysmodmap=$xinitdir/.Xmodmap + +# 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 + + # 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 + + if [ -x "$startup" ]; then + exec "$startup" + else + exec /bin/sh "$startup" + fi +# Lastly, xsm as failsafe +else + if [ -r "$resources" ]; then + xrdb -load "$userresources" + fi + exec xsm +fi + diff --git a/x11-base/xfree/files/4.2.1-r2/Xsetup_0 b/x11-base/xfree/files/4.2.1-r2/Xsetup_0 new file mode 100644 index 000000000000..2022592bb146 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/chooser.sh b/x11-base/xfree/files/4.2.1-r2/chooser.sh new file mode 100644 index 000000000000..2bdba67b77bd --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/chooser.sh,v 1.1 2002/12/05 22:35:11 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-r2/lib/libGL.la b/x11-base/xfree/files/4.2.1-r2/lib/libGL.la new file mode 100644 index 000000000000..8566b67d4c3d --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/lib/libGLU.la b/x11-base/xfree/files/4.2.1-r2/lib/libGLU.la new file mode 100644 index 000000000000..86b6432cf5db --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/lib/libOSMesa.la b/x11-base/xfree/files/4.2.1-r2/lib/libOSMesa.la new file mode 100644 index 000000000000..56a72ed91f02 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/site.def b/x11-base/xfree/files/4.2.1-r2/site.def new file mode 100644 index 000000000000..0ff2342e1053 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/site.def @@ -0,0 +1,111 @@ +/* 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 +/* Needed for 104_all_4.2.1-fix-shared-libXau-link.v2.patch.bz2 */ + +#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 BuildXF86DRM YES */ +#define HasAgpGart YES +#define BuildGLXLibrary YES +#define BuildGlxExt YES +/* #define GlxUseSGISI YES */ +#define BuildGLULibrary YES +#define SharedLibGLU YES +#define NormalLibGLU YES +#define BuildXvExt YES +#define BuildXF86DGA YES +#define BuildRender YES + +/* Need this to build libs with -fPIC */ +#undef StaticNeedsPicForShared +#undef BuildLibGlxWithoutPIC +#define StaticNeedsPicForShared YES +#define BuildLibGlxWithoutPIC NO + +/* 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-r2/startDM.sh b/x11-base/xfree/files/4.2.1-r2/startDM.sh new file mode 100644 index 000000000000..0b1710e4e53d --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/startDM.sh @@ -0,0 +1,32 @@ +#!/bin/bash --login +# 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-r2/startDM.sh,v 1.1 2002/12/05 22:35:11 azarah Exp $ + +source /etc/init.d/functions.sh + +# We need to source /etc/profile for stuff like $LANG to work +# bug #10190. +source /etc/profile + +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-r2/xdm.pamd b/x11-base/xfree/files/4.2.1-r2/xdm.pamd new file mode 100644 index 000000000000..1d2e081625f1 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/xdm.start b/x11-base/xfree/files/4.2.1-r2/xdm.start new file mode 100644 index 000000000000..79c9f20e5b99 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/xdm.start @@ -0,0 +1,106 @@ +#!/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-r2/xdm.start,v 1.1 2002/12/05 22:35:11 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-r2/xfs.conf.d b/x11-base/xfree/files/4.2.1-r2/xfs.conf.d new file mode 100644 index 000000000000..352050e89920 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/xfs.conf.d,v 1.1 2002/12/05 22:35:11 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-r2/xfs.config b/x11-base/xfree/files/4.2.1-r2/xfs.config new file mode 100644 index 000000000000..feed6319bd88 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/xfs.config @@ -0,0 +1,54 @@ +# +# 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/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-r2/xfs.start b/x11-base/xfree/files/4.2.1-r2/xfs.start new file mode 100644 index 000000000000..f0f900a15348 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/xfs.start,v 1.1 2002/12/05 22:35:11 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} &> /dev/null + 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-r2/xft-quality.diff b/x11-base/xfree/files/4.2.1-r2/xft-quality.diff new file mode 100644 index 000000000000..fa0d6e395fff --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/xinitrc b/x11-base/xfree/files/4.2.1-r2/xinitrc new file mode 100644 index 000000000000..53cde32559d2 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/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-r2/xserver.pamd b/x11-base/xfree/files/4.2.1-r2/xserver.pamd new file mode 100644 index 000000000000..7ff11c4329e2 --- /dev/null +++ b/x11-base/xfree/files/4.2.1-r2/xserver.pamd @@ -0,0 +1,8 @@ +#%PAM-1.0 + +auth sufficient /lib/security/pam_rootok.so +# Next line you need console ownership to be able to start X +#auth required /lib/security/pam_console.so +auth required /lib/security/pam_permit.so + +account required /lib/security/pam_permit.so diff --git a/x11-base/xfree/files/digest-xfree-4.2.1-r2 b/x11-base/xfree/files/digest-xfree-4.2.1-r2 new file mode 100644 index 000000000000..527417eb31a2 --- /dev/null +++ b/x11-base/xfree/files/digest-xfree-4.2.1-r2 @@ -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 50891a2431cc829d98829e385e2c452c XFree86-4.2.1-patches-1.2.tar.bz2 405424 +MD5 222bffcae6c2be37ec5cd993037f4f45 xf86Wacom.c.gz 26156 +MD5 fe6b93f81cc2e9cacded137c4aaff25f savage-1.1.25t.tgz 69515 +MD5 9cb34b1f0bf5cb0afdd865934664b2ad sis_drv_src_271102-1.tar.gz 317440 +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/files/xfree-4.2.x.-bison.fixes.patch b/x11-base/xfree/files/xfree-4.2.x.-bison.fixes.patch new file mode 100644 index 000000000000..1410681cf33c --- /dev/null +++ b/x11-base/xfree/files/xfree-4.2.x.-bison.fixes.patch @@ -0,0 +1,91 @@ +################################################################################## +$Id: xfree-4.2.x.-bison.fixes.patch,v 1.1 2002/12/05 22:35:11 azarah Exp $ +################################################################################## + + XFREE86 PATCH REPORT + ==================== + +Xfree86-Release: 4.2.x +Patch-ID: xc-giffordj-001 + +Bug-Reported-by: giffordj@linkline.com +Assisted by : akim@epita.fr (Bison Support) +Patch by : giffordj@linkline.com + +Bug-Description: Bison errors in xftgram.y gram.y xkbparse.y + +Compiling Xfree86 4.2.0 and 4.2.1 with Bison 1.50 will give the following +errors. parse error, unexpected ":", expecting ";" or "|" and stops +processing. This patch corrects this error. + +In gram.y another error exists stating type clash(`'`num') on default action +and stops processing. This patch corrects this error. + +In xkbparse.y another error exist stating parse error, unexpect "|". This +patch also corrects this error. + +Patch: + +diff -uNr xc.orig/lib/Xft/xftgram.y xc/lib/Xft/xftgram.y +--- xc.orig/lib/Xft/xftgram.y 2001-05-16 03:32:54.000000000 -0700 ++++ xc/lib/Xft/xftgram.y 2002-10-11 14:00:14.000000000 -0700 +@@ -165,6 +165,7 @@ + matrix.yx = $4; + matrix.__REALLY_YY__ = $5; + } ++ ; + number : INTEGER + { $$ = (double) $1; } + | DOUBLE +diff -uNr xc.orig/programs/twm/gram.y xc/programs/twm/gram.y +--- xc.orig/programs/twm/gram.y 2001-12-14 12:01:07.000000000 -0800 ++++ xc/programs/twm/gram.y 2002-10-11 14:00:14.000000000 -0700 +@@ -458,7 +458,7 @@ + ParseError = 1; + } + } +- win_color_list ++ win_color_list {/* No action. */;} + | CKEYWORD string { if (!do_color_keyword ($1, color, + $2)) { + twmrc_error_prefix(); +@@ -654,6 +654,8 @@ + RemoveDQuote(ptr); + $$ = ptr; + } ++ ; ++ + number : NUMBER { $$ = $1; } + ; + +diff -uNr xc.orig/programs/xkbcomp/xkbparse.y xc/programs/xkbcomp/xkbparse.y +--- xc.orig/programs/xkbcomp/xkbparse.y 2001-01-17 15:45:45.000000000 -0800 ++++ xc/programs/xkbcomp/xkbparse.y 2002-10-11 14:01:05.000000000 -0700 +@@ -448,7 +448,6 @@ + + ShapeDecl : SHAPE String OBRACE OutlineList CBRACE SEMI + { $$= ShapeDeclCreate($2,(OutlineDef *)&$4->common); } +- ; + | SHAPE String OBRACE CoordList CBRACE SEMI + { + OutlineDef *outlines; +@@ -511,7 +510,7 @@ + { + $$= (OverlayKeyDef *) + AppendStmt(&$1->common,&$3->common); +- }; ++ } + | OverlayKey + { $$= $1; } + ; +diff -uNr xc.orig/programs/xkbevd/cfgparse.y xc/programs/xkbevd/cfgparse.y +--- xc.orig/programs/xkbevd/cfgparse.y 2001-01-17 15:46:07.000000000 -0800 ++++ xc/programs/xkbevd/cfgparse.y 2002-10-11 14:00:14.000000000 -0700 +@@ -173,6 +173,7 @@ + | SHELL { $$ = ShellAction; } + | SOUND { $$ = SoundAction; } + | { $$ = UnknownAction; } ++ ; + + OptNameSpec : NameSpec { $$= $1; } + | { $$= NULL; } diff --git a/x11-base/xfree/xfree-4.2.1-r2.ebuild b/x11-base/xfree/xfree-4.2.1-r2.ebuild new file mode 100644 index 000000000000..370dc726f41e --- /dev/null +++ b/x11-base/xfree/xfree-4.2.1-r2.ebuild @@ -0,0 +1,767 @@ +# 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-r2.ebuild,v 1.1 2002/12/05 22:35:11 azarah Exp $ + +IUSE="sse nls mmx truetype 3dnow 3dfx" + +inherit eutils 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.2" +FT2_VER="2.1.2" +FC2_VER="2.0" +SISDRV_VER="271102-1" +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}-r2 + >=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}-r2 + >=media-libs/fontconfig-2.0-r4 + >=x11-base/opengl-update-1.4 + truetype? ( >=x11-misc/ttmkfdir-2.0 )" +# Above fontconfig is just to make sure user have a fixed version installed. + +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 0755 ${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 + cd ${S}; + EPATCH_SINGLE_MSG="Updating ${BASE_PV} sources to ${PV}..." \ + epatch ${DISTDIR}/${BASE_PV}-${PV}.diff.gz + 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 + + if [ "`gcc-version`" = "2.95" ] + then + # Do not apply this patch for gcc-2.95.3, as it cause compile to fail, + # closing bug #10146. + EPATCH_EXCLUDE="107_all_4.2.1-gcc32-internal-compiler-error.patch.bz2" + fi + # Various Patches from all over + epatch ${WORKDIR}/patch/ + unset EPATCH_EXCLUDE + + # Fix bison parse errors with bison-1.50 and up, bug #11595 + # + # http://www.jg555.com/cvs/cvsweb.cgi/~checkout~/patches/xfree/xfree-4.2.x.-bison.fixes.patch + epatch ${FILESDIR}/xfree-4.2.x.-bison.fixes.patch + + # 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/-march=pentium4/-march=pentium3}" + export CXXFLAGS="${CXXFLAGS/-march=pentium4/-march=pentium3}" + export CFLAGS="${CFLAGS/-march=athlon-tbird/-march=athlon}" + export CXXFLAGS="${CXXFLAGS/-march=athlon-tbird/-march=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 + + # These are not included anymore as they are obsolete + rm -rf ${S}/doc/hardcopy/{XIE,PEX5} + for x in ${S}/programs/Xserver/hw/xfree86/{XF98Conf.cpp,XF98Config} + do + if [ -f ${x} ] + then + cp ${x} ${x}.orig + grep -iv 'Load[[:space:]]*"\(pex5\|xie\)"' ${x}.orig > ${x} + rm -f ${x}.orig + fi + done + + # 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 install DESTDIR=${D} || \ + make CDEBUGFLAGS="${CDEBUGFLAGS} -mno-mmx" \ + CXXDEBUGFLAGS="${CXXDEBUGFLAGS} -mno-mmx" \ + install DESTDIR=${D} || die + else + make install DESTDIR=${D} || die + fi + + einfo "Installing man pages..." + make install.man DESTDIR=${D} || die + einfo "Compressing man pages..." + prepman /usr/X11R6 + + 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 + + # 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 ${FILESDIR}/${PVR}/XftConfig XftConfig.new + #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" + dodir /usr/X11R6/lib/X11/fonts/truetype + cp -af ${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 + + # Do not overwrite /usr/X11R6/lib/libXft.so if we have Xft2.0 installed ... + if [ -L ${ROOT}/usr/X11R6/lib/libXft.so ] + then + local libxft_link="`readlink ${ROOT}/usr/X11R6/lib/libXft.so`" + + if [ "${libxft_link##*/}" = "libXft.so.2.0" ] && \ + [ -f ${ROOT}/usr/lib/libXft.so.2.0 ] + then + rm -f ${D}/usr/X11R6/lib/libXft.so + fi + fi + + # 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.* +} + +update_XftConfig() { + + if [ "${ROOT}" = "/" ] + then + local CHECK1="f901d29ec6e3cbb0a5b0fd5cbdd9ff33" + local CHECK2="$(md5sum ${ROOT}/etc/X11/XftConfig | cut -d ' ' -f1)" + + if [ "${CHECK1}" = "${CHECK2}" ] + then + echo + ewarn "Due to an invalid /etc/X11/XftConfig from x11-base/xfree-4.2.1," + ewarn "/etc/X11/XftConfig is being updated automatically. Your old" + ewarn "version of /etc/X11/XftConfig will be backed up as:" + ewarn + ewarn " ${ROOT}etc/X11/XftConfig.bak" + echo + + cp -a ${ROOT}/etc/X11/XftConfig \ + ${ROOT}/etc/X11/XftConfig.bak + mv -f ${ROOT}/etc/X11/XftConfig.new \ + ${ROOT}/etc/X11/XftConfig + rm -f ${ROOT}/etc/X11/._cfg????_XftConfig + else + rm -f ${ROOT}/etc/X11/XftConfig.new + fi + fi +} + + +pkg_postinst() { + + env-update + + if [ "${ROOT}" = "/" ] + then + local x="" + + umask 022 + + if [ -x ${ROOT}/usr/bin/fc-cache ] + then + ebegin "Creating FC font cache..." + HOME="/root" ${ROOT}/usr/bin/fc-cache -f + 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} &> /dev/null + 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 ... + echo; ${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 + + # Update /etc/X11/XftConfig if its the one from Xft1.2, as its + # invalid for Xft1.1 .... + update_XftConfig + + # 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 + echo + 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" + echo + 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 +} + |