summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeemant Kulleen <seemant@gentoo.org>2002-12-07 08:45:10 +0000
committerSeemant Kulleen <seemant@gentoo.org>2002-12-07 08:45:10 +0000
commit99667dcbc06d010b3486b62067bee68130e81f83 (patch)
tree61b25077ef17594c828936f3fc74142eacf334d6
parentnew snapshot (diff)
downloadgentoo-2-99667dcbc06d010b3486b62067bee68130e81f83.tar.gz
gentoo-2-99667dcbc06d010b3486b62067bee68130e81f83.tar.bz2
gentoo-2-99667dcbc06d010b3486b62067bee68130e81f83.zip
small fix0rs
-rw-r--r--x11-base/xfree/ChangeLog6
-rw-r--r--x11-base/xfree/files/4.2.99.3/10xfree1
-rw-r--r--x11-base/xfree/files/4.2.99.3/Xsession63
-rw-r--r--x11-base/xfree/files/4.2.99.3/Xsetup_06
-rw-r--r--x11-base/xfree/files/4.2.99.3/chooser.sh27
-rw-r--r--x11-base/xfree/files/4.2.99.3/site.def143
-rw-r--r--x11-base/xfree/files/4.2.99.3/startDM.sh23
-rw-r--r--x11-base/xfree/files/4.2.99.3/xdm.start10
-rw-r--r--x11-base/xfree/files/4.2.99.3/xfs.conf.d11
-rw-r--r--x11-base/xfree/files/4.2.99.3/xfs.config2
-rw-r--r--x11-base/xfree/files/4.2.99.3/xfs.start196
-rw-r--r--x11-base/xfree/files/4.2.99.3/xinitrc5
-rw-r--r--x11-base/xfree/xfree-4.2.99.3.ebuild22
13 files changed, 396 insertions, 119 deletions
diff --git a/x11-base/xfree/ChangeLog b/x11-base/xfree/ChangeLog
index d21c62ac062f..9ea7b24d25f1 100644
--- a/x11-base/xfree/ChangeLog
+++ b/x11-base/xfree/ChangeLog
@@ -1,6 +1,6 @@
# 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.65 2002/12/05 22:35:11 azarah Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/ChangeLog,v 1.66 2002/12/07 08:45:10 seemant Exp $
*xfree-4.2.1-r2 (05 Dec 2002)
@@ -24,6 +24,10 @@
*xfree-4.2.99.3 (13 Nov 2002)
+ -7 Dec 2002; Seemant Kulleen <seemant@gentoo.org> :
+
+ Updated snapshot and newer ft2
+
15 Nov 2002; Seemant Kulleen <seemant@gentoo.org>
files/4.2.99.3-patches/XFree86-4.2.99.3-no-optimize.patch.bz2 :
diff --git a/x11-base/xfree/files/4.2.99.3/10xfree b/x11-base/xfree/files/4.2.99.3/10xfree
index 77854eada7ba..a302f743012c 100644
--- a/x11-base/xfree/files/4.2.99.3/10xfree
+++ b/x11-base/xfree/files/4.2.99.3/10xfree
@@ -4,4 +4,3 @@ LDPATH=/usr/X11R6/lib
MANPATH=/usr/X11R6/man
INFODIR=/usr/X11R6/info
XINITRC=/etc/X11/xinit/xinitrc
-PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig/
diff --git a/x11-base/xfree/files/4.2.99.3/Xsession b/x11-base/xfree/files/4.2.99.3/Xsession
index 961becdb1963..3368bd4de214 100644
--- a/x11-base/xfree/files/4.2.99.3/Xsession
+++ b/x11-base/xfree/files/4.2.99.3/Xsession
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh --login
#
# $Xorg: Xsession,v 1.4 2000/08/17 19:54:17 cpqbld Exp $
#
@@ -23,40 +23,51 @@ if [ -n "$1" ]; then
export XSESSION="$1"
fi
-# This next bit should be in the users ~/.xsession,
-# but we have it here as reference
-#
-#userdefaults=$HOME/.Xdefaults
-#userresources=$HOME/.Xresources
-#usermodmap=$HOME/.Xmodmap
-#
-##Xdefaults
-#if [ -f "$userdefaults" ]; then
-# xrdb -merge "$userdefaults"
-#fi
-#Xresorces
-#if [ -f "$userresources" ]; then
-# xrdb -merge "$userresources"
-#fi
-##Xmodmap
-#if [ -f "$usermodmap" ]; then
-# xmodmap "$usermodmap"
-#fi
-
+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
-# First run ~/.xsession if it exists
-if [ -s "$startup" ]; then
if [ -x "$startup" ]; then
exec "$startup"
else
exec /bin/sh "$startup"
fi
-# If not, try the system default
-elif [ -n "`/etc/X11/chooser.sh`" ]; then
- exec "`/etc/X11/chooser.sh`"
# Lastly, xsm as failsafe
else
+ if [ -r "$resources" ]; then
+ xrdb -load "$userresources"
+ fi
exec xsm
fi
diff --git a/x11-base/xfree/files/4.2.99.3/Xsetup_0 b/x11-base/xfree/files/4.2.99.3/Xsetup_0
index 7cbdfc32d07e..2022592bb146 100644
--- a/x11-base/xfree/files/4.2.99.3/Xsetup_0
+++ b/x11-base/xfree/files/4.2.99.3/Xsetup_0
@@ -15,11 +15,13 @@ do
done
echo sessions: $sessions
-# update all kdmrcs located
+# update all kdmrcs located; tries some pretty much impossible locations
+# to make sure we get 'em all
source /etc/make.conf
-for dir in $KDE2DIR $KDE3DIR $KDE2LIBSDIR $KDE3LIBSDIR $KDEDIR ~/.kde /usr/kde/2 /usr/kde/3 /usr
+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
diff --git a/x11-base/xfree/files/4.2.99.3/chooser.sh b/x11-base/xfree/files/4.2.99.3/chooser.sh
index 2971071087b4..83f2f14386b9 100644
--- a/x11-base/xfree/files/4.2.99.3/chooser.sh
+++ b/x11-base/xfree/files/4.2.99.3/chooser.sh
@@ -2,16 +2,16 @@
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
# Author: Martin Schlemmer <azarah@gentoo.org>
-# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3/chooser.sh,v 1.1 2002/11/14 04:23:05 seemant Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3/chooser.sh,v 1.2 2002/12/07 08:45:10 seemant Exp $
-#if $XSESSION is "", source first /etc/conf.d/basic, and then /etc/rc.conf
+# 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
+# Find a match for $XSESSION in /etc/X11/Sessions
GENTOO_SESSION=""
for x in /etc/X11/Sessions/*
do
@@ -39,25 +39,22 @@ if [ -n "${XSESSION}" ]; then
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 /bin/${x} ]; then
- GENTOO_EXEC="/bin/${x}"
- break
- elif [ -x /usr/bin/${x} ]; then
- GENTOO_EXEC="/usr/bin/${x}"
- break
- elif [ -x /usr/X11R6/bin/${x} ]; then
- GENTOO_EXEC="/usr/X11R6/bin/${x}"
- break
- elif [ -x /usr/local/bin/${x} ]; then
- GENTOO_EXEC="/usr/local/bin/${x}"
+ # 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
diff --git a/x11-base/xfree/files/4.2.99.3/site.def b/x11-base/xfree/files/4.2.99.3/site.def
index f8412dfdca28..0ff2342e1053 100644
--- a/x11-base/xfree/files/4.2.99.3/site.def
+++ b/x11-base/xfree/files/4.2.99.3/site.def
@@ -1,47 +1,99 @@
-#define HasZlib YES
-#define HasPam YES
-#define HasNCurses YES
-#define HasLibCrypt YES
-#define HasGcc2ForCplusplus YES
-#define LocalThreads YES
-#define ThreadedX YES
-#define HasPosixThreads YES
-#define HasThreadSafeAPI YES
-#define ForceNormalLib YES
-#define BuildXinerama YES
-#define XprtServer YES
-#define XnestServer YES
-#define SharedLibXau YES
-#define UseFreetype2 YES
-#define BuildFreetype2Library YES
-#define Freetype2Version 9.0.2
-#define BuildFonts YES
-/* #define BuildCyrillicFonts YES */
-#define BuildXF86MiscExt YES
-#define BuildXInputExt YES
-#define BuildXKB YES
-#define BuildDBE YES
-#define BuildScreenSaverExt YES
-#define BuildRman YES
-#define BuildHtmlManPages NO
-#define BuildAllSpecsDocs NO
-#define BuildSpecsDocs NO
-#define BuildXF86DRI YES
-#define HasAgpGart YES
-#define BuildGLXLibrary YES
-#define BuildGlxExt YES
-#define BuildGLULibrary YES
-#define SharedLibGLU YES
-#define NormalLibGLU YES
-#define DoLoadableServer YES
-#define BuildXvExt YES
-#define BuildXF86DGA YES
-#define BuildRender YES
-#define BuildXftLibrary YES
-#define BuildXft1Library NO
-#define BuildRECORD YES
-#define BuildPexExt YES
-#define BuildXIE YES
+/* 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
@@ -56,7 +108,4 @@
/* glibc-2.2 (6.2 because glibc is considered libc-6) */
#define LinuxCLibMajorVersion 6
#define LinuxClibMinorVersion 2
-#define HasTk NO
-#define HasTcl NO
-#define FSUseSyslog YES
diff --git a/x11-base/xfree/files/4.2.99.3/startDM.sh b/x11-base/xfree/files/4.2.99.3/startDM.sh
index 6afebf09a2d8..f72be3a30b60 100644
--- a/x11-base/xfree/files/4.2.99.3/startDM.sh
+++ b/x11-base/xfree/files/4.2.99.3/startDM.sh
@@ -1,19 +1,30 @@
-#!/bin/bash
+#!/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.99.3/startDM.sh,v 1.1 2002/11/14 04:23:05 seemant Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3/startDM.sh,v 1.2 2002/12/07 08:45:10 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
+
if [ -e ${svcdir}/options/xdm/service ]
then
- /sbin/start-stop-daemon --start --quiet \
- --exec "`cat ${svcdir}/options/xdm/service`"
- if [ $? -ne 0 ]
+ 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
+ # 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
diff --git a/x11-base/xfree/files/4.2.99.3/xdm.start b/x11-base/xfree/files/4.2.99.3/xdm.start
index b7b7ff83cc23..7bbc7632e17b 100644
--- a/x11-base/xfree/files/4.2.99.3/xdm.start
+++ b/x11-base/xfree/files/4.2.99.3/xdm.start
@@ -1,7 +1,7 @@
#!/sbin/runscript
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3/xdm.start,v 1.1 2002/11/14 04:23:05 seemant Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3/xdm.start,v 1.2 2002/12/07 08:45:10 seemant Exp $
# This is here to serve as a note to myself, and future developers.
#
@@ -39,7 +39,7 @@
# Start X Font Server before X
depend() {
- use xfs
+ use xfs hotplug
}
setup_dm() {
@@ -65,6 +65,7 @@ setup_dm() {
start() {
setup_dm
+
ebegin "Setting up ${SERVICE}"
#save the prefered DM
save_options "service" "${EXE}"
@@ -80,19 +81,24 @@ stop() {
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}
}
diff --git a/x11-base/xfree/files/4.2.99.3/xfs.conf.d b/x11-base/xfree/files/4.2.99.3/xfs.conf.d
index 7715dd96c8d5..8b933a14ea7d 100644
--- a/x11-base/xfree/files/4.2.99.3/xfs.conf.d
+++ b/x11-base/xfree/files/4.2.99.3/xfs.conf.d
@@ -1,6 +1,6 @@
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3/xfs.conf.d,v 1.1 2002/11/14 04:23:05 seemant Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3/xfs.conf.d,v 1.2 2002/12/07 08:45:10 seemant Exp $
# Config file for /etc/init.d/xfs
@@ -12,3 +12,12 @@
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.99.3/xfs.config b/x11-base/xfree/files/4.2.99.3/xfs.config
index d8bc52b30d68..feed6319bd88 100644
--- a/x11-base/xfree/files/4.2.99.3/xfs.config
+++ b/x11-base/xfree/files/4.2.99.3/xfs.config
@@ -25,14 +25,12 @@ catalogue = /usr/X11R6/lib/X11/fonts/75dpi,
/usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/Speedo,
/usr/X11R6/lib/X11/fonts/CID,
- /usr/X11R6/lib/X11/fonts/PEX,
/usr/X11R6/lib/X11/fonts/util,
/usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/local,
/usr/X11R6/lib/X11/fonts/Speedo,
/usr/X11R6/lib/X11/fonts/truetype,
/usr/X11R6/lib/X11/fonts/TTF,
- /usr/X11R6/lib/X11/fonts/encodings,
/usr/X11R6/lib/X11/fonts/cyrillic,
/usr/X11R6/lib/X11/fonts/freefont,
/usr/X11R6/lib/X11/fonts/sharefont,
diff --git a/x11-base/xfree/files/4.2.99.3/xfs.start b/x11-base/xfree/files/4.2.99.3/xfs.start
index 0a7e190a6c65..65574c57bbcb 100644
--- a/x11-base/xfree/files/4.2.99.3/xfs.start
+++ b/x11-base/xfree/files/4.2.99.3/xfs.start
@@ -1,7 +1,8 @@
#!/sbin/runscript
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3/xfs.start,v 1.1 2002/11/14 04:23:05 seemant Exp $
+# Author: Martin Schlemmer <azarah@gentoo.org>
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/files/4.2.99.3/xfs.start,v 1.2 2002/12/07 08:45:10 seemant Exp $
#NB: Config is in /etc/conf.d/xfs
@@ -19,8 +20,198 @@ check_config() {
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 \
@@ -40,3 +231,6 @@ stop() {
rm -rf /tmp/.font-unix
eend $?
}
+
+
+# vim:ts=4
diff --git a/x11-base/xfree/files/4.2.99.3/xinitrc b/x11-base/xfree/files/4.2.99.3/xinitrc
index 9a669469a542..53cde32559d2 100644
--- a/x11-base/xfree/files/4.2.99.3/xinitrc
+++ b/x11-base/xfree/files/4.2.99.3/xinitrc
@@ -3,8 +3,9 @@
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
-sysresources=XINITDIR/.Xresources
-sysmodmap=XINITDIR/.Xmodmap
+xinitdir=/usr/X11R6/lib/X11/xinit
+sysresources=$xinitdir/.Xresources
+sysmodmap=$xinitdir/.Xmodmap
# merge in defaults and keymaps
diff --git a/x11-base/xfree/xfree-4.2.99.3.ebuild b/x11-base/xfree/xfree-4.2.99.3.ebuild
index 0376f0235f8d..086b4fa10b29 100644
--- a/x11-base/xfree/xfree-4.2.99.3.ebuild
+++ b/x11-base/xfree/xfree-4.2.99.3.ebuild
@@ -1,6 +1,6 @@
# 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.99.3.ebuild,v 1.4 2002/12/07 08:25:59 seemant Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree/xfree-4.2.99.3.ebuild,v 1.5 2002/12/07 08:45:10 seemant Exp $
IUSE="3dfx"
@@ -87,24 +87,24 @@ src_unpack () {
echo "#define OptimizedCDebugFlags ${CFLAGS}" >> config/cf/host.def
echo "#define GccWarningOptions -pipe" >> config/cf/host.def
- if [ "${ARCH}" = "x86" ]
+ if use x86
then
# optimize Mesa for architecture
- if [ -n "`use mmx`" ]
+ if use mmx
then
echo "#define HasMMXSupport YES" >> config/cf/host.def
fi
- if [ -n "`use 3dnow`" ]
+ if use 3dnow
then
echo "#define MesaUse3DNow YES" >> config/cf/host.def
- elif [ -n "`use sse`" ]
+ elif use sse
then
echo "#define MesaUseKatmai YES" >> config/cf/host.def
fi
fi
# build with glide3 support? (build the tdfx_dri.o module)
- if [ -n "`use 3dfx`" ]
+ if use 3dfx
then
echo "#define HasGlide3 YES" >> config/cf/host.def
fi
@@ -117,10 +117,6 @@ src_unpack () {
${S}/programs/Xserver/Imakefile.orig \
> ${S}/programs/Xserver/Imakefile
- # Apply Xft quality patch from http://www.cs.mcgill.ca/~dchest/xfthack/
- cd ${S}/lib/Xft
- cat ${FILESDIR}/${PVR}/xft-quality.diff | patch -p1 || die
-
# LibPNG fixes
cd ${S}
cp xmakefile xmakefile.orig
@@ -139,7 +135,7 @@ src_unpack () {
src_compile() {
# fix build build problems for tdfx driver
- if [ -n "`use 3dfx`" ]
+ if use 3dfx
then
cd ${S}/lib/GL/mesa/src/drv/tdfx
ln -s /usr/include/glide3/glide.h glide.h
@@ -151,7 +147,7 @@ src_compile() {
emake World || die
- if [ "`use nls`" ]
+ if use nls
then
cd ${S}/nls
make || die
@@ -180,7 +176,7 @@ src_install() {
cd ${S}
fi
- # we zap the our CFLAGS in the host.def file, as hardcoded CFLAGS can
+ # we zap our CFLAGS in the host.def file, as hardcoded CFLAGS can
# mess up other things that use xmkmf
cp ${D}/usr/X11R6/lib/X11/config/host.def \
${D}/usr/X11R6/lib/X11/config/host.def.orig