diff options
21 files changed, 2190 insertions, 1 deletions
diff --git a/x11-base/xfree/ChangeLog b/x11-base/xfree/ChangeLog index a3feb2b3d815..13507241f4b0 100644 --- a/x11-base/xfree/ChangeLog +++ b/x11-base/xfree/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for x11-base/xfree # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/ChangeLog,v 1.101 2003/02/25 00:52:22 seemant Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/ChangeLog,v 1.102 2003/02/28 04:28:29 seemant Exp $ + +*xfree-4.3.0 (27 Feb 2003) + + 27 Feb 2003; Seemant Kulleen <seemant@gentoo.org> xfree-4.3.0.ebuild + files/digest-xfree-4.3.0 files/4.3.0 : + + Version bump to newest release. *xfree-4.2.99.902 (24 Feb 2003) diff --git a/x11-base/xfree/files/4.3.0/10xfree b/x11-base/xfree/files/4.3.0/10xfree new file mode 100644 index 000000000000..4dba95e6bd68 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/10xfree @@ -0,0 +1,7 @@ +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 +CONFIG_PROTECT=/usr/X11R6/lib/X11/xkb diff --git a/x11-base/xfree/files/4.3.0/Sessions/Xsession b/x11-base/xfree/files/4.3.0/Sessions/Xsession new file mode 100644 index 000000000000..c86ccee19ff3 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0/XftConfig b/x11-base/xfree/files/4.3.0/XftConfig new file mode 100644 index 000000000000..352757a1ce64 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0/Xsession b/x11-base/xfree/files/4.3.0/Xsession new file mode 100644 index 000000000000..ffeef4c87420 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/Xsession @@ -0,0 +1,73 @@ +#!/bin/bash --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 "$userresources" ]; then + xrdb -load "$userresources" + fi + exec xsm +fi + diff --git a/x11-base/xfree/files/4.3.0/Xsetup_0 b/x11-base/xfree/files/4.3.0/Xsetup_0 new file mode 100644 index 000000000000..2022592bb146 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0/chooser.sh b/x11-base/xfree/files/4.3.0/chooser.sh new file mode 100644 index 000000000000..1e25d530f509 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0/chooser.sh,v 1.1 2003/02/28 04:28:29 seemant 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.3.0/lib/libGL.la b/x11-base/xfree/files/4.3.0/lib/libGL.la new file mode 100644 index 000000000000..8566b67d4c3d --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0/lib/libGLU.la b/x11-base/xfree/files/4.3.0/lib/libGLU.la new file mode 100644 index 000000000000..86b6432cf5db --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0/lib/libOSMesa.la b/x11-base/xfree/files/4.3.0/lib/libOSMesa.la new file mode 100644 index 000000000000..56a72ed91f02 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0/site.def b/x11-base/xfree/files/4.3.0/site.def new file mode 100644 index 000000000000..9338bf46c273 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/site.def @@ -0,0 +1,117 @@ +/* Use buildin zlib to try and fix segfaults. Bug #4777 */ +#define HasZlib NO +#define HasNCurses YES +#define HasLibCrypt YES +#define HasTk NO +#define HasTcl NO +#define FSUseSyslog YES +#define HasExpat 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 +/* This is currently broken, so we depend on fontconfig, and then + just do not install any fontconfig related files ... */ +/* #define HasFontconfig YES */ + +/* We PDEPEND on Xft2, and link XFree86 only to the static lib, + so that we will not have conflicting files for Xft2 from + x11-base/xfree and x11-libs/xft ... */ +#define SharedLibXft NO +#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.3.0/startDM.sh b/x11-base/xfree/files/4.3.0/startDM.sh new file mode 100644 index 000000000000..d1346e383e16 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/startDM.sh @@ -0,0 +1,36 @@ +#!/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.3.0/startDM.sh,v 1.1 2003/02/28 04:28:29 seemant Exp $ + +source /etc/init.d/functions.sh + +# We need to source /etc/profile for stuff like $LANG to work +# bug #10190. +source /etc/profile + +# Great new Gnome2 feature, AA +# We enable this by default +export GDK_USE_XFT=1 + +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.3.0/xdm.pamd b/x11-base/xfree/files/4.3.0/xdm.pamd new file mode 100644 index 000000000000..1d2e081625f1 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0/xdm.start b/x11-base/xfree/files/4.3.0/xdm.start new file mode 100644 index 000000000000..b34ea04e2ea9 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/xdm.start @@ -0,0 +1,112 @@ +#!/sbin/runscript +# Copyright 1999-2003 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.3.0/xdm.start,v 1.1 2003/02/28 04:28:29 seemant 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)" + ;; + ELOGIN*) + EXE="$(which elogind)" + ;; + ENTRANCE*) + EXE="$(which entranced)" + ;; + 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.3.0/xfs.conf.d b/x11-base/xfree/files/4.3.0/xfs.conf.d new file mode 100644 index 000000000000..68ab7f334010 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0/xfs.conf.d,v 1.1 2003/02/28 04:28:29 seemant 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.3.0/xfs.config b/x11-base/xfree/files/4.3.0/xfs.config new file mode 100644 index 000000000000..e594a25183eb --- /dev/null +++ b/x11-base/xfree/files/4.3.0/xfs.config @@ -0,0 +1,53 @@ +# +# 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/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.3.0/xfs.start b/x11-base/xfree/files/4.3.0/xfs.start new file mode 100644 index 000000000000..c8e56489aafd --- /dev/null +++ b/x11-base/xfree/files/4.3.0/xfs.start @@ -0,0 +1,290 @@ +#!/sbin/runscript +# Copyright 1999-2003 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.3.0/xfs.start,v 1.1 2003/02/28 04:28:29 seemant 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 | \ + gawk '$0 !~ /fonts\..*$|^.*\.dir$|XftCache/ {print}')" + + 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="" + +# It should be more consistant if we consider a change to fonts.scale, or +# encodings.dir files as a need for an update as well ... +# changed_list="$(find $1/ -type f -cnewer $1/fonts.dir | \ +# gawk '$0 !~ /fonts\..*$|^.*\.dir$|XftCache/ {print}')" + changed_list="$(find $1/ -type f -cnewer $1/fonts.dir | \ + gawk '$0 !~ /fonts\.(list|cache-1)$|XftCache/ {print}')" + + 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 function to extract font dirs from +# the xfs config file (/etc/X11/fs/config). +get_fontdir_list() { + [ ! -r /etc/X11/fs/config ] && return 0 + + gawk ' + BEGIN { + + while((getline xfsconf_data < ("/etc/X11/fs/config")) > 0) { + + # Strip any comments + if (xfsconf_data !~ /^[[:space:]]*#/) { + + # Dont bother if its a blank line + if (xfsconf_data == "") continue + + # If we have a line that contain 'catalogue=', we + # should be where the list of font dirs are + if (xfsconf_data ~ /catalogue[[:space:]]*=/) + DO_WRITE = 1 + + # Ok, we got our que, so start + if (DO_WRITE) { + + # Strip any leading spaces and tabs + sub(/^[[:space:]]*/, "", xfsconf_data) + # Strip the 'catalogue=' part + sub(/catalogue[[:space:]]*=[[:space:]]*/, "", xfsconf_data) + + # The last font dir will not have a ',', so this will + # be the last line we read ... + if (xfsconf_data !~ /,$/) { + + DO_WRITE = 0 + DONE = 1 + } + + # Strip the ending ',' ... + sub(/,$/, "", xfsconf_data) + + # If we have a valid font path, print it + if (xfsconf_data != "") { + + have_dup = 0 + + # Check for duplicates ... + for (x in DIRLIST) + if (DIRLIST[x] == xfsconf_data) { + + have_dup = 1 + break + } + + if (!have_dup) { + print xfsconf_data + DIRLIST[++i] = xfsconf_data + } + } + } + + # No need to continue reading the file ... + if (DONE) break + } + } + + close("/etc/X11/fs/config") + }' + + return 0 +} + +# This is the main beast for setting up the font dirs +setup_font_dirs() { + local x="" + local pending_fontdirs="" + local changed="no" + + umask 022 + + if [ ! -x /usr/X11R6/bin/mkfontdir -o ! -x /usr/X11R6/bin/ttmkfdir ] + then + ewarn "Could not find the mkfontdir or ttmkfdir binaries!" + return 0 + fi + + if [ ! -d /usr/X11R6/lib/X11/fonts/encodings ] + then + ewarn "Encodings directory are missing!" + ewarn "Please restore /usr/X11R6/lib/X11/fonts/encodings ..." + return 0 + fi + + # Generate the encodings.dir ... + /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 directories" + 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 directories" + 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 '*.[otps][pft][cfad]' -print)" ] + then + /usr/X11R6/bin/ttmkfdir -x 2 \ + -e /usr/X11R6/lib/X11/fonts/encodings/encodings.dir \ + -o ${x}/fonts.scale -d ${x} > /dev/null + fi + + # Now generate fonts.dir files ... + 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 '*.[otps][pft][cfad]' -print)" ] + then + # xftcache is broken, but run it anyhow ... + /usr/X11R6/bin/xftcache ${x} &> /dev/null + fi + eend 0 + + changed="yes" + done + fi + + # While we at it, update fontconfig's cache as well + if [ -x /usr/bin/fc-cache -a "${changed}" = "yes" ] + then + ebegin "Updating FC cache" + HOME="/root" /usr/bin/fc-cache -f + eend 0 + 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.3.0/xinitrc b/x11-base/xfree/files/4.3.0/xinitrc new file mode 100644 index 000000000000..53cde32559d2 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0/xserver.pamd b/x11-base/xfree/files/4.3.0/xserver.pamd new file mode 100644 index 000000000000..7ff11c4329e2 --- /dev/null +++ b/x11-base/xfree/files/4.3.0/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.3.0 b/x11-base/xfree/files/digest-xfree-4.3.0 new file mode 100644 index 000000000000..784babfb7f4d --- /dev/null +++ b/x11-base/xfree/files/digest-xfree-4.3.0 @@ -0,0 +1,22 @@ +MD5 4f241a4f867363f40efa2b00dca292af X430src-1.tgz 10993622 +MD5 844c2ee908d21dbf8911fd13115bf8b4 X430src-2.tgz 7962239 +MD5 b82a0443e1b7bf860e4343e6b6766cb6 X430src-3.tgz 12366363 +MD5 567903747018f2534965ab6cb3976b38 X430src-4.tgz 12906091 +MD5 4dbdbe9a85c8f7f98dd0ee015a3c7b4f X430src-5.tgz 4388018 +MD5 163d9864e1353a4a9f992cb3843c240f X430src-6.tgz 8074919 +MD5 e002e70f24098ca4f62fabd1c2809ed1 X430src-7.tgz 9317241 +MD5 4ecbe985e304445695dc82af0a532988 XFree86-4.2.99.4-patches-1.1.tar.bz2 232640 +MD5 222bffcae6c2be37ec5cd993037f4f45 xf86Wacom.c.gz 26156 +MD5 537bb3e2da7642bd979ebc1cafa8dce7 savage-1.1.27t.zip 76974 +MD5 8fe0419ad622053ae0e98f42c23ac3d5 sis_drv_src_141202-1.tar.gz 317440 +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.3.0.ebuild b/x11-base/xfree/xfree-4.3.0.ebuild new file mode 100644 index 000000000000..6b6709089db5 --- /dev/null +++ b/x11-base/xfree/xfree-4.3.0.ebuild @@ -0,0 +1,853 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/xfree-4.3.0.ebuild,v 1.1 2003/02/28 04:28:29 seemant Exp $ + +# Make sure Portage does _NOT_ strip symbols. We will do it later and make sure +# that only we only strip stuff that are safe to strip ... +DEBUG="yes" +RESTRICT="nostrip" + +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 + +# Are we using a snapshot ? +USE_SNAPSHOT="no" + +PATCH_VER="1.1" +FT2_VER="2.1.3" +SISDRV_VER="141202-1" +SAVDRV_VER="1.1.27t" + +BASE_PV="${PV}" +MY_SV="${BASE_PV//\.}" +S="${WORKDIR}/xc" +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" +# If we are using CVS snapshots made by Seemant ... +SRC_PATH_SS="http://www.ibiblio.org/gentoo/gentoo-sources" +HOMEPAGE="http://www.xfree.org" + +# Misc patches we may need to fetch .. +X_PATCHES="mirror://gentoo/XFree86-4.2.99.4-patches-${PATCH_VER}.tar.bz2" + +X_DRIVERS="http://people.mandrakesoft.com/~flepied/projects/wacom/xf86Wacom.c.gz + http://www.probo.com/timr/savage-${SAVDRV_VER}.zip + http://www.webit.at/~twinny/sis/sis_drv_src_${SISDRV_VER}.tar.gz" +# 3dfx? ( mirror://gentoo/glide3-headers.tar.bz2 )" +# Updated Wacom driver: http://people.mandrakesoft.com/~flepied/projects/wacom/ +# Latest Savaga drivers: http://www.probo.com/timr/savage40.html +# Latest SIS drivers: 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/}" + +if [ "${USE_SNAPSHOT}" = "yes" ] +then + SRC_URI="${SRC_PATH_SS}/X${BASE_PV}-1.tar.bz2 + ${SRC_PATH_SS}/X${BASE_PV}-2.tar.bz2 + ${SRC_PATH_SS}/X${BASE_PV}-3.tar.bz2 + ${SRC_PATH_SS}/X${BASE_PV}-4.tar.bz2" +else + 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_PATH0}/X${MY_SV}src-4.tgz + ${SRC_PATH0}/X${MY_SV}src-5.tgz + ${SRC_PATH0}/X${MY_SV}src-6.tgz + ${SRC_PATH0}/X${MY_SV}src-7.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 + ${SRC_PATH1}/X${MY_SV}src-4.tgz + ${SRC_PATH1}/X${MY_SV}src-5.tgz + ${SRC_PATH1}/X${MY_SV}src-6.tgz + ${SRC_PATH1}/X${MY_SV}src-7.tgz" +fi +SRC_URI="${SRC_URI} + ${X_PATCHES} + ${X_DRIVERS} + truetype? ( ${MS_FONT_URLS} )" + +LICENSE="X11 MSttfEULA" +SLOT="0" +KEYWORDS="~x86 ~ppc ~sparc ~alpha ~mips" + +DEPEND=">=sys-apps/baselayout-1.8.3 + >=sys-libs/ncurses-5.1 + >=sys-libs/zlib-1.1.3-r2 + >=sys-devel/flex-2.5.4a-r5 + >=dev-libs/expat-1.95.3 + sys-devel/perl + >=media-libs/freetype-${FT2_VER}-r2 + >=media-libs/fontconfig-2.1-r1 + media-libs/libpng + >=x11-base/opengl-update-1.4 + >=x11-misc/ttmkfdir-3.0.4 + pam? ( >=sys-libs/pam-0.75 ) + truetype? ( app-arch/cabextract ) + app-arch/unzip" # needed for savage driver (version 1.1.27t) + +RDEPEND=">=sys-apps/baselayout-1.8.3 + >=sys-libs/ncurses-5.1 + >=sys-libs/zlib-1.1.3-r2 + >=dev-libs/expat-1.95.3 + >=media-libs/freetype-${FT2_VER}-r2 + >=media-libs/fontconfig-2.1-r1 + media-libs/libpng + >=x11-base/opengl-update-1.4 + >=x11-misc/ttmkfdir-3.0.4 + pam? ( >=sys-libs/pam-0.75 )" + +PDEPEND=">=x11-libs/xft-2.0.1-r1 + 3dfx? ( >=media-libs/glide-v3-3.10 )" + +PROVIDE="virtual/x11 + virtual/opengl + virtual/glu" + +src_unpack() { + + if [ "${USE_SNAPSHOT}" = "yes" ] + then + unpack X${BASE_PV}-{1,2,3,4}.tar.bz2 + else + unpack X${MY_SV}src-{1,2,3,4,5,6,7}.tgz + fi + + unpack XFree86-4.2.99.4-patches-${PATCH_VER}.tar.bz2 + + # 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 + + 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 + + # enable the nv driver on ppc + if use ppc; then + epatch ${FILESDIR}/${PV}-patches/XFree86-${PV}-enable-nv-on-ppc.patch || die + fi + + # Fix HOME and END keys to work in xterm, bug #15254 + epatch ${FILESDIR}/xfree-4.2.x-home_end-keys.patch + + # Update the Savage Driver + # savage driver 1.1.27t is a .zip and contains a savage directory + # (that's why we have to be in drivers, not in savage subdir). + ebegin "Updating Savage driver" + cd ${S}/programs/Xserver/hw/xfree86/drivers + unzip -oqq ${DISTDIR}/savage-${SAVDRV_VER}.zip || die + ln -s ${S}/programs/Xserver/hw/xfree86/vbe/vbe.h \ + ${S}/programs/Xserver/hw/xfree86/drivers/savage + 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 + ln -s ${S}/programs/Xserver/hw/xfree86/vbe/vbe.h \ + ${S}/programs/Xserver/hw/xfree86/drivers/sis + 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 + + # Bug #12775 .. fails with -Os. + replace-flags "-Os" "-O2" + + if [ "`gcc-version`" != "2.95" ] + then + # Should fix bug #4189. gcc-3.x have problems with -march=pentium4 + # and -march=athlon-tbird + replace-flags "-march=pentium4" "-march=pentium3" + replace-flags "-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}" != "yes" ] + then + # use less ram .. got this from Spider's makeedit.eclass :) + echo "#define GccWarningOptions -Wno-return-type -w" >> config/cf/host.def + fi + + if [ -n "`use pam`" ] + then + # If you want to have optional pam support, do it properly ... + echo "#define HasPam YES" >> config/cf/host.def + echo "#define HasPamMisc YES" >> config/cf/host.def + else + echo "#define HasPam NO" >> config/cf/host.def + echo "#define HasPamMisc NO" >> 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 +} + +src_compile() { + + # Set MAKEOPTS to have proper -j? option .. + get_number_of_jobs + + 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 + + # We do not want these, so remove them ... + rm -rf ${D}/usr/X11R6/include/X11/Xft + rm -f ${D}/usr/X11R6/lib/libXft.{a,so} + rm -f ${D}/usr/X11R6/bin/xft-config + rm -f ${D}/usr/X11R6/man/man3/Xft.3x* + rm -rf ${D}/usr/X11R6/include/fontconfig + rm -f ${D}/usr/X11R6/lib/libfontconfig.* + rm -f ${D}/usr/X11R6/bin/fontconfig-config + rm -f ${D}/usr/X11R6/man/man3/fontconfig.3x* + rm -rf ${D}/etc/fonts/ + + # This one needs to be in /usr/lib + insinto /usr/lib/pkgconfig + doins ${D}/usr/X11R6/lib/pkgconfig/xcursor.pc + # Now remove the invalid xft.pc, and co ... + rm -rf ${D}/usr/X11R6/lib/pkgconfig + + 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 the 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 ${D}/usr/X11R6/lib/X11/locale/lib/common/*.so* + do + if [ -f ${x} ] + then + fperms 0755 `echo ${x} | sed -e "s|${D}||"` + fi + done + + # Fix permissions on modules ... + for x in $(find ${D}/usr/X11R6/lib/modules -name '*.o') \ + $(find ${D}/usr/X11R6/lib/modules -name '*.so') + do + if [ -f ${x} ] + then + fperms 0755 `echo ${x} | sed -e "s|${D}||"` + fi + done + + # We zap 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 still use freetype for now ... + doins ${FILESDIR}/${PVR}/XftConfig + newins ${FILESDIR}/${PVR}/XftConfig XftConfig.new + # This is if we are using Fontconfig only ... + #newins ${S}/lib/Xft1/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 + + # Change the silly red pointer to a white one ... + dosed 's:redglass:whiteglass:' /usr/X11R6/lib/X11/icons/default/index.theme + + # 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 + for x in ${FILESDIR}/${PVR}/Sessions/* + do + [ -f ${x} ] && doexe ${x} + done + 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 + if [ -n "`use pam`" ] + then + insinto /etc/pam.d + newins ${FILESDIR}/${PVR}/xdm.pamd xdm + # Need to fix console permissions first + newins ${FILESDIR}/${PVR}/xserver.pamd xserver + fi + 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 + + einfo "Striping binaries and libraries..." + # This bit I got from Redhat ... strip binaries and drivers .. + # NOTE: We do NOT want to strip the drivers, modules or DRI modules! + for x in $(find ${D}/ -type f -perm +0111 -exec file {} \; | \ + grep -v ' shared object,' | \ + sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped/\1/p') + do + if [ -f ${x} ] + then + # Dont do the modules ... + if [ "${x/\/usr\/X11R6\/lib\/modules}" = "${x}" ] + then + echo "`echo ${x} | sed -e "s|${D}||"`" + strip ${x} || : + fi + fi + done + # Now do the libraries ... + for x in ${D}/usr/{lib,lib/opengl/xfree/lib}/*.so.* \ + ${D}/usr/X11R6/{lib,lib/X11/locale/lib/common}/*.so.* + do + if [ -f ${x} ] + then + echo "`echo ${x} | sed -e "s|${D}||"`" + strip --strip-debug ${x} || : + fi + done +} + +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, + # thus 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 '*.[otps][pft][cfad]' -print)" ] + then + ${ROOT}/usr/X11R6/bin/ttmkfdir -x 2 \ + -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}" -a \ + -n "$(find ${x} -iname '*.[otps][pft][cfad]' -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 .... + # NOTE: This should not be needed for xfree-4.2.99 or later, + # but lets not take chances with people that may downgrade + # at a later stage .... + 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 + echo + ewarn "BEWARE 1:" + ewarn "This version of XFree won't work with ati-drivers-2.5.1-r1" + ewarn "if you are using them please unmerge ati-drivers" + ewarn " and emerge xfree-drm" + echo + ewarn "BEWARE 2:" + ewarn "If you experience font corruption on OpenOffice.org or similar" + ewarn "glitches please remake your XF86Config" + echo +} + +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 +} + |