summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin F. Quinn <kevquinn@gentoo.org>2006-07-01 09:33:00 +0000
committerKevin F. Quinn <kevquinn@gentoo.org>2006-07-01 09:33:00 +0000
commit528d202459d44632dc7bcc035a7c35f863fa6f97 (patch)
treed5ded1afed546db092c37de3e35bc5d0f70e085f /hardened/xorg
downloadkevquinn-528d202459d44632dc7bcc035a7c35f863fa6f97.tar.gz
kevquinn-528d202459d44632dc7bcc035a7c35f863fa6f97.tar.bz2
kevquinn-528d202459d44632dc7bcc035a7c35f863fa6f97.zip
Initial commit of BIND_NOW Modular X (7.1) solution. Requires manual load of all dependent
modules in xorg.conf; see examples on http://overlays.gentoo.org/dev/kevquinn svn path=/; revision=1
Diffstat (limited to 'hardened/xorg')
-rw-r--r--hardened/xorg/eclass/x-modular.eclass528
-rw-r--r--hardened/xorg/media-libs/mesa/Manifest24
-rw-r--r--hardened/xorg/media-libs/mesa/files/6.4-dont-install-gles-headers.patch11
-rw-r--r--hardened/xorg/media-libs/mesa/files/6.4-multilib-fix.patch27
-rw-r--r--hardened/xorg/media-libs/mesa/files/6.5-re-order-context-destruction.patch72
-rw-r--r--hardened/xorg/media-libs/mesa/files/change-default-dri-driver-dir-X7.1.patch11
-rw-r--r--hardened/xorg/media-libs/mesa/files/digest-mesa-6.5-r33
-rw-r--r--hardened/xorg/media-libs/mesa/mesa-6.5-r3.ebuild336
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-ati/Manifest21
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.5.8.06
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.6.06
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-ati/files/xf86-video-ati-mainnorefsub.patch126
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-ati/xf86-video-ati-6.5.8.0.ebuild32
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-ati/xf86-video-ati-6.6.0.ebuild32
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-cirrus/Manifest21
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-cirrus/files/digest-xf86-video-cirrus-1.0.0.56
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-cirrus/files/digest-xf86-video-cirrus-1.1.06
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-cirrus/files/xf86-video-cirrus-mainnorefsub.patch102
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-cirrus/xf86-video-cirrus-1.0.0.5.ebuild20
-rw-r--r--hardened/xorg/x11-drivers/xf86-video-cirrus/xf86-video-cirrus-1.1.0.ebuild20
20 files changed, 1410 insertions, 0 deletions
diff --git a/hardened/xorg/eclass/x-modular.eclass b/hardened/xorg/eclass/x-modular.eclass
new file mode 100644
index 0000000..0c5b1b6
--- /dev/null
+++ b/hardened/xorg/eclass/x-modular.eclass
@@ -0,0 +1,528 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/eclass/x-modular.eclass,v 1.69 2006/07/01 06:46:52 spyderous Exp $
+#
+# Author: Donnie Berkholz <spyderous@gentoo.org>
+#
+# This eclass is designed to reduce code duplication in the modularized X11
+# ebuilds.
+#
+# Using this eclass:
+#
+# Inherit it. If you need to run autoreconf for any reason (e.g., your patches
+# apply to the autotools files rather than configure), set SNAPSHOT="yes". Set
+# CONFIGURE_OPTIONS to everything you want to pass to the configure script.
+#
+# If you have any patches to apply, set PATCHES to their locations and epatch
+# will apply them. It also handles epatch-style bulk patches, if you know how to
+# use them and set the correct variables. If you don't, read eutils.eclass.
+#
+# If you're creating a font package and the suffix of PN is not equal to the
+# subdirectory of /usr/share/fonts/ it should install into, set FONT_DIR to that
+# directory or directories.
+#
+# IMPORTANT: Both SNAPSHOT and FONT_DIR must be set _before_ the inherit.
+#
+# Pretty much everything else should be automatic.
+
+EXPORT_FUNCTIONS src_unpack src_compile src_install pkg_preinst pkg_postinst pkg_postrm
+
+inherit eutils libtool toolchain-funcs flag-o-matic autotools
+
+# Directory prefix to use for everything
+XDIR="/usr"
+
+# Set up default patchset version(s) if necessary
+# x11-driver-patches
+if [[ -z "${XDPVER}" ]]; then
+ XDPVER="1"
+fi
+
+IUSE=""
+HOMEPAGE="http://xorg.freedesktop.org/"
+
+# Set up SRC_URI for individual modular releases
+BASE_INDIVIDUAL_URI="http://xorg.freedesktop.org/releases/individual"
+if [[ ${CATEGORY} = x11-apps ]] || [[ ${CATEGORY} = x11-wm ]]; then
+ SRC_URI="${SRC_URI}
+ ${BASE_INDIVIDUAL_URI}/app/${P}.tar.bz2"
+elif [[ ${CATEGORY} = app-doc ]]; then
+ SRC_URI="${SRC_URI}
+ ${BASE_INDIVIDUAL_URI}/doc/${P}.tar.bz2"
+# x11-misc contains data and util, x11-themes contains data
+elif [[ ${CATEGORY} = x11-misc ]] || [[ ${CATEGORY} = x11-themes ]]; then
+ SRC_URI="${SRC_URI}
+ ${BASE_INDIVIDUAL_URI}/data/${P}.tar.bz2
+ ${BASE_INDIVIDUAL_URI}/util/${P}.tar.bz2"
+elif [[ ${CATEGORY} = x11-drivers ]]; then
+ SRC_URI="${SRC_URI}
+ ${BASE_INDIVIDUAL_URI}/driver/${P}.tar.bz2"
+elif [[ ${CATEGORY} = media-fonts ]]; then
+ SRC_URI="${SRC_URI}
+ ${BASE_INDIVIDUAL_URI}/font/${P}.tar.bz2"
+elif [[ ${CATEGORY} = x11-libs ]]; then
+ SRC_URI="${SRC_URI}
+ ${BASE_INDIVIDUAL_URI}/lib/${P}.tar.bz2"
+elif [[ ${CATEGORY} = x11-proto ]]; then
+ SRC_URI="${SRC_URI}
+ ${BASE_INDIVIDUAL_URI}/proto/${P}.tar.bz2"
+elif [[ ${CATEGORY} = x11-base ]]; then
+ SRC_URI="${SRC_URI}
+ ${BASE_INDIVIDUAL_URI}/xserver/${P}.tar.bz2"
+fi
+
+SLOT="0"
+
+# Set the license for the package. This can be overridden by setting
+# LICENSE after the inherit.
+LICENSE=${PN}
+
+# Set up shared dependencies
+if [[ -n "${SNAPSHOT}" ]]; then
+# FIXME: What's the minimal libtool version supporting arbitrary versioning?
+ DEPEND="${DEPEND}
+ >=sys-devel/autoconf-2.57
+ >=sys-devel/automake-1.7
+ >=sys-devel/libtool-1.5
+ >=sys-devel/m4-1.4"
+fi
+
+# If we're a font package, but not the font.alias one
+if [[ "${PN/#font-}" != "${PN}" ]] \
+ && [[ "${CATEGORY}" = "media-fonts" ]] \
+ && [[ "${PN}" != "font-alias" ]] \
+ && [[ "${PN}" != "font-util" ]]; then
+ # Activate font code in the rest of the eclass
+ FONT="yes"
+
+ RDEPEND="${RDEPEND}
+ media-fonts/encodings
+ x11-apps/mkfontscale
+ x11-apps/mkfontdir"
+ PDEPEND="${PDEPEND}
+ media-fonts/font-alias"
+
+ # Starting with 7.0RC3, we can specify the font directory
+ # But oddly, we can't do the same for encodings or font-alias
+
+ # Wrap in `if` so ebuilds can set it too
+ if [[ -z ${FONT_DIR} ]]; then
+ FONT_DIR=${PN##*-}
+
+ fi
+
+ # Fix case of font directories
+ FONT_DIR=${FONT_DIR/ttf/TTF}
+ FONT_DIR=${FONT_DIR/otf/OTF}
+ FONT_DIR=${FONT_DIR/type1/Type1}
+ FONT_DIR=${FONT_DIR/speedo/Speedo}
+
+ # Set up configure option
+ FONT_OPTIONS="--with-fontdir=\"/usr/share/fonts/${FONT_DIR}\""
+
+ if [[ -n "${FONT}" ]]; then
+ if [[ ${PN##*-} = misc ]] || [[ ${PN##*-} = 75dpi ]] || [[ ${PN##*-} = 100dpi ]]; then
+ IUSE="${IUSE} nls"
+ fi
+ fi
+fi
+
+# If we're a driver package
+if [[ "${PN/#xf86-video}" != "${PN}" ]] || [[ "${PN/#xf86-input}" != "${PN}" ]]; then
+ # Enable driver code in the rest of the eclass
+ DRIVER="yes"
+
+ # Add driver patchset to SRC_URI
+ SRC_URI="${SRC_URI}
+ http://dev.gentoo.org/~joshuabaergen/distfiles/x11-driver-patches-${XDPVER}.tar.bz2"
+fi
+
+# Debugging -- ignore packages that can't be built with debugging
+if [[ -z "${FONT}" ]] \
+ || [[ "${PN/app-doc}" != "${PN}" ]] \
+ || [[ "${PN/x11-proto}" != "${PN}" ]] \
+ || [[ "${PN/util-macros}" != "${PN}" ]] \
+ || [[ "${PN/xbitmaps}" != "${PN}" ]] \
+ || [[ "${PN/xkbdata}" != "${PN}" ]] \
+ || [[ "${PN/xorg-cf-files}" != "${PN}" ]] \
+ || [[ "${PN/xcursor}" != "${PN}" ]] \
+ ; then
+ DEBUGGABLE="yes"
+ IUSE="${IUSE} debug"
+ if use debug; then
+ if ! has splitdebug ${FEATURES}; then
+ RESTRICT="${RESTRICT} nostrip"
+ fi
+ fi
+fi
+
+DEPEND="${DEPEND}
+ >=dev-util/pkgconfig-0.18"
+
+if [[ "${PN/util-macros}" = "${PN}" ]]; then
+ DEPEND="${DEPEND}
+ >=x11-misc/util-macros-0.99.2
+ !alpha? ( >=sys-devel/binutils-2.16.1-r3 )"
+fi
+
+RDEPEND="${RDEPEND}
+ !<=x11-base/xorg-x11-6.9"
+# Provides virtual/x11 for temporary use until packages are ported
+# x11-base/x11-env"
+
+x-modular_specs_check() {
+ if [[ ${PN:0:11} = "xorg-server" ]] || [[ -n "${DRIVER}" ]]; then
+# KFQ Leave BIND_NOW
+# append-ldflags -Wl,-z,lazy
+ # (#116698) breaks loading
+ filter-ldflags -Wl,-z,now
+ fi
+}
+
+x-modular_dri_check() {
+ # (#120057) Enabling DRI in drivers requires that the server was built with
+ # support for it
+ if [[ -n "${DRIVER}" ]]; then
+ if has dri ${IUSE} && use dri; then
+ einfo "Checking for direct rendering capabilities ..."
+ if ! built_with_use x11-base/xorg-server dri; then
+ die "You must build x11-base/xorg-server with USE=dri."
+ fi
+ fi
+ fi
+}
+
+x-modular_server_supports_drivers_check() {
+ # (#135873) Only certain servers will actually use or be capable of
+ # building external drivers, including binary drivers.
+ if [[ -n "${DRIVER}" ]]; then
+ if has_version '>=x11-base/xorg-server-1.1'; then
+ if ! built_with_use x11-base/xorg-server xorg; then
+ eerror "x11-base/xorg-server is not built with support for external drivers."
+ die "You must build x11-base/xorg-server with USE=xorg."
+ fi
+ fi
+ fi
+}
+
+x-modular_unpack_source() {
+ unpack ${A}
+ cd ${S}
+
+ if [[ -n ${FONT_OPTIONS} ]]; then
+ einfo "Detected font directory: ${FONT_DIR}"
+ fi
+}
+
+x-modular_patch_source() {
+ # Use standardized names and locations with bulk patching
+ # Patch directory is ${WORKDIR}/patch
+ # See epatch() in eutils.eclass for more documentation
+ if [[ -z "${EPATCH_SUFFIX}" ]] ; then
+ EPATCH_SUFFIX="patch"
+ fi
+
+ # If this is a driver package we need to fix man page install location.
+ # Running autoreconf will use the patched util-macros to make the
+ # change for us, so we only need to patch if it is not going to run.
+ if [[ -n "${DRIVER}" ]] && [[ "${SNAPSHOT}" != "yes" ]]; then
+ PATCHES="${PATCHES} ${DISTDIR}/x11-driver-patches-${XDPVER}.tar.bz2"
+ fi
+
+ # For specific list of patches
+ if [[ -n "${PATCHES}" ]] ; then
+ for PATCH in ${PATCHES}
+ do
+ epatch ${PATCH}
+ done
+ # For non-default directory bulk patching
+ elif [[ -n "${PATCH_LOC}" ]] ; then
+ epatch ${PATCH_LOC}
+ # For standard bulk patching
+ elif [[ -d "${EPATCH_SOURCE}" ]] ; then
+ epatch
+ fi
+}
+
+x-modular_reconf_source() {
+ # Run autoreconf for CVS snapshots only
+ if [[ "${SNAPSHOT}" = "yes" ]]
+ then
+ # If possible, generate configure if it doesn't exist
+ if [ -f "${S}/configure.ac" ]
+ then
+ eautoreconf
+ fi
+ fi
+
+ # Joshua Baergen - October 23, 2005
+ # Fix shared lib issues on MIPS, FBSD, etc etc
+ elibtoolize
+}
+
+x-modular_src_unpack() {
+ x-modular_specs_check
+ x-modular_server_supports_drivers_check
+ x-modular_dri_check
+ x-modular_unpack_source
+ x-modular_patch_source
+ x-modular_reconf_source
+}
+
+x-modular_font_configure() {
+ if [[ -n "${FONT}" ]]; then
+ # Might be worth adding an option to configure your desired font
+ # and exclude all others. Also, should this USE be nls or minimal?
+ if ! use nls; then
+ FONT_OPTIONS="${FONT_OPTIONS}
+ --disable-iso8859-2
+ --disable-iso8859-3
+ --disable-iso8859-4
+ --disable-iso8859-5
+ --disable-iso8859-6
+ --disable-iso8859-7
+ --disable-iso8859-8
+ --disable-iso8859-9
+ --disable-iso8859-10
+ --disable-iso8859-11
+ --disable-iso8859-12
+ --disable-iso8859-13
+ --disable-iso8859-14
+ --disable-iso8859-15
+ --disable-iso8859-16
+ --disable-jisx0201
+ --disable-koi8-r"
+ fi
+ fi
+}
+
+x-modular_debug_setup() {
+ if [[ -n "${DEBUGGABLE}" ]]; then
+ if use debug; then
+ strip-flags
+ append-flags -g
+ fi
+ fi
+}
+
+x-modular_src_configure() {
+ x-modular_font_configure
+ x-modular_debug_setup
+
+ # If prefix isn't set here, .pc files cause problems
+ if [[ -x ./configure ]]; then
+ econf --prefix=${XDIR} \
+ --datadir=${XDIR}/share \
+ ${FONT_OPTIONS} \
+ ${DRIVER_OPTIONS} \
+ ${CONFIGURE_OPTIONS}
+ fi
+}
+
+x-modular_src_make() {
+ emake || die "emake failed"
+}
+
+x-modular_src_compile() {
+ x-modular_src_configure
+ x-modular_src_make
+}
+
+x-modular_src_install() {
+ # Install everything to ${XDIR}
+ make \
+ DESTDIR="${D}" \
+ install
+# Shouldn't be necessary in XDIR=/usr
+# einstall forces datadir, so we need to re-force it
+# datadir=${XDIR}/share \
+# mandir=${XDIR}/share/man \
+
+ if [[ -e ${S}/ChangeLog ]]; then
+ dodoc ${S}/ChangeLog
+ fi
+
+ # Make sure docs get compressed
+ prepalldocs
+
+ # Don't install libtool archives for server modules
+ if [[ -e ${D}/usr/lib/xorg/modules ]]; then
+ find ${D}/usr/lib/xorg/modules -name '*.la' \
+ | xargs rm -f
+ fi
+
+ # Don't install overlapping fonts.* files
+ # Generate them instead when possible
+ if [[ -n "${FONT}" ]]; then
+ remove_font_metadata
+ fi
+}
+
+x-modular_pkg_preinst() {
+ if [[ -n "${FONT}" ]]; then
+ discover_font_dirs
+ fi
+}
+
+x-modular_pkg_postinst() {
+ if [[ -n "${FONT}" ]]; then
+ setup_fonts
+ fi
+}
+
+x-modular_pkg_postrm() {
+ if [[ -n "${FONT}" ]]; then
+ cleanup_fonts
+ fi
+}
+
+cleanup_fonts() {
+ local ALLOWED_FILES="encodings.dir fonts.cache-1 fonts.dir fonts.scale"
+ for DIR in ${FONT_DIR}; do
+ unset KEEP_FONTDIR
+ REAL_DIR=${ROOT}usr/share/fonts/${DIR}
+
+ ebegin "Checking ${REAL_DIR} for useless files"
+ pushd ${REAL_DIR} &> /dev/null
+ for FILE in *; do
+ unset MATCH
+ for ALLOWED_FILE in ${ALLOWED_FILES}; do
+ if [[ ${FILE} = ${ALLOWED_FILE} ]]; then
+ # If it's allowed, then move on to the next file
+ MATCH="yes"
+ break
+ fi
+ done
+ # If we found a match in allowed files, move on to the next file
+ if [[ -n ${MATCH} ]]; then
+ continue
+ fi
+ # If we get this far, there wasn't a match in the allowed files
+ KEEP_FONTDIR="yes"
+ # We don't need to check more files if we're already keeping it
+ break
+ done
+ popd &> /dev/null
+ # If there are no files worth keeping, then get rid of the dir
+ if [[ -z "${KEEP_FONTDIR}" ]]; then
+ rm -rf ${REAL_DIR}
+ fi
+ eend 0
+ done
+}
+
+setup_fonts() {
+ if [[ ! -n "${FONT_DIRS}" ]]; then
+ msg="FONT_DIRS is empty. The ebuild should set it to at least one subdir of /usr/share/fonts."
+ eerror "${msg}"
+ die "${msg}"
+ fi
+
+ create_fonts_scale
+ create_fonts_dir
+ fix_font_permissions
+ create_font_cache
+}
+
+remove_font_metadata() {
+ local DIR
+ for DIR in ${FONT_DIR}; do
+ if [[ "${DIR}" != "Speedo" ]] && \
+ [[ "${DIR}" != "CID" ]] ; then
+ # Delete font metadata files
+ # fonts.scale, fonts.dir, fonts.cache-1
+ rm -f ${D}/usr/share/fonts/${DIR}/fonts.{scale,dir,cache-1}
+ fi
+ done
+}
+
+discover_font_dirs() {
+ pushd ${IMAGE}/usr/share/fonts
+ FONT_DIRS="$(find . -maxdepth 1 -mindepth 1 -type d)"
+ FONT_DIRS="$(echo ${FONT_DIRS} | sed -e 's:./::g')"
+ popd
+}
+
+create_fonts_scale() {
+ ebegin "Creating fonts.scale files"
+ local x
+ for FONT_DIR in ${FONT_DIRS}; do
+ x=${ROOT}/usr/share/fonts/${FONT_DIR}
+ [[ -z "$(ls ${x}/)" ]] && continue
+ [[ "$(ls ${x}/)" = "fonts.cache-1" ]] && continue
+
+ # Only generate .scale files if truetype, opentype or type1
+ # fonts are present ...
+
+ # First truetype (ttf,ttc)
+ # NOTE: ttmkfdir does NOT work on type1 fonts (#53753)
+ # Also, there is no way to regenerate Speedo/CID fonts.scale
+ # <spyderous@gentoo.org> 2 August 2004
+ if [[ "${x/encodings}" = "${x}" ]] \
+ && [[ -n "$(find ${x} -iname '*.tt[cf]' -print)" ]]; then
+ if [[ -x ${ROOT}/usr/bin/ttmkfdir ]]; then
+ LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/$(get_libdir)" \
+ ${ROOT}/usr/bin/ttmkfdir -x 2 \
+ -e ${ROOT}/usr/share/fonts/encodings/encodings.dir \
+ -o ${x}/fonts.scale -d ${x}
+ # ttmkfdir fails on some stuff, so try mkfontscale if it does
+ local ttmkfdir_return=$?
+ else
+ # We didn't use ttmkfdir at all
+ local ttmkfdir_return=2
+ fi
+ if [[ ${ttmkfdir_return} -ne 0 ]]; then
+ LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/$(get_libdir)" \
+ ${ROOT}/usr/bin/mkfontscale \
+ -a /usr/share/fonts/encodings/encodings.dir \
+ -- ${x}
+ fi
+ # Next type1 and opentype (pfa,pfb,otf,otc)
+ elif [[ "${x/encodings}" = "${x}" ]] \
+ && [[ -n "$(find ${x} -iname '*.[po][ft][abcf]' -print)" ]]; then
+ LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/$(get_libdir)" \
+ ${ROOT}/usr/bin/mkfontscale \
+ -a ${ROOT}/usr/share/fonts/encodings/encodings.dir \
+ -- ${x}
+ fi
+ done
+ eend 0
+}
+
+create_fonts_dir() {
+ ebegin "Generating fonts.dir files"
+ for FONT_DIR in ${FONT_DIRS}; do
+ x=${ROOT}/usr/share/fonts/${FONT_DIR}
+ [[ -z "$(ls ${x}/)" ]] && continue
+ [[ "$(ls ${x}/)" = "fonts.cache-1" ]] && continue
+
+ if [[ "${x/encodings}" = "${x}" ]]; then
+ LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${ROOT}/usr/$(get_libdir)" \
+ ${ROOT}/usr/bin/mkfontdir \
+ -e ${ROOT}/usr/share/fonts/encodings \
+ -e ${ROOT}/usr/share/fonts/encodings/large \
+ -- ${x}
+ fi
+ done
+ eend 0
+}
+
+fix_font_permissions() {
+ ebegin "Fixing permissions"
+ for FONT_DIR in ${FONT_DIRS}; do
+ find ${ROOT}/usr/share/fonts/${FONT_DIR} -type f -name 'font.*' \
+ -exec chmod 0644 {} \;
+ done
+ eend 0
+}
+
+create_font_cache() {
+ # danarmak found out that fc-cache should be run AFTER all the above
+ # stuff, as otherwise the cache is invalid, and has to be run again
+ # as root anyway
+ if [[ -x ${ROOT}/usr/bin/fc-cache ]]; then
+ ebegin "Creating FC font cache"
+ HOME="/root" ${ROOT}/usr/bin/fc-cache
+ eend 0
+ fi
+}
diff --git a/hardened/xorg/media-libs/mesa/Manifest b/hardened/xorg/media-libs/mesa/Manifest
new file mode 100644
index 0000000..4b5510e
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/Manifest
@@ -0,0 +1,24 @@
+AUX 6.4-dont-install-gles-headers.patch 421 RMD160 70713f143d080b444089a95712efd227227c523f SHA1 ffdf556a66229d0417d5d7e7833c8e9bfdb39741 SHA256 8f636c2e09ac7fdab0d06ebe62af5a311b52a03bf7b7bdecf4789a6e30e0777e
+MD5 ae36bba4e878c77dc2e823ce00e98869 files/6.4-dont-install-gles-headers.patch 421
+RMD160 70713f143d080b444089a95712efd227227c523f files/6.4-dont-install-gles-headers.patch 421
+SHA256 8f636c2e09ac7fdab0d06ebe62af5a311b52a03bf7b7bdecf4789a6e30e0777e files/6.4-dont-install-gles-headers.patch 421
+AUX 6.4-multilib-fix.patch 535 RMD160 5ab0237e5096728b38675c9c265cfb2c88009c00 SHA1 fe4b95135fd2855c40ab726045e901355a3af4aa SHA256 8fe39ec2ca86b206cb0d870d6644f68eb52af209f5bfb6eaad612deee80d754f
+MD5 d6254b7a775480084efcd30d9fb4cbad files/6.4-multilib-fix.patch 535
+RMD160 5ab0237e5096728b38675c9c265cfb2c88009c00 files/6.4-multilib-fix.patch 535
+SHA256 8fe39ec2ca86b206cb0d870d6644f68eb52af209f5bfb6eaad612deee80d754f files/6.4-multilib-fix.patch 535
+AUX 6.5-re-order-context-destruction.patch 2295 RMD160 5c2648f9d4fca2f3abf53ad9d29101fd931493be SHA1 0f3825910ba3d246cf59efe560f9fecab82e86d4 SHA256 dda980be89d14df3659c0d409c56e4ccd6a03afdca2e8edc502845943423a600
+MD5 621322964afb60d36444f1dfe86719b2 files/6.5-re-order-context-destruction.patch 2295
+RMD160 5c2648f9d4fca2f3abf53ad9d29101fd931493be files/6.5-re-order-context-destruction.patch 2295
+SHA256 dda980be89d14df3659c0d409c56e4ccd6a03afdca2e8edc502845943423a600 files/6.5-re-order-context-destruction.patch 2295
+AUX change-default-dri-driver-dir-X7.1.patch 399 RMD160 169dd99888a66bf63bc528f183bd4c2b6d16b0f9 SHA1 c44dd4a468d9f4b2ed202bc914bc25d5db206a80 SHA256 8dbdbad95f47bfc18a366e091ffc1d67ff16da970181626d939a19eed46a212d
+MD5 81ac0734b6194da3d9ca40d564303670 files/change-default-dri-driver-dir-X7.1.patch 399
+RMD160 169dd99888a66bf63bc528f183bd4c2b6d16b0f9 files/change-default-dri-driver-dir-X7.1.patch 399
+SHA256 8dbdbad95f47bfc18a366e091ffc1d67ff16da970181626d939a19eed46a212d files/change-default-dri-driver-dir-X7.1.patch 399
+DIST MesaLib-6.5.tar.bz2 3062363 RMD160 6006bfdfed8a2425059c31ee699b5aca4d5f57cd SHA1 a77368901b0731b662d0858aef2c405a7ddf6014 SHA256 dcacf4c18af89b57e66dc7ba39e24c3b74ff6f83b8745bcc1390170a4190eebd
+EBUILD mesa-6.5-r3.ebuild 8897 RMD160 8c5399a04fa262517ee2a9685394046e4369e3d4 SHA1 f6b7b7b5e8904c4fff4edfa83df9188a7febd8c7 SHA256 e5028b91184b634d4abfd636c38831678cba3457d63140c895a0dea2de9e07c2
+MD5 16162b59e4f93f2308d2e81c3d573bf9 mesa-6.5-r3.ebuild 8897
+RMD160 8c5399a04fa262517ee2a9685394046e4369e3d4 mesa-6.5-r3.ebuild 8897
+SHA256 e5028b91184b634d4abfd636c38831678cba3457d63140c895a0dea2de9e07c2 mesa-6.5-r3.ebuild 8897
+MD5 80bc8bfb6472d4dcbad6e14a2595c1a9 files/digest-mesa-6.5-r3 241
+RMD160 069ddf1320b547a5a5cf1af3d0611a6c35398c7e files/digest-mesa-6.5-r3 241
+SHA256 5a5ab578d50f251808ddf18cd61f6e5518224168555fc288725a8466892b4f88 files/digest-mesa-6.5-r3 241
diff --git a/hardened/xorg/media-libs/mesa/files/6.4-dont-install-gles-headers.patch b/hardened/xorg/media-libs/mesa/files/6.4-dont-install-gles-headers.patch
new file mode 100644
index 0000000..5bdc0a1
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/6.4-dont-install-gles-headers.patch
@@ -0,0 +1,11 @@
+diff -urN Mesa-6.4.orig/bin/installmesa Mesa-6.4/bin/installmesa
+--- Mesa-6.4.orig/bin/installmesa 2005-09-13 06:36:17.000000000 -0700
++++ Mesa-6.4/bin/installmesa 2005-10-13 14:10:39.000000000 -0700
+@@ -60,7 +60,6 @@
+
+ mkdir ${INCLUDE_DIR}
+ mkdir ${INCLUDE_DIR}/GL
+-mkdir ${INCLUDE_DIR}/GLES
+ mkdir ${LIB_DIR}
+ cp -f ${TOP}/include/GL/*.h ${INCLUDE_DIR}/GL
+ # NOT YET: cp -f ${TOP}/include/GLES/*.h ${INCLUDE_DIR}/GLES
diff --git a/hardened/xorg/media-libs/mesa/files/6.4-multilib-fix.patch b/hardened/xorg/media-libs/mesa/files/6.4-multilib-fix.patch
new file mode 100644
index 0000000..8e16a95
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/6.4-multilib-fix.patch
@@ -0,0 +1,27 @@
+--- bin/installmesa.multilib-fix 2005-12-16 01:46:30.000000000 +0000
++++ bin/installmesa 2005-12-16 01:47:22.000000000 +0000
+@@ -9,8 +9,9 @@
+
+ TOP=.
+
+-INCLUDE_DIR="/usr/local/include"
+-LIB_DIR="/usr/local/lib"
++# Default to /usr/local if these aren't already set.
++INCLUDE_DIR="${INCLUDE_DIR:-/usr/local/include}"
++LIB_DIR="${LIB_DIR:-/usr/local/lib}"
+
+ if [ "x$#" = "x0" ] ; then
+ echo
+@@ -40,9 +41,9 @@
+
+ read INPUT
+
+-else
+-INCLUDE_DIR=$1/include
+-LIB_DIR=$1/lib
++#else
++#INCLUDE_DIR=$1/include
++#LIB_DIR=$1/lib
+ fi
+
+ # flags:
diff --git a/hardened/xorg/media-libs/mesa/files/6.5-re-order-context-destruction.patch b/hardened/xorg/media-libs/mesa/files/6.5-re-order-context-destruction.patch
new file mode 100644
index 0000000..a882d07
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/6.5-re-order-context-destruction.patch
@@ -0,0 +1,72 @@
+--- src/mesa/drivers/dri/r128/r128_context.c 2006/02/03 13:29:11 1.23
++++ src/mesa/drivers/dri/r128/r128_context.c 2006/04/09 17:48:28 1.24
+@@ -296,10 +296,6 @@
+ _ac_DestroyContext( rmesa->glCtx );
+ _swrast_DestroyContext( rmesa->glCtx );
+
+- /* free the Mesa context */
+- rmesa->glCtx->DriverCtx = NULL;
+- _mesa_destroy_context(rmesa->glCtx);
+-
+ if ( release_texture_heaps ) {
+ /* This share group is about to go away, free our private
+ * texture object data.
+@@ -314,6 +310,10 @@
+ assert( is_empty_list( & rmesa->swapped ) );
+ }
+
++ /* free the Mesa context */
++ rmesa->glCtx->DriverCtx = NULL;
++ _mesa_destroy_context(rmesa->glCtx);
++
+ /* free the option cache */
+ driDestroyOptionCache (&rmesa->optionCache);
+
+--- src/mesa/drivers/dri/r200/r200_context.c 2006/04/04 11:04:30 1.58
++++ src/mesa/drivers/dri/r200/r200_context.c 2006/04/09 17:48:28 1.59
+@@ -590,10 +590,6 @@
+ r200VtxfmtDestroy( rmesa->glCtx );
+ }
+
+- /* free the Mesa context */
+- rmesa->glCtx->DriverCtx = NULL;
+- _mesa_destroy_context( rmesa->glCtx );
+-
+ if (rmesa->state.scissor.pClipRects) {
+ FREE(rmesa->state.scissor.pClipRects);
+ rmesa->state.scissor.pClipRects = NULL;
+@@ -613,6 +609,10 @@
+ assert( is_empty_list( & rmesa->swapped ) );
+ }
+
++ /* free the Mesa context */
++ rmesa->glCtx->DriverCtx = NULL;
++ _mesa_destroy_context( rmesa->glCtx );
++
+ /* free the option cache */
+ driDestroyOptionCache (&rmesa->optionCache);
+
+--- src/mesa/drivers/dri/radeon/radeon_context.c 2006/04/04 11:04:30 1.51
++++ src/mesa/drivers/dri/radeon/radeon_context.c 2006/04/09 17:48:28 1.52
+@@ -521,10 +521,6 @@
+ radeonVtxfmtDestroy( rmesa->glCtx );
+ }
+
+- /* free the Mesa context */
+- rmesa->glCtx->DriverCtx = NULL;
+- _mesa_destroy_context( rmesa->glCtx );
+-
+ _mesa_vector4f_free( &rmesa->tcl.ObjClean );
+
+ if (rmesa->state.scissor.pClipRects) {
+@@ -546,6 +542,10 @@
+ assert( is_empty_list( & rmesa->swapped ) );
+ }
+
++ /* free the Mesa context */
++ rmesa->glCtx->DriverCtx = NULL;
++ _mesa_destroy_context( rmesa->glCtx );
++
+ /* free the option cache */
+ driDestroyOptionCache (&rmesa->optionCache);
+
diff --git a/hardened/xorg/media-libs/mesa/files/change-default-dri-driver-dir-X7.1.patch b/hardened/xorg/media-libs/mesa/files/change-default-dri-driver-dir-X7.1.patch
new file mode 100644
index 0000000..5ea6924
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/change-default-dri-driver-dir-X7.1.patch
@@ -0,0 +1,11 @@
+--- Mesa-6.3.1.1.orig/src/glx/x11/dri_glx.c 2005-07-27 17:29:51.000000000 -0700
++++ Mesa-6.3.1.1/src/glx/x11/dri_glx.c 2005-08-14 11:09:54.000000000 -0700
+@@ -58,7 +58,7 @@
+
+ #ifndef DEFAULT_DRIVER_DIR
+ /* this is normally defined in the Imakefile */
+-#define DEFAULT_DRIVER_DIR "/usr/X11R6/lib/modules/dri"
++#define DEFAULT_DRIVER_DIR "/usr/lib/dri"
+ #endif
+
+ static __DRIdriver *Drivers = NULL;
diff --git a/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5-r3 b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5-r3
new file mode 100644
index 0000000..79639c7
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/files/digest-mesa-6.5-r3
@@ -0,0 +1,3 @@
+MD5 61beda590bfc5b4a12e979d5f2d70d7a MesaLib-6.5.tar.bz2 3062363
+RMD160 6006bfdfed8a2425059c31ee699b5aca4d5f57cd MesaLib-6.5.tar.bz2 3062363
+SHA256 dcacf4c18af89b57e66dc7ba39e24c3b74ff6f83b8745bcc1390170a4190eebd MesaLib-6.5.tar.bz2 3062363
diff --git a/hardened/xorg/media-libs/mesa/mesa-6.5-r3.ebuild b/hardened/xorg/media-libs/mesa/mesa-6.5-r3.ebuild
new file mode 100644
index 0000000..c022cb0
--- /dev/null
+++ b/hardened/xorg/media-libs/mesa/mesa-6.5-r3.ebuild
@@ -0,0 +1,336 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-6.5-r3.ebuild,v 1.2 2006/06/21 06:07:43 spyderous Exp $
+
+inherit eutils toolchain-funcs multilib flag-o-matic portability
+
+OPENGL_DIR="xorg-x11"
+
+MY_PN="${PN/m/M}"
+MY_P="${MY_PN}-${PV}"
+MY_SRC_P="${MY_PN}Lib-${PV}"
+DESCRIPTION="OpenGL-like graphic library for Linux"
+HOMEPAGE="http://mesa3d.sourceforge.net/"
+SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2"
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE_VIDEO_CARDS="
+ video_cards_i810
+ video_cards_mach64
+ video_cards_mga
+ video_cards_none
+ video_cards_r128
+ video_cards_radeon
+ video_cards_s3virge
+ video_cards_savage
+ video_cards_sis
+ video_cards_sunffb
+ video_cards_tdfx
+ video_cards_trident
+ video_cards_via"
+IUSE="${IUSE_VIDEO_CARDS}
+ debug
+ motif
+ nptl"
+
+RDEPEND="dev-libs/expat
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXxf86vm
+ x11-libs/libXi
+ x11-libs/libXmu
+ >=x11-libs/libdrm-2.0.1
+ x11-libs/libICE
+ app-admin/eselect-opengl
+ motif? ( virtual/motif )
+ !<=x11-base/xorg-x11-6.9"
+DEPEND="${RDEPEND}
+ x11-misc/makedepend
+ x11-proto/inputproto
+ x11-proto/xextproto
+ !hppa? ( x11-proto/xf86driproto )
+ x11-proto/xf86vidmodeproto
+ >=x11-proto/glproto-1.4.4
+ motif? ( x11-proto/printproto )"
+
+PROVIDE="virtual/opengl virtual/glu"
+
+S="${WORKDIR}/${MY_P}"
+
+# Think about: ggi, svga, fbcon, no-X configs
+
+if use debug; then
+ if ! has splitdebug ${FEATURES}; then
+ RESTRICT="${RESTRICT} nostrip"
+ fi
+fi
+
+pkg_setup() {
+ if use debug; then
+ strip-flags
+ append-flags -g
+ fi
+
+ append-flags -fno-strict-aliasing
+
+ if [[ ${KERNEL} == "FreeBSD" ]]; then
+ CONFIG="freebsd"
+ elif use x86; then
+ CONFIG="linux-dri-x86"
+ elif use amd64; then
+ CONFIG="linux-dri-x86-64"
+ elif use ppc; then
+ CONFIG="linux-dri-ppc"
+ else
+ CONFIG="linux-dri"
+ fi
+}
+
+src_unpack() {
+ HOSTCONF="${S}/configs/${CONFIG}"
+
+ unpack ${A}
+ cd ${S}
+
+ epatch ${FILESDIR}/6.4-dont-install-gles-headers.patch
+ epatch ${FILESDIR}/change-default-dri-driver-dir-X7.1.patch
+ epatch ${FILESDIR}/6.4-multilib-fix.patch
+ epatch ${FILESDIR}/6.5-re-order-context-destruction.patch
+
+ # Don't compile debug code with USE=-debug - bug #125004
+ if ! use debug; then
+ einfo "Removing DO_DEBUG defs in dri drivers..."
+ find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;
+ fi
+
+ # Set default dri drivers directory
+ echo "DEFINES += -DDEFAULT_DRIVER_DIR='\"/usr/$(get_libdir)/dri\"'" >> ${HOSTCONF}
+
+ # Do we want thread-local storage (TLS)?
+ if use nptl; then
+ echo "ARCH_FLAGS += -DGLX_USE_TLS" >> ${HOSTCONF}
+ fi
+
+ # Configurable DRI drivers
+ if use video_cards_i810; then
+ add_drivers i810 i915
+ fi
+ if use video_cards_mach64; then
+ add_drivers mach64
+ fi
+ if use video_cards_mga; then
+ add_drivers mga
+ fi
+ if use video_cards_r128; then
+ add_drivers r128
+ fi
+ if use video_cards_radeon; then
+ add_drivers radeon r200 r300
+ fi
+ if use video_cards_s3virge; then
+ add_drivers s3v
+ fi
+ if use video_cards_savage; then
+ add_drivers savage
+ fi
+ if use video_cards_sis; then
+ add_drivers sis
+ fi
+ if use video_cards_sunffb; then
+ add_drivers ffb
+ fi
+ if use video_cards_tdfx; then
+ add_drivers tdfx
+ fi
+ if use video_cards_trident; then
+ add_drivers trident
+ fi
+ if use video_cards_via; then
+ add_drivers unichrome
+ fi
+
+ # Defaults based on X.Org 6.9, with some changes
+ if [[ ! -n "${VIDEO_CARDS}" ]]; then
+ if use alpha; then
+ add_drivers mga tdfx r128 r200 r300 radeon
+ elif use amd64; then
+ add_drivers i915 mga r128 r200 r300 radeon tdfx
+ elif use arm; then
+ add_drivers mga r128 r200 r300 radeon
+ elif use hppa; then
+ # no accelerated 3D on hppa
+ true
+ elif use ia64; then
+ add_drivers mach64 mga r128 r200 r300 radeon tdfx unichrome
+ elif use mips; then
+ # no accelerated 3D on mips
+ true
+ elif use ppc; then
+ add_drivers mach64 mga r128 r200 r300 radeon tdfx
+ elif use ppc64; then
+ add_drivers mga r128 r200 r300 radeon
+ elif use sparc; then
+ add_drivers ffb mach64
+ elif use x86; then
+ add_drivers i810 i915 mach64 mga r128 r200 r300 radeon s3v savage \
+ sis tdfx trident unichrome
+ fi
+ fi
+
+ # Set drivers to everything on which we ran add_drivers()
+ echo "DRI_DIRS = ${DRI_DRIVERS}" >> ${HOSTCONF}
+
+ if use sparc; then
+ einfo "Sparc assembly code is not working; deactivating"
+ echo "ASM_FLAGS =" >> ${HOSTCONF}
+ echo "ASM_SOURCES =" >> ${HOSTCONF}
+ fi
+
+ # Kill this; we don't want /usr/X11R6/lib ever to be searched in this
+ # build.
+ echo "EXTRA_LIB_PATH =" >> ${HOSTCONF}
+
+ echo "OPT_FLAGS = ${CFLAGS}" >> ${HOSTCONF}
+ echo "CC = $(tc-getCC)" >> ${HOSTCONF}
+ echo "CXX = $(tc-getCXX)" >> ${HOSTCONF}
+ # bug #110840 - Build with PIC, since it hasn't been shown to slow it down
+ echo "PIC_FLAGS = -fPIC" >> ${HOSTCONF}
+
+ # Removed glut, since we have separate freeglut/glut ebuilds
+ # Remove EGL, since Brian Paul says it's not ready for a release
+ echo "SRC_DIRS = glx/x11 mesa glu glw" >> ${HOSTCONF}
+
+ # Get rid of glut includes
+ rm -f ${S}/include/GL/glut*h
+
+ # r200 breaks without this, since it's the only EGL-enabled driver so far
+ echo "USING_EGL = 0" >> ${HOSTCONF}
+
+ # Don't build EGL demos. EGL isn't ready for release, plus they produce a
+ # circular dependency with glut.
+ echo "PROGRAM_DIRS =" >> ${HOSTCONF}
+
+ # Documented in configs/default
+ if use motif; then
+ # Add -lXm
+ echo "GLW_LIB_DEPS += -lXm" >> ${HOSTCONF}
+ # Add GLwMDrawA.c
+ echo "GLW_SOURCES += GLwMDrawA.c" >> ${HOSTCONF}
+ fi
+}
+
+src_compile() {
+ emake -j1 ${CONFIG} || die "Build failed"
+}
+
+src_install() {
+ dodir /usr
+ make \
+ DESTDIR=${D}/usr \
+ INCLUDE_DIR=${D}/usr/include \
+ LIB_DIR=${D}/usr/$(get_libdir) \
+ install || die "Installation failed"
+
+ ##
+ # Install the actual drivers --- 'make install' doesn't install them
+ # anywhere.
+ dodir /usr/$(get_libdir)/dri
+ exeinto /usr/$(get_libdir)/dri
+ ebegin "Installing drivers to ${EXEDESTTREE}"
+ find ${S}/lib* -name '*_dri.so' | xargs doexe
+ eend
+
+ if ! use motif; then
+ rm ${D}/usr/include/GL/GLwMDrawA.h
+ fi
+
+ # Don't install private headers
+ rm ${D}/usr/include/GL/GLw*P.h
+
+ fix_opengl_symlinks
+ dynamic_libgl_install
+
+ # Install libtool archives
+ insinto /usr/$(get_libdir)
+ # (#67729) Needs to be lib, not $(get_libdir)
+ doins ${FILESDIR}/lib/libGLU.la
+ insinto /usr/$(get_libdir)/opengl/xorg-x11/lib
+ doins ${FILESDIR}/lib/libGL.la
+
+ # On *BSD libcs dlopen() and similar functions are present directly in
+ # libc.so and does not require linking to libdl. portability eclass takes
+ # care of finding the needed library (if needed) witht the dlopen_lib
+ # function.
+ sed -i -e 's:-ldl:'$(dlopen_lib)':g' \
+ ${D}/usr/$(get_libdir)/libGLU.la \
+ ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la
+
+ # Create the two-number versioned libs (.so.#.#), since only .so.# and
+ # .so.#.#.# were made
+ dosym libGLU.so.1.3.060500 /usr/$(get_libdir)/libGLU.so.1.3
+ dosym libGLw.so.1.0.0 /usr/$(get_libdir)/libGLw.so.1.0
+
+ # libGLU doesn't get the plain .so symlink either
+ dosym libGLU.so.1 /usr/$(get_libdir)/libGLU.so
+
+ # Figure out why libGL.so.1.5 is built (directfb), and why it's linked to
+ # as the default libGL.so.1
+}
+
+pkg_postinst() {
+ switch_opengl_implem
+}
+
+fix_opengl_symlinks() {
+ # Remove invalid symlinks
+ local LINK
+ for LINK in $(find ${D}/usr/$(get_libdir) \
+ -name libGL\.* -type l); do
+ rm -f ${LINK}
+ done
+ # Create required symlinks
+ if [[ ${CHOST} == *-freebsd* ]]; then
+ # FreeBSD doesn't use major.minor versioning, so the library is only
+ # libGL.so.1 and no libGL.so.1.2 is ever used there, thus only create
+ # libGL.so symlink and leave libGL.so.1 being the real thing
+ dosym libGL.so.1 /usr/$(get_libdir)/libGL.so
+ else
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so
+ dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so.1
+ fi
+}
+
+dynamic_libgl_install() {
+ # next section is to setup the dynamic libGL stuff
+ ebegin "Moving libGL and friends for dynamic switching"
+ dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include}
+ local x=""
+ for x in ${D}/usr/$(get_libdir)/libGL.so* \
+ ${D}/usr/$(get_libdir)/libGL.la \
+ ${D}/usr/$(get_libdir)/libGL.a; do
+ if [ -f ${x} -o -L ${x} ]; then
+ # libGL.a cause problems with tuxracer, etc
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib
+ fi
+ done
+ # glext.h added for #54984
+ for x in ${D}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include
+ fi
+ done
+ eend 0
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+ eselect opengl set --use-old ${OPENGL_DIR}
+}
+
+add_drivers() {
+ DRI_DRIVERS="${DRI_DRIVERS} $@"
+}
diff --git a/hardened/xorg/x11-drivers/xf86-video-ati/Manifest b/hardened/xorg/x11-drivers/xf86-video-ati/Manifest
new file mode 100644
index 0000000..ba3f2a5
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-ati/Manifest
@@ -0,0 +1,21 @@
+AUX xf86-video-ati-mainnorefsub.patch 3582 RMD160 a30f00946e8407ad89494872ba3ba91f616b9530 SHA1 d40ada6f6639af3cee32606eda9deefb9d9c8c4f SHA256 598d13102d74e8e408880dd1bf3d46cf0c49839ddfb6212824909ccc35d276d4
+MD5 3ae4df01dc047594c259a3db8d9b5e41 files/xf86-video-ati-mainnorefsub.patch 3582
+RMD160 a30f00946e8407ad89494872ba3ba91f616b9530 files/xf86-video-ati-mainnorefsub.patch 3582
+SHA256 598d13102d74e8e408880dd1bf3d46cf0c49839ddfb6212824909ccc35d276d4 files/xf86-video-ati-mainnorefsub.patch 3582
+DIST x11-driver-patches-1.tar.bz2 389 RMD160 0c57d4b235d83f3d7c46691c13857fd121ddec2d SHA1 6e2ac0cd255d3c4dc97d35092fe3ef64a71d7ac5 SHA256 64787d5b57d2845c0fa9297a9d924093ba191fc3551798239d9983f0bcca9b3e
+DIST xf86-video-ati-6.5.8.0.tar.bz2 683625 RMD160 f774fc0a4e49481278ab220d454cf7bd8fad85cb SHA1 d0f7c9e7447e0219ea8616bb65a9e23d9ce5eb7c SHA256 564efc8f8e9b46bb0f8ae49d91d2a51a572f0294e571cc9d91dc6ed253ba119d
+DIST xf86-video-ati-6.6.0.tar.bz2 723687 RMD160 ac58673f76c6693f35cb515731c2d7250b8c88b8 SHA1 f6b4eda4e4ee542afd16c2be33e651a91519b0cb SHA256 23027b52d5b82c47201ac7471c545162149a6c6d38ec9c090469f6698e83eb21
+EBUILD xf86-video-ati-6.5.8.0.ebuild 943 RMD160 eaa0d1d7e7d115bd5c1b480cacfb66e2c1359737 SHA1 9af7dc9e092ae657e800f70890b1e4f90b041d2d SHA256 be895809932a885efed686aba46fde9b4658fbc5e5039ca34d6656764bb7c214
+MD5 1990ab4c65e7f06406a7a20f99ea1b28 xf86-video-ati-6.5.8.0.ebuild 943
+RMD160 eaa0d1d7e7d115bd5c1b480cacfb66e2c1359737 xf86-video-ati-6.5.8.0.ebuild 943
+SHA256 be895809932a885efed686aba46fde9b4658fbc5e5039ca34d6656764bb7c214 xf86-video-ati-6.5.8.0.ebuild 943
+EBUILD xf86-video-ati-6.6.0.ebuild 946 RMD160 efe903fb51c63b58de20b951b13aa690a74de519 SHA1 943f0d1c15bf203d09c54b413bc5693489552366 SHA256 65a46098c23579f94997dd679732a213ad62fa0292f9c9d7e81820fdc3bc626a
+MD5 b858b244c49dd5f927e2a5c03b81b1c7 xf86-video-ati-6.6.0.ebuild 946
+RMD160 efe903fb51c63b58de20b951b13aa690a74de519 xf86-video-ati-6.6.0.ebuild 946
+SHA256 65a46098c23579f94997dd679732a213ad62fa0292f9c9d7e81820fdc3bc626a xf86-video-ati-6.6.0.ebuild 946
+MD5 9faed29310a3324108fa498f86106e45 files/digest-xf86-video-ati-6.5.8.0 527
+RMD160 605aa390d1786b15c389363cb54129756718fb06 files/digest-xf86-video-ati-6.5.8.0 527
+SHA256 5ab2e6e336a7534869abb3d01bc5d02583a4391f447835b9cacf8a488b5e35a3 files/digest-xf86-video-ati-6.5.8.0 527
+MD5 9fe6428e15bc57a8c214106d89faf3b2 files/digest-xf86-video-ati-6.6.0 521
+RMD160 7cffbddf1bddbe5b4aad06400497e3168bbd3e1e files/digest-xf86-video-ati-6.6.0 521
+SHA256 2fbb6985c2ce484bf327f8734882a6e0e47524ef219617eea9c5793cf22957a8 files/digest-xf86-video-ati-6.6.0 521
diff --git a/hardened/xorg/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.5.8.0 b/hardened/xorg/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.5.8.0
new file mode 100644
index 0000000..e78bfb5
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.5.8.0
@@ -0,0 +1,6 @@
+MD5 1b8cfd2923836ee93eda69abe50dda04 x11-driver-patches-1.tar.bz2 389
+RMD160 0c57d4b235d83f3d7c46691c13857fd121ddec2d x11-driver-patches-1.tar.bz2 389
+SHA256 64787d5b57d2845c0fa9297a9d924093ba191fc3551798239d9983f0bcca9b3e x11-driver-patches-1.tar.bz2 389
+MD5 6d99444b698b762d689b30a1e4f36c55 xf86-video-ati-6.5.8.0.tar.bz2 683625
+RMD160 f774fc0a4e49481278ab220d454cf7bd8fad85cb xf86-video-ati-6.5.8.0.tar.bz2 683625
+SHA256 564efc8f8e9b46bb0f8ae49d91d2a51a572f0294e571cc9d91dc6ed253ba119d xf86-video-ati-6.5.8.0.tar.bz2 683625
diff --git a/hardened/xorg/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.6.0 b/hardened/xorg/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.6.0
new file mode 100644
index 0000000..328add6
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.6.0
@@ -0,0 +1,6 @@
+MD5 1b8cfd2923836ee93eda69abe50dda04 x11-driver-patches-1.tar.bz2 389
+RMD160 0c57d4b235d83f3d7c46691c13857fd121ddec2d x11-driver-patches-1.tar.bz2 389
+SHA256 64787d5b57d2845c0fa9297a9d924093ba191fc3551798239d9983f0bcca9b3e x11-driver-patches-1.tar.bz2 389
+MD5 fbf04977d41239d55387122a4de6bd16 xf86-video-ati-6.6.0.tar.bz2 723687
+RMD160 ac58673f76c6693f35cb515731c2d7250b8c88b8 xf86-video-ati-6.6.0.tar.bz2 723687
+SHA256 23027b52d5b82c47201ac7471c545162149a6c6d38ec9c090469f6698e83eb21 xf86-video-ati-6.6.0.tar.bz2 723687
diff --git a/hardened/xorg/x11-drivers/xf86-video-ati/files/xf86-video-ati-mainnorefsub.patch b/hardened/xorg/x11-drivers/xf86-video-ati/files/xf86-video-ati-mainnorefsub.patch
new file mode 100644
index 0000000..bc445a9
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-ati/files/xf86-video-ati-mainnorefsub.patch
@@ -0,0 +1,126 @@
+--- src/atiprobe.c.orig 2006-05-28 22:40:21.000000000 +0200
++++ src/atiprobe.c 2006-05-28 23:09:44.000000000 +0200
+@@ -62,6 +62,11 @@
+ * largely ignored.
+ */
+
++#ifdef XFree86LOADER
++typedef void (*ATIFillInScreenInfoFn)(ScrnInfoPtr);
++ATIFillInScreenInfoFn ATIFillInScreenInfoPtr = NULL;
++#endif
++
+ /* Used as a temporary buffer */
+ #define Identifier ((char *)(pATI->MMIOCache))
+
+@@ -2279,6 +2284,8 @@
+
+ xf86LoaderReqSymLists(ATISymbols, NULL);
+
++ ATIFillInScreenInfoPtr = (ATIFillInScreenInfoFn)LoaderSymbol("ATIFilInScreenInfo");
++
+ #endif
+
+ /* Attach device to screen */
+@@ -2287,7 +2294,11 @@
+ ATIPtrs[j - 1] = NULL;
+
+ /* Fill in probe data */
++#ifdef XFree86LOADER
++ (*ATIFillInScreenInfoPtr)(pScreenInfo);
++#else
+ ATIFillInScreenInfo(pScreenInfo);
++#endif
+
+ pScreenInfo->driverPrivate = pATI;
+
+--- src/r128_probe.c.orig 2006-05-28 22:39:56.000000000 +0200
++++ src/r128_probe.c 2006-05-28 23:08:48.000000000 +0200
+@@ -53,6 +53,13 @@
+
+ #include "r128_chipset.h"
+
++#ifdef XFree86LOADER
++typedef void (*R128FillInScreenInfoFn)(ScrnInfoPtr);
++typedef const OptionInfoRec *(*R128OptionsWeakFn)(void);
++static R128FillInScreenInfoFn R128FillInScreenInfoPtr = NULL;
++static R128OptionsWeakFn R128OptionsWeakPtr = NULL;
++#endif
++
+ PciChipsets R128PciChipsets[] = {
+ { PCI_CHIP_RAGE128LE, PCI_CHIP_RAGE128LE, RES_SHARED_VGA },
+ { PCI_CHIP_RAGE128LF, PCI_CHIP_RAGE128LF, RES_SHARED_VGA },
+@@ -120,7 +127,11 @@
+ chipid -= PCI_VENDOR_ATI << 16;
+ for (i = 0; R128PciChipsets[i].PCIid > 0; i++) {
+ if (chipid == R128PciChipsets[i].PCIid)
++#ifdef XFree86LOADER
++ return (*R128OptionsWeakPtr)();
++#else
+ return R128OptionsWeak();
++#endif
+ }
+ return NULL;
+ }
+@@ -206,10 +217,16 @@
+
+ xf86LoaderReqSymLists(R128Symbols, NULL);
+
++ R128FillInScreenInfoPtr = (R128FillInScreenInfoFn)LoaderSymbol("R128FillInScreenInfo");
++ R128OptionsWeakPtr = (R128OptionsWeakFn)LoaderSymbol("R128OptionsWeak");
+ #endif
+
+ pScrn->Probe = R128Probe;
++#ifdef XFree86LOADER
++ (*R128FillInScreenInfoPtr)(pScrn);
++#else
+ R128FillInScreenInfo(pScrn);
++#endif
+
+ foundScreen = TRUE;
+
+--- src/radeon_probe.c.orig 2006-05-28 22:39:46.000000000 +0200
++++ src/radeon_probe.c 2006-05-28 23:04:52.000000000 +0200
+@@ -54,6 +54,13 @@
+
+ #include "radeon_chipset.h"
+
++#ifdef XFree86LOADER
++typedef void (*RADEONFillInScreenInfoFn)(ScrnInfoPtr);
++typedef const OptionInfoRec *(*RADEONOptionsWeakFn)(void);
++static RADEONFillInScreenInfoFn RADEONFillInScreenInfoPtr = NULL;
++static RADEONOptionsWeakFn RADEONOptionsWeakPtr = NULL;
++#endif
++
+ PciChipsets RADEONPciChipsets[] = {
+ { PCI_CHIP_RADEON_QD, PCI_CHIP_RADEON_QD, RES_SHARED_VGA },
+ { PCI_CHIP_RADEON_QE, PCI_CHIP_RADEON_QE, RES_SHARED_VGA },
+@@ -213,7 +220,11 @@
+ chipid -= PCI_VENDOR_ATI << 16;
+ for (i = 0; RADEONPciChipsets[i].PCIid > 0; i++) {
+ if (chipid == RADEONPciChipsets[i].PCIid)
++#ifdef XFree86LOADER
++ return (*RADEONOptionsWeakPtr)();
++#else
+ return RADEONOptionsWeak();
++#endif
+ }
+ return NULL;
+ }
+@@ -294,10 +305,17 @@
+ }
+
+ xf86LoaderReqSymLists(RADEONSymbols, NULL);
++
++ RADEONFillInScreenInfoPtr = (RADEONFillInScreenInfoFn)LoaderSymbol("RADEONFillInScreenInfo");
++ RADEONOptionsWeakPtr = (RADEONOptionsWeakFn)LoaderSymbol("RADEONOptionsWeak");
+ #endif
+
+ pScrn->Probe = RADEONProbe;
++#ifdef XFree86LOADER
++ (*RADEONFillInScreenInfoPtr)(pScrn);
++#else
+ RADEONFillInScreenInfo(pScrn);
++#endif
+ foundScreen = TRUE;
+ }
+
diff --git a/hardened/xorg/x11-drivers/xf86-video-ati/xf86-video-ati-6.5.8.0.ebuild b/hardened/xorg/x11-drivers/xf86-video-ati/xf86-video-ati-6.5.8.0.ebuild
new file mode 100644
index 0000000..98db382
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-ati/xf86-video-ati-6.5.8.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/xf86-video-ati-6.5.8.0.ebuild,v 1.1 2006/04/29 16:57:17 joshuabaergen Exp $
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+PATCHES=${FILESDIR}/xf86-video-ati-mainnorefsub.patch
+
+inherit x-modular
+
+DESCRIPTION="X.Org driver for ati cards"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="dri"
+RDEPEND="x11-base/xorg-server"
+DEPEND="${RDEPEND}
+ x11-proto/fontsproto
+ x11-proto/randrproto
+ x11-proto/videoproto
+ x11-proto/xextproto
+ x11-proto/xineramaproto
+ x11-proto/xf86miscproto
+ x11-proto/xproto
+ dri? ( x11-proto/xf86driproto
+ >=x11-libs/libdrm-2 )"
+
+CONFIGURE_OPTIONS="$(use_enable dri)"
+
+pkg_setup() {
+ if use dri && ! built_with_use x11-base/xorg-server dri; then
+ die "Build x11-base/xorg-server with USE=dri."
+ fi
+}
diff --git a/hardened/xorg/x11-drivers/xf86-video-ati/xf86-video-ati-6.6.0.ebuild b/hardened/xorg/x11-drivers/xf86-video-ati/xf86-video-ati-6.6.0.ebuild
new file mode 100644
index 0000000..522dd89
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-ati/xf86-video-ati-6.6.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/xf86-video-ati-6.6.0.ebuild,v 1.2 2006/06/05 21:38:07 flameeyes Exp $
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+PATCHES=${FILESDIR}/xf86-video-ati-mainnorefsub.patch
+
+inherit x-modular
+
+DESCRIPTION="X.Org driver for ati cards"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="dri"
+RDEPEND=">=x11-base/xorg-server-1.0.99"
+DEPEND="${RDEPEND}
+ x11-proto/fontsproto
+ x11-proto/randrproto
+ x11-proto/videoproto
+ x11-proto/xextproto
+ x11-proto/xineramaproto
+ x11-proto/xf86miscproto
+ x11-proto/xproto
+ dri? ( x11-proto/xf86driproto
+ >=x11-libs/libdrm-2 )"
+
+CONFIGURE_OPTIONS="$(use_enable dri)"
+
+pkg_setup() {
+ if use dri && ! built_with_use x11-base/xorg-server dri; then
+ die "Build x11-base/xorg-server with USE=dri."
+ fi
+}
diff --git a/hardened/xorg/x11-drivers/xf86-video-cirrus/Manifest b/hardened/xorg/x11-drivers/xf86-video-cirrus/Manifest
new file mode 100644
index 0000000..00845e1
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-cirrus/Manifest
@@ -0,0 +1,21 @@
+AUX xf86-video-cirrus-mainnorefsub.patch 2566 RMD160 958f35935bb6abda2f9c0703eb435d6a6b30efc2 SHA1 f326b3f3c876f18350177418124d748d12545254 SHA256 637ed9b68cde2ce16365b261e2ebea73a20973a409f7e7d12d1bc6ad7cd50db2
+MD5 d4347cab6fff7cae1e1a70d38429b65c files/xf86-video-cirrus-mainnorefsub.patch 2566
+RMD160 958f35935bb6abda2f9c0703eb435d6a6b30efc2 files/xf86-video-cirrus-mainnorefsub.patch 2566
+SHA256 637ed9b68cde2ce16365b261e2ebea73a20973a409f7e7d12d1bc6ad7cd50db2 files/xf86-video-cirrus-mainnorefsub.patch 2566
+DIST x11-driver-patches-1.tar.bz2 389 RMD160 0c57d4b235d83f3d7c46691c13857fd121ddec2d SHA1 6e2ac0cd255d3c4dc97d35092fe3ef64a71d7ac5 SHA256 64787d5b57d2845c0fa9297a9d924093ba191fc3551798239d9983f0bcca9b3e
+DIST xf86-video-cirrus-1.0.0.5.tar.bz2 254801 RMD160 0909ad4269146aa9639c73a5196f4f6695f64ae1 SHA1 d4c15798447d5c9f66d016d9d38a84c314fdf78f SHA256 06100d81ea5a6b55ee277f0c82718e45e6bac1299a7875c83fee63cfd1c9f681
+DIST xf86-video-cirrus-1.1.0.tar.bz2 264167 RMD160 027e6b8cfc78dab762207d809cb61ecf97c92638 SHA256 5988962199d5013274f6a6952939e4f405df658bb6616ebf9954c993b1179b1b
+EBUILD xf86-video-cirrus-1.0.0.5.ebuild 666 RMD160 238f367ddddb7ace3acfc14a7f09da74a15355e6 SHA1 fcc95e824f025e03ee5aa9c96664415eb8171509 SHA256 893adedaaee5a87fe8fc4b212851ed366d503649bd2f808b6dc5a5ee491a6d1d
+MD5 85aba66d5c4122548c62cf8d0de4fd5c xf86-video-cirrus-1.0.0.5.ebuild 666
+RMD160 238f367ddddb7ace3acfc14a7f09da74a15355e6 xf86-video-cirrus-1.0.0.5.ebuild 666
+SHA256 893adedaaee5a87fe8fc4b212851ed366d503649bd2f808b6dc5a5ee491a6d1d xf86-video-cirrus-1.0.0.5.ebuild 666
+EBUILD xf86-video-cirrus-1.1.0.ebuild 673 RMD160 acdf0326c54b7332a5efc7c0918c62ff503d5c9e SHA1 e521d0d06f2e19db3fe108a7cbe2ba8ad36ebc64 SHA256 fbe5f9b1a58386f3f32a9481c85aec581a1064fd2f5d0a1faa03b4224a779619
+MD5 a6de987fd095eb5c54278655cfa16b64 xf86-video-cirrus-1.1.0.ebuild 673
+RMD160 acdf0326c54b7332a5efc7c0918c62ff503d5c9e xf86-video-cirrus-1.1.0.ebuild 673
+SHA256 fbe5f9b1a58386f3f32a9481c85aec581a1064fd2f5d0a1faa03b4224a779619 xf86-video-cirrus-1.1.0.ebuild 673
+MD5 975adf178f52b0441f3c61ce37b43cd5 files/digest-xf86-video-cirrus-1.0.0.5 536
+RMD160 c8704fa5d87f766ccf6dff6d6aa0c11f1c0bfa05 files/digest-xf86-video-cirrus-1.0.0.5 536
+SHA256 c824e2f2e7d170681614ed0d8ec099e4efeb041c82329d6d027947e634318575 files/digest-xf86-video-cirrus-1.0.0.5 536
+MD5 16fed1626701232a98e9e2f08e120b82 files/digest-xf86-video-cirrus-1.1.0 530
+RMD160 e4b1220ff2380409d3559c3c38d83f4ec04ef2e0 files/digest-xf86-video-cirrus-1.1.0 530
+SHA256 e3cef78be92a2ef8552665a6ada20ebd04ea434c01b6484fc023fb0d801ef677 files/digest-xf86-video-cirrus-1.1.0 530
diff --git a/hardened/xorg/x11-drivers/xf86-video-cirrus/files/digest-xf86-video-cirrus-1.0.0.5 b/hardened/xorg/x11-drivers/xf86-video-cirrus/files/digest-xf86-video-cirrus-1.0.0.5
new file mode 100644
index 0000000..21d2f5b
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-cirrus/files/digest-xf86-video-cirrus-1.0.0.5
@@ -0,0 +1,6 @@
+MD5 1b8cfd2923836ee93eda69abe50dda04 x11-driver-patches-1.tar.bz2 389
+RMD160 0c57d4b235d83f3d7c46691c13857fd121ddec2d x11-driver-patches-1.tar.bz2 389
+SHA256 64787d5b57d2845c0fa9297a9d924093ba191fc3551798239d9983f0bcca9b3e x11-driver-patches-1.tar.bz2 389
+MD5 fba6807fb95b5f1a397429b5e3e3276e xf86-video-cirrus-1.0.0.5.tar.bz2 254801
+RMD160 0909ad4269146aa9639c73a5196f4f6695f64ae1 xf86-video-cirrus-1.0.0.5.tar.bz2 254801
+SHA256 06100d81ea5a6b55ee277f0c82718e45e6bac1299a7875c83fee63cfd1c9f681 xf86-video-cirrus-1.0.0.5.tar.bz2 254801
diff --git a/hardened/xorg/x11-drivers/xf86-video-cirrus/files/digest-xf86-video-cirrus-1.1.0 b/hardened/xorg/x11-drivers/xf86-video-cirrus/files/digest-xf86-video-cirrus-1.1.0
new file mode 100644
index 0000000..8cc92b4
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-cirrus/files/digest-xf86-video-cirrus-1.1.0
@@ -0,0 +1,6 @@
+MD5 1b8cfd2923836ee93eda69abe50dda04 x11-driver-patches-1.tar.bz2 389
+RMD160 0c57d4b235d83f3d7c46691c13857fd121ddec2d x11-driver-patches-1.tar.bz2 389
+SHA256 64787d5b57d2845c0fa9297a9d924093ba191fc3551798239d9983f0bcca9b3e x11-driver-patches-1.tar.bz2 389
+MD5 66344e315def275605dafb314ce59851 xf86-video-cirrus-1.1.0.tar.bz2 264167
+RMD160 027e6b8cfc78dab762207d809cb61ecf97c92638 xf86-video-cirrus-1.1.0.tar.bz2 264167
+SHA256 5988962199d5013274f6a6952939e4f405df658bb6616ebf9954c993b1179b1b xf86-video-cirrus-1.1.0.tar.bz2 264167
diff --git a/hardened/xorg/x11-drivers/xf86-video-cirrus/files/xf86-video-cirrus-mainnorefsub.patch b/hardened/xorg/x11-drivers/xf86-video-cirrus/files/xf86-video-cirrus-mainnorefsub.patch
new file mode 100644
index 0000000..3124f1e
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-cirrus/files/xf86-video-cirrus-mainnorefsub.patch
@@ -0,0 +1,102 @@
+--- src/cir_driver.c.orig 2006-05-28 12:24:07.000000000 +0200
++++ src/cir_driver.c 2006-05-28 12:46:58.000000000 +0200
+@@ -119,16 +119,29 @@
+ * unresolved symbols that are not required.
+ */
+
++typedef enum {AvailableOptions, Probe} SubSymbolIdx;
++typedef ScrnInfoPtr (*subFunctionPtr)(int);
++
+ static const char *alpSymbols[] = {
+ "AlpAvailableOptions",
+ "AlpProbe",
+ NULL
+ };
++subFunctionPtr alpRefs[] = {
++ NULL,
++ NULL,
++ NULL
++};
+ static const char *lgSymbols[] = {
+ "LgAvailableOptions",
+ "LgProbe",
+ NULL
+ };
++subFunctionPtr lgRefs[] = {
++ NULL,
++ NULL,
++ NULL
++};
+
+ static const char *vbeSymbols[] = {
+ "VBEInit",
+@@ -200,13 +213,13 @@
+ case PCI_CHIP_GD5464BD:
+ case PCI_CHIP_GD5465:
+ if (lg_loaded)
+- return LgAvailableOptions(chipid);
++ return (*lgRefs[AvailableOptions])(chipid);
+ else
+ return NULL;
+
+ default:
+ if (alp_loaded)
+- return AlpAvailableOptions(chipid);
++ return (*alpRefs[AvailableOptions])(chipid);
+ else
+ return NULL;
+ }
+@@ -215,7 +228,7 @@
+ static Bool
+ CIRProbe(DriverPtr drv, int flags)
+ {
+- int i;
++ int i, symidx;
+ GDevPtr *devSections;
+ pciVideoPtr pPci;
+ int *usedChips;
+@@ -238,12 +251,18 @@
+ if (!lg_loaded) {
+ if (xf86LoadDrvSubModule(drv, "cirrus_laguna")) {
+ xf86LoaderReqSymLists(lgSymbols, NULL);
++ for (symidx=0; lgSymbols[symidx]!=NULL; symidx++) {
++ lgRefs[symidx]=(subFunctionPtr)LoaderSymbol(lgSymbols[symidx]);
++ }
+ lg_loaded = TRUE;
+ }
+ }
+ if (!alp_loaded) {
+ if (xf86LoadDrvSubModule(drv, "cirrus_alpine")) {
+ xf86LoaderReqSymLists(alpSymbols, NULL);
++ for (symidx=0; alpSymbols[symidx]!=NULL; symidx++) {
++ alpRefs[symidx]=(subFunctionPtr)LoaderSymbol(alpSymbols[symidx]);
++ }
+ alp_loaded = TRUE;
+ }
+ }
+@@ -288,17 +307,23 @@
+ if (!xf86LoadDrvSubModule(drv, "cirrus_laguna"))
+ continue;
+ xf86LoaderReqSymLists(lgSymbols, NULL);
++ for (symidx=0; lgSymbols[symidx]!=NULL; symidx++) {
++ lgRefs[symidx]=(subFunctionPtr)LoaderSymbol(lgSymbols[symidx]);
++ }
+ lg_loaded = TRUE;
+ }
+- pScrn = LgProbe(usedChips[i]);
++ pScrn = (*lgRefs[Probe])(usedChips[i]);
+ } else {
+ if (!alp_loaded) {
+ if (!xf86LoadDrvSubModule(drv, "cirrus_alpine"))
+ continue;
+ xf86LoaderReqSymLists(alpSymbols, NULL);
++ for (symidx=0; alpSymbols[symidx]!=NULL; symidx++) {
++ alpRefs[symidx]=(subFunctionPtr)LoaderSymbol(alpSymbols[symidx]);
++ }
+ alp_loaded = TRUE;
+ }
+- pScrn = AlpProbe(usedChips[i]);
++ pScrn = (*alpRefs[Probe])(usedChips[i]);
+ }
+
+ if (pScrn) {
diff --git a/hardened/xorg/x11-drivers/xf86-video-cirrus/xf86-video-cirrus-1.0.0.5.ebuild b/hardened/xorg/x11-drivers/xf86-video-cirrus/xf86-video-cirrus-1.0.0.5.ebuild
new file mode 100644
index 0000000..e47f64a
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-cirrus/xf86-video-cirrus-1.0.0.5.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-cirrus/xf86-video-cirrus-1.0.0.5.ebuild,v 1.7 2006/04/16 14:07:46 flameeyes Exp $
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+PATCHES=${FILESDIR}/xf86-video-cirrus-mainnorefsub.patch
+
+inherit x-modular
+
+DESCRIPTION="X.Org driver for cirrus cards"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sh ~x86 ~x86-fbsd"
+RDEPEND="x11-base/xorg-server"
+DEPEND="${RDEPEND}
+ x11-proto/fontsproto
+ x11-proto/randrproto
+ x11-proto/renderproto
+ x11-proto/videoproto
+ x11-proto/xextproto
+ x11-proto/xproto"
diff --git a/hardened/xorg/x11-drivers/xf86-video-cirrus/xf86-video-cirrus-1.1.0.ebuild b/hardened/xorg/x11-drivers/xf86-video-cirrus/xf86-video-cirrus-1.1.0.ebuild
new file mode 100644
index 0000000..ef33cbd
--- /dev/null
+++ b/hardened/xorg/x11-drivers/xf86-video-cirrus/xf86-video-cirrus-1.1.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-cirrus/xf86-video-cirrus-1.1.0.ebuild,v 1.2 2006/06/05 21:29:53 flameeyes Exp $
+
+# Must be before x-modular eclass is inherited
+#SNAPSHOT="yes"
+PATCHES=${FILESDIR}/xf86-video-cirrus-mainnorefsub.patch
+
+inherit x-modular
+
+DESCRIPTION="X.Org driver for cirrus cards"
+KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~sh ~x86 ~x86-fbsd"
+RDEPEND=">=x11-base/xorg-server-1.0.99"
+DEPEND="${RDEPEND}
+ x11-proto/fontsproto
+ x11-proto/randrproto
+ x11-proto/renderproto
+ x11-proto/videoproto
+ x11-proto/xextproto
+ x11-proto/xproto"