Revision bump to 8.28.8 (last version that works with a couple of chipsets) to compil...
authorMarien Zwart <marienz@gentoo.org>
Mon, 5 Feb 2007 11:02:30 +0000 (11:02 +0000)
committerMarien Zwart <marienz@gentoo.org>
Mon, 5 Feb 2007 11:02:30 +0000 (11:02 +0000)
Package-Manager: portage-2.1.2-r7

x11-drivers/ati-drivers/ChangeLog
x11-drivers/ati-drivers/Manifest
x11-drivers/ati-drivers/ati-drivers-8.28.8-r1.ebuild [new file with mode: 0644]
x11-drivers/ati-drivers/files/ati-drivers-8.28.8-linux-2.6.18.patch [new file with mode: 0644]
x11-drivers/ati-drivers/files/digest-ati-drivers-8.28.8-r1 [new file with mode: 0644]

index 89b9b37780712d8f6a54a249b30715c15589d98d..8591a33cf2afab71d231d13b955ebdafaa4f1ebf 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for x11-drivers/ati-drivers
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ChangeLog,v 1.58 2007/02/05 10:01:57 marienz Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ChangeLog,v 1.59 2007/02/05 11:02:29 marienz Exp $
+
+*ati-drivers-8.28.8-r1 (05 Feb 2007)
+
+  05 Feb 2007; Marien Zwart <marienz@gentoo.org>
+  +files/ati-drivers-8.28.8-linux-2.6.18.patch,
+  +ati-drivers-8.28.8-r1.ebuild:
+  Revision bump to 8.28.8 (last version that works with a couple of chipsets)
+  to compile with older kernels thanks to a patch from alonbl@gentoo.org (bug
+  #148424). Some minor cleanup and RESTRICT=stricter fixes.
 
 *ati-drivers-8.33.6 (05 Feb 2007)
 
index ac65142906480ea50482e49bad1be7d9c95313d2..c42ef3efef6c2a84f9da2af1cfb43bcc85efc123 100644 (file)
@@ -13,6 +13,10 @@ AUX ati-drivers-2.6.20.patch 2386 RMD160 8b563155a63ba8d9639fa3b89719b8da49b2c8a
 MD5 5c4e56501fc8a698cdfce8a475eb51ae files/ati-drivers-2.6.20.patch 2386
 RMD160 8b563155a63ba8d9639fa3b89719b8da49b2c8a3 files/ati-drivers-2.6.20.patch 2386
 SHA256 12b56122216a2fdba9f52e9939bf33f7d0c262417923ea9596c70337d44dd9f8 files/ati-drivers-2.6.20.patch 2386
+AUX ati-drivers-8.28.8-linux-2.6.18.patch 720 RMD160 9daffb130acedeb1e926146bdf101bc68e35b0d5 SHA1 901f6a2076d2eeb76e039d5945e2c3216a63e1e6 SHA256 cd1ceac64e9abb0310972294ac61703b859873709c0b1a766d5bf115067122e3
+MD5 2494cd76022a981516d17367cbd3f9d1 files/ati-drivers-8.28.8-linux-2.6.18.patch 720
+RMD160 9daffb130acedeb1e926146bdf101bc68e35b0d5 files/ati-drivers-8.28.8-linux-2.6.18.patch 720
+SHA256 cd1ceac64e9abb0310972294ac61703b859873709c0b1a766d5bf115067122e3 files/ati-drivers-8.28.8-linux-2.6.18.patch 720
 AUX ati-powermode.sh.patch 1142 RMD160 b81cdd4d2a49c2f7b04f7e00e4391b4e0ad67a40 SHA1 eef7f658474ca8e9e66ee1955a851782eba4dd0e SHA256 050602d5e0656961c0b16a75b470a7327a9e8b16f7d0ae3228341b3a8dcc9289
 MD5 c3d42d3e0ad9acb6b682d7d7c27e6489 files/ati-powermode.sh.patch 1142
 RMD160 b81cdd4d2a49c2f7b04f7e00e4391b4e0ad67a40 files/ati-powermode.sh.patch 1142
@@ -32,6 +36,10 @@ EBUILD ati-drivers-8.27.10-r1.ebuild 11283 RMD160 6453079c69f3019a5cf01af885abeb
 MD5 ed22a46365152134f6befb644d164871 ati-drivers-8.27.10-r1.ebuild 11283
 RMD160 6453079c69f3019a5cf01af885abeb77a59f87a4 ati-drivers-8.27.10-r1.ebuild 11283
 SHA256 53c4bfbc5a72637ad6fe6c4caeca5dcac1c7b08676ff286e7e1d9c411c5cfe60 ati-drivers-8.27.10-r1.ebuild 11283
+EBUILD ati-drivers-8.28.8-r1.ebuild 11344 RMD160 23f61a8ce45b30de893748f783ee221e6c5e8097 SHA1 a92928fcabbf5370d85e9feb9291d661750ba86b SHA256 8c2b7e4b93092c595750388ae86101078b52a70249d4004128d03bfd79a07379
+MD5 710e7ec37bad6bb49ee4d0cf7e1e7e01 ati-drivers-8.28.8-r1.ebuild 11344
+RMD160 23f61a8ce45b30de893748f783ee221e6c5e8097 ati-drivers-8.28.8-r1.ebuild 11344
+SHA256 8c2b7e4b93092c595750388ae86101078b52a70249d4004128d03bfd79a07379 ati-drivers-8.28.8-r1.ebuild 11344
 EBUILD ati-drivers-8.28.8.ebuild 11199 RMD160 7f7a47d1506f94eafc1f18048be01b9f689298ae SHA1 76cac5aba9e1e4f199332212e379eafbf75026cf SHA256 89fd2d598517edae14abc9de0d0f0d995fa75aa2a2870fb47464bf83a4ff5deb
 MD5 e2ca39f3db33b3f739cb9fb1eaf79444 ati-drivers-8.28.8.ebuild 11199
 RMD160 7f7a47d1506f94eafc1f18048be01b9f689298ae ati-drivers-8.28.8.ebuild 11199
@@ -56,10 +64,10 @@ EBUILD ati-drivers-8.33.6.ebuild 10670 RMD160 4eca26a8283930b042bc8a4179fa049632
 MD5 484bad00c19c5743bc0cca2a135bc909 ati-drivers-8.33.6.ebuild 10670
 RMD160 4eca26a8283930b042bc8a4179fa0496320316db ati-drivers-8.33.6.ebuild 10670
 SHA256 f58a7b26609f2007136f7ca7a843bd2329bc6cf5d78678ace670a208bc5fea0c ati-drivers-8.33.6.ebuild 10670
-MISC ChangeLog 33838 RMD160 f377307b6ba879bf3dbcd37a98bd95a5ed5b6bd1 SHA1 8322c6f579562b019252eb797bc620d8d87bcd4f SHA256 136e9b827484589cef3576e04eaa999d1e7071ec561ab6e96e9f7dba5cc7a189
-MD5 adb387af77b960cf0e636ef3df8937a4 ChangeLog 33838
-RMD160 f377307b6ba879bf3dbcd37a98bd95a5ed5b6bd1 ChangeLog 33838
-SHA256 136e9b827484589cef3576e04eaa999d1e7071ec561ab6e96e9f7dba5cc7a189 ChangeLog 33838
+MISC ChangeLog 34223 RMD160 52028e33df10999d978ac5e27222e069e15e3fac SHA1 56d601a1a4fde40fbb78329a8f53dc63b339aeeb SHA256 7cfd7c86040695d45019568dced981712f0c8302ff307f520b884264bb0d416e
+MD5 307a0477d2e9f489de4c7666f8b2e4ab ChangeLog 34223
+RMD160 52028e33df10999d978ac5e27222e069e15e3fac ChangeLog 34223
+SHA256 7cfd7c86040695d45019568dced981712f0c8302ff307f520b884264bb0d416e ChangeLog 34223
 MISC metadata.xml 494 RMD160 6c0f807a9fcdcaee2e28906992a35dd87d24ff0a SHA1 3ba9ee03c89575c03788c087c2dea8c208b398e9 SHA256 457f40aec01e7f047adfab46ed13813853102027c1f4cd68efa45a2bd39aff08
 MD5 f462ad2ddb101d99fc4860e39a197a9f metadata.xml 494
 RMD160 6c0f807a9fcdcaee2e28906992a35dd87d24ff0a metadata.xml 494
@@ -70,6 +78,9 @@ SHA256 d4d707b283f07b61963445d17b9454993007acb26a60cf48ea82e01654f686d8 files/di
 MD5 aafcc244946dfdff8fd6543d396d521a files/digest-ati-drivers-8.28.8 280
 RMD160 4c5be72a1a2c1908d1fae07d0437c6807192ac79 files/digest-ati-drivers-8.28.8 280
 SHA256 a172c7af9725583e45454906174254b91c5ee6fdea38d8a56f22f3c28abcb82b files/digest-ati-drivers-8.28.8 280
+MD5 aafcc244946dfdff8fd6543d396d521a files/digest-ati-drivers-8.28.8-r1 280
+RMD160 4c5be72a1a2c1908d1fae07d0437c6807192ac79 files/digest-ati-drivers-8.28.8-r1 280
+SHA256 a172c7af9725583e45454906174254b91c5ee6fdea38d8a56f22f3c28abcb82b files/digest-ati-drivers-8.28.8-r1 280
 MD5 def642418453b0cfdd7964633b0ffc8f files/digest-ati-drivers-8.29.6 280
 RMD160 24625bb4e4e00d67975e90f65f8c84ecf7a58177 files/digest-ati-drivers-8.29.6 280
 SHA256 1be5719dcefe0f04a6bae5aa005174cf1dbead722948f6328c6470bcf9a10c36 files/digest-ati-drivers-8.29.6 280
@@ -88,7 +99,7 @@ SHA256 d9fb304a1462d565b212f79c5c651420d73d869b930b26e910ab404b29fa29a6 files/di
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.2 (GNU/Linux)
 
-iD8DBQFFxwCyUElL7eJpfEQRAtTgAJ9E2i5H9AxBkJaI62dyqZ6tmApfkACfQAW2
-6iwcL5x9pIsZI8zOdnd+ouE=
-=hO/w
+iD8DBQFFxw7kUElL7eJpfEQRAsMcAJwIdjX6u9G3Tx6MAov3mCyjHzfu4ACgrrOj
+sq7LrIC0jbEdeDjUda/5uYE=
+=vs7e
 -----END PGP SIGNATURE-----
diff --git a/x11-drivers/ati-drivers/ati-drivers-8.28.8-r1.ebuild b/x11-drivers/ati-drivers/ati-drivers-8.28.8-r1.ebuild
new file mode 100644 (file)
index 0000000..331cfda
--- /dev/null
@@ -0,0 +1,397 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-8.28.8-r1.ebuild,v 1.1 2007/02/05 11:02:29 marienz Exp $
+
+IUSE="acpi doc opengl"
+
+inherit eutils rpm multilib linux-mod linux-info toolchain-funcs
+
+DESCRIPTION="Ati precompiled drivers for r350, r300, r250 and r200 chipsets"
+HOMEPAGE="http://www.ati.com"
+ATI_URL="https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/"
+SRC_URI="${ATI_URL}/ati-driver-installer-${PV}.run"
+
+LICENSE="ATI"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="|| ( x11-base/xorg-server virtual/x11 )
+        app-admin/eselect-opengl
+        || ( sys-libs/libstdc++-v3 =sys-devel/gcc-3.3* )
+        acpi? (
+               || ( x11-apps/xauth virtual/x11 )
+               sys-power/acpid
+        )"
+
+DEPEND=">=virtual/linux-sources-2.4
+       ${RDEPEND}"
+
+PROVIDE="virtual/opengl"
+
+ATIBIN="${D}/opt/ati/bin"
+RESTRICT="nostrip"
+
+MODULE_NAMES="fglrx(video:${WORKDIR}/common/lib/modules/fglrx/build_mod)"
+
+QA_EXECSTACK_x86="usr/lib/xorg/modules/dri/fglrx_dri.so
+       usr/lib/opengl/ati/lib/libGL.so.1.2"
+QA_EXECSTACK_amd64="usr/lib64/xorg/modules/dri/fglrx_dri.so usr/lib32/xorg/modules/dri/fglrx_dri.so"
+QA_TEXTRELS_x86="usr/lib/xorg/modules/dri/fglrx_dri.so
+       usr/lib/opengl/ati/lib/libGL.so.1.2
+       usr/lib/xorg/modules/dri/atiogl_a_dri.so"
+QA_TEXTRELS_amd64="usr/lib64/xorg/modules/dri/fglrx_dri.so usr/lib32/opengl/ati/lib/libGL.so.1.2 usr/lib32/xorg/modules/dri/fglrx_dri.so usr/lib32/xorg/modules/dri/atiogl_a_dri.so"
+
+choose_driver_paths() {
+       ARCH_DIR="${WORKDIR}/arch"
+       COMMON_DIR="${WORKDIR}/common"
+
+       #new modular X paths, 0 is a workaround.
+       if has_version "x11-base/xorg-server"; then
+               if [ "$(get_version_component_range 1 ${X11_IMPLEM_V})" = 1 ] &&
+                  [ "$(get_version_component_range 2 ${X11_IMPLEM_V})" = 0 ] &&
+                  [ "$(get_version_component_range 3 ${X11_IMPLEM_V})" = 99 ] ||
+                  [ "$(get_version_component_range 2 ${X11_IMPLEM_V})" != 0 ]
+               then
+                       BASE_DIR="${WORKDIR}/x710"
+               else
+                       BASE_DIR="${WORKDIR}/x690"
+               fi
+                       xlibdir="xorg"
+       else
+               BASE_DIR="${WORKDIR}/x$(get_version_component_range 1 ${X11_IMPLEM_V})"
+               xlibdir=""
+
+               # Determine if we are facing X.org 6.8.99 aka 6.9
+               if [ "$(get_version_component_range 1 ${X11_IMPLEM_V})" = 6 ] &&
+                  [ "$(get_version_component_range 2 ${X11_IMPLEM_V})" = 8 ] &&
+                  [ "$(get_version_component_range 3 ${X11_IMPLEM_V})" = 99 ]
+               then
+                       BASE_DIR="${BASE_DIR}90"
+               else
+                       BASE_DIR="${BASE_DIR}$(get_version_component_range 2 ${X11_IMPLEM_V})0"
+               fi
+       fi
+
+       if use amd64 ; then
+               BASE_DIR="${BASE_DIR}_64a"
+               ARCH_DIR="${ARCH_DIR}/x86_64"
+       else
+               ARCH_DIR="${ARCH_DIR}/x86"
+       fi
+}
+
+pkg_setup(){
+       #check kernel and sets up KV_OBJ
+       linux-mod_pkg_setup
+       local agp
+       ebegin "Checking for MTRR support enabled"
+       linux_chkconfig_present MTRR
+       eend $?
+       if [[ $? -ne 0 ]] ; then
+       ewarn "You don't have MTRR support enabled, the direct rendering"
+       ewarn "will not work."
+       fi
+
+       ebegin "Checking for AGP support enabled"
+       linux_chkconfig_present AGP
+       eend $?
+
+       if [[ $? -ne 0 ]] ; then
+
+               ebegin "Checking for PCI Express support enabled"
+               linux_chkconfig_present PCIEPORTBUS
+               eend $?
+
+               if [[ $? -ne 0 ]] ; then
+                       ewarn "If you don't have either AGP or PCI Express support enabled, direct rendering"
+                       ewarn "could work only using the internal support."
+               fi
+
+       fi
+       ebegin "Checking for DRM support disabled"
+       ! linux_chkconfig_builtin DRM
+       eend $?
+       if [[ $? -ne 0 ]] ; then
+       ewarn "You have DRM support enabled builtin, the direct rendering"
+       ewarn "will not work."
+       fi
+
+       # Set up X11 implementation
+       if has_version "x11-base/xorg-server"; then
+               X11_IMPLEM=xorg-x11
+               X11_IMPLEM_V="$(best_version x11-base/xorg-server)"
+               X11_IMPLEM_V="${X11_IMPLEM_V/x11-base\/xorg-server-/}"
+       elif has_version "<x11-base/xorg-x11-6.8.99"; then
+               X11_IMPLEM=xorg-x11
+               X11_IMPLEM_V="$(best_version x11-base/xorg-x11)"
+               X11_IMPLEM_V="${X11_IMPLEM_V/${X11_IMPLEM}-/}"
+               X11_IMPLEM_V="${X11_IMPLEM_V##*\/}"
+       else
+               X11_IMPLEM_P="$(best_version virtual/x11)"
+               X11_IMPLEM="${X11_IMPLEM_P%-[0-9]*}"
+               X11_IMPLEM="${X11_IMPLEM##*\/}"
+               X11_IMPLEM_V="${X11_IMPLEM_P/${X11_IMPLEM}-/}"
+               X11_IMPLEM_V="${X11_IMPLEM_V##*\/}"
+       fi
+       einfo "X11 implementation is ${X11_IMPLEM}."
+       choose_driver_paths
+}
+
+src_unpack() {
+       local OLDBIN="/usr/X11R6/bin"
+
+       ebegin "Unpacking Ati drivers"
+       sh ${DISTDIR}/${A} --extract ${WORKDIR} &> /dev/null
+       eend $? || die "unpack failed"
+
+       rm -rf ${ARCH_DIR}/usr/X11R6/bin/{fgl_glxgears,fireglcontrolpanel}
+
+       if use acpi
+       then
+               sed -i \
+               -e "s/\/var\/lib\/xdm\/authdir/\/etc\/X11\/xdm\/authdir/" \
+               -e "s/\/var\/lib\/gdm/\/var\/gdm/" \
+               -e "s/#ffff#/#ffff##:.*MIT-MAGIC-COOKIE/" \
+               "${WORKDIR}/common/etc/ati/authatieventsd.sh" \
+                       || die "sed failed."
+
+               cd ${WORKDIR}
+               epatch ${FILESDIR}/ati-powermode.sh.patch
+       fi
+
+       epatch "${FILESDIR}/${P}-linux-2.6.18.patch"
+       epatch "${FILESDIR}/ati-drivers-2.6.19.patch"
+}
+
+src_compile() {
+       einfo "Building the DRM module..."
+       cd ${WORKDIR}/common/lib/modules/fglrx/build_mod
+       ln -s \
+       ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$(gcc-major-version) \
+       || die "cannot find precompiled core"
+
+       if kernel_is 2 6
+       then
+               set_arch_to_kernel
+               addwrite "/usr/src/${FK}"
+               cp 2.6.x/Makefile .
+               export _POSIX2_VERSION="199209"
+               if use_m ;
+               then
+                       make -C ${KV_DIR} M="`pwd`" GCC_VER_MAJ=$(gcc-major-version) \
+                               modules || ewarn "DRM module not built"
+               else
+                       make -C ${KV_DIR} SUBDIRS="`pwd`" GCC_VER_MAJ=$(gcc-major-version) \
+                               modules || ewarn "DRM module not built"
+               fi
+               set_arch_to_portage
+       else
+               export _POSIX2_VERSION="199209"
+               # That is the dirty way to avoid the id -u check
+               sed -e 's:`id -u`:0:' \
+                       -e "s:\`uname -r\`:${KV_FULL}:" \
+                       -i make.sh
+               chmod +x make.sh
+               ./make.sh || ewarn "DRM module not built"
+       fi
+}
+
+pkg_preinst() {
+       # Clean the dynamic libGL stuff's home to ensure
+       # we don't have stale libs floating around ...
+       if [ -d "${ROOT}/usr/lib/opengl/ati" ]
+       then
+               rm -rf ${ROOT}/usr/lib/opengl/ati/*
+       fi
+}
+
+src_install() {
+       local ATI_LIBGL_PATH=""
+       cd ${WORKDIR}/common/lib/modules/fglrx/build_mod
+       linux-mod_src_install
+
+       cd ${WORKDIR}
+
+       local native_dir
+       use x86 && native_dir="lib"
+       use amd64 && native_dir="lib64"
+
+       # Install the libs
+       # MULTILIB-CLEANUP: Fix this when FEATURES=multilib-pkg is in portage
+       local MLTEST=$(type dyn_unpack)
+       if [ "${MLTEST/set_abi/}" = "${MLTEST}" ] && has_multilib_profile; then
+               local OABI=${ABI}
+               for ABI in $(get_install_abis); do
+                       src_install-libs
+               done
+               ABI=${OABI}
+               unset OABI
+       elif has_multilib_profile; then
+               src_install-libs
+       elif use amd64; then
+               src_install-libs lib $(get_multilibdir)
+               src_install-libs lib64 $(get_libdir)
+       else
+               src_install-libs
+       fi &> /dev/null
+
+       #apps, man pages, and conf files
+       exeinto /opt/ati/bin
+       doexe ${ARCH_DIR}/usr/X11R6/bin/*
+       if use acpi
+       then
+               exeinto /opt/ati/sbin
+               doexe ${ARCH_DIR}/usr/sbin/*
+               insinto /opt/ati/man/man8
+               doins common/usr/share/man/man8/*
+               newinitd ${FILESDIR}/atieventsd.rc6 atieventsd
+               dodir /etc/conf.d
+               echo 'ATIEVENTSDOPTS=""' > ${D}/etc/conf.d/atieventsd
+       fi
+       #ati custom stuff
+       insinto /usr
+       doins -r ${WORKDIR}/common/usr/include
+
+       #documentation
+       if use doc; then
+               dodir /usr/share/doc/fglrx
+               cp -pPR common/usr/share/doc/fglrx/* \
+                       ${D}/usr/share/doc/fglrx
+       fi
+
+       #env.d entry
+       cp ${FILESDIR}/09ati ${T}/
+
+       if use acpi
+       then
+               local ATIETC="${WORKDIR}/common/usr/share/doc/fglrx/examples/etc/acpi"
+               exeinto /etc/acpi
+               doexe ${ATIETC}/ati-powermode.sh
+               insinto /etc/acpi/events
+               doins ${ATIETC}/events/a-ac-aticonfig
+               doins ${ATIETC}/events/a-lid-aticonfig
+       fi
+
+       #Work around hardcoded path in 32bit libGL.so on amd64, bug 101539
+       if has_multilib_profile && [ $(get_abi_LIBDIR x86) = "lib32" ] ; then
+               ATI_LIBGL_PATH="/usr/lib/dri:/usr/$(get_libdir)/dri:/usr/lib32/${xlibdir}/modules/dri/:/usr/$(get_libdir)/${xlibdir}/modules/dri"
+       fi
+               cat >>${T}/09ati <<EOF
+
+LIBGL_DRIVERS_PATH="\$LIBGL_DRIVERS_PATH:$ATI_LIBGL_PATH"
+EOF
+
+       doenvd ${T}/09ati
+}
+
+src_install-libs() {
+       local pkglibdir=lib
+       local inslibdir="$(get_libdir)/${xlibdir}"
+       ATI_LIBGL_PATH="${ATI_LIBGL_PATH}:/usr/$(get_libdir)/${xlibdir}/modules/dri"
+       if [ ${#} -eq 2 ]; then
+               pkglibdir=${1}
+               inslibdir=${2}
+       elif has_multilib_profile && [ "${ABI}" == "amd64" ]; then
+               pkglibdir=lib64
+       fi
+
+       einfo "${pkglibdir} -> ${inslibdir}"
+
+       local ATI_ROOT="/usr/$(get_libdir)/opengl/ati"
+
+       # The GLX libraries
+       exeinto ${ATI_ROOT}/lib
+       doexe ${ARCH_DIR}/usr/X11R6/${pkglibdir}/libGL.so.1.2
+       dosym libGL.so.1.2 ${ATI_ROOT}/lib/libGL.so.1
+       dosym libGL.so.1.2 ${ATI_ROOT}/lib/libGL.so
+
+       # Don't do this... see bug #47598
+       #dosym libGL.so.1.2 ${ATI_ROOT}/lib/libMesaGL.so
+
+       # same as the xorg implementation
+       dosym ../${X11_IMPLEM}/extensions ${ATI_ROOT}/extensions
+       #Workaround
+       if use opengl ; then
+       sed -e "s:libdir=.*:libdir=${ATI_ROOT}/lib:" \
+               /usr/$(get_libdir)/opengl/${X11_IMPLEM}/lib/libGL.la \
+               > $D/${ATI_ROOT}/lib/libGL.la
+       dosym ../${X11_IMPLEM}/include ${ATI_ROOT}/include
+       fi
+       # X and DRI driver
+       if has_version "<x11-base/xorg-x11-6.8.0-r4"
+       then
+               local X11_DIR="/usr/X11R6/"
+       else
+               local X11_DIR="/usr/"
+       fi
+
+       local X11_LIB_DIR="${X11_DIR}${inslibdir}"
+
+       exeinto ${X11_LIB_DIR}/modules/drivers
+       # In X.org 6.8.99 / 6.9 this is a .so
+       doexe ${BASE_DIR}/usr/X11R6/${pkglibdir}/modules/drivers/fglrx_drv.*o
+
+       exeinto ${X11_LIB_DIR}/modules/dri
+       doexe ${ARCH_DIR}/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so
+       doexe ${ARCH_DIR}/usr/X11R6/${pkglibdir}/modules/dri/atiogl_a_dri.so
+
+       exeinto ${X11_LIB_DIR}/modules/linux
+       # In X.org 6.8.99 / 6.9 this is a .so
+       if has_version ">=x11-base/xorg-x11-6.8.99" || \
+               has_version "x11-base/xorg-server"
+       then
+               doexe ${BASE_DIR}/usr/X11R6/${pkglibdir}/modules/linux/libfglrxdrm.so
+       else
+               doexe ${BASE_DIR}/usr/X11R6/${pkglibdir}/modules/linux/libfglrxdrm.a
+       fi
+
+       if has_version ">=x11-base/xorg-x11-6.8.99" || \
+               has_version "x11-base/xorg-server"
+       then
+               cp -pPR ${ARCH_DIR}/usr/X11R6/${pkglibdir}/lib{fglrx_*,aticonfig} \
+                       ${D}/usr/$(get_libdir)
+       else
+               cp -pPR ${ARCH_DIR}/usr/X11R6/${pkglibdir}/lib{fglrx_*,aticonfig.a} \
+                       ${D}/usr/$(get_libdir)
+       fi
+
+       #Not the best place
+       insinto ${X11_DIR}/include/X11/extensions
+       doins ${COMMON_DIR}/usr/X11R6/include/X11/extensions/fglrx_gamma.h
+
+       # misc ati configuration files for /etc
+       dodir /etc
+       cp -pP ${COMMON_DIR}/etc/fglrxprofiles.csv ${D}/etc/
+       cp -pP ${COMMON_DIR}/etc/fglrxrc ${D}/etc/
+       dodir /etc/ati
+       cp -pP ${COMMON_DIR}/etc/ati/logo* ${D}/etc/ati/
+       if use acpi
+       then
+               cp -pP ${COMMON_DIR}/etc/ati/authatieventsd.sh ${D}/etc/ati/
+       fi
+}
+
+
+pkg_postinst() {
+       /usr/bin/eselect opengl set --use-old ati
+
+       echo
+       einfo "To switch to ATI OpenGL, run \"eselect opengl set ati\""
+       einfo "To change your xorg.conf you can use the bundled \"aticonfig\""
+       if use !opengl ; then
+       ewarn "You don't have the opengl useflag enabled, you won't be able to build"
+       ewarn "opengl applications nor use opengl driver features, if that isn't"
+       ewarn "the intended behaviour please add opengl to your useflag and issue"
+       ewarn "# emerge -Nu ati-drivers"
+       fi
+       echo
+       einfo "If you experience unexplained segmentation faults and kernel crashes"
+       einfo "with this driver and multi-threaded applications such as wine,"
+       einfo "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
+       # DRM module
+       linux-mod_pkg_postinst
+}
+
+pkg_postrm() {
+       linux-mod_pkg_postrm
+       /usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-8.28.8-linux-2.6.18.patch b/x11-drivers/ati-drivers/files/ati-drivers-8.28.8-linux-2.6.18.patch
new file mode 100644 (file)
index 0000000..d9dc58e
--- /dev/null
@@ -0,0 +1,15 @@
+diff -urNp ati-driver-8.28.8.old/common/lib/modules/fglrx/build_mod/firegl_public.c ati-driver-8.28.8/common/lib/modules/fglrx/build_mod/firegl_public.c
+--- ati-driver-8.28.8.old/common/lib/modules/fglrx/build_mod/firegl_public.c   2006-08-17 19:10:13.000000000 +0300
++++ ati-driver-8.28.8/common/lib/modules/fglrx/build_mod/firegl_public.c       2006-09-21 10:47:02.000000000 +0300
+@@ -23,6 +23,11 @@
+ 
+ // ============================================================
+ #include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18)
++/* No longer valid */
++#define VM_SHM 0
++#include <linux/utsrelease.h>
++#endif
+ #ifdef MODVERSIONS
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,71)
+ #include <linux/modversions.h>
diff --git a/x11-drivers/ati-drivers/files/digest-ati-drivers-8.28.8-r1 b/x11-drivers/ati-drivers/files/digest-ati-drivers-8.28.8-r1
new file mode 100644 (file)
index 0000000..efb57e5
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 58189d7cc3625e399b1a434df893100f ati-driver-installer-8.28.8.run 53989404
+RMD160 0ea23d37c0e203fc8acc5bd7e100bdf78c05745f ati-driver-installer-8.28.8.run 53989404
+SHA256 5eaeab1b906a0b8a30f88ab733390ecbc3ebeaa0c04c0368b757b99c31919e77 ati-driver-installer-8.28.8.run 53989404