Version bump, closes bug #161378. Minor ebuild cleanup, skip more stuff for FEATURES...
authorMarien Zwart <marienz@gentoo.org>
Mon, 5 Feb 2007 10:01:57 +0000 (10:01 +0000)
committerMarien Zwart <marienz@gentoo.org>
Mon, 5 Feb 2007 10:01:57 +0000 (10:01 +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.33.6.ebuild [new file with mode: 0644]
x11-drivers/ati-drivers/files/ati-drivers-2.6.20.patch [new file with mode: 0644]
x11-drivers/ati-drivers/files/digest-ati-drivers-8.33.6 [new file with mode: 0644]
x11-drivers/ati-drivers/metadata.xml

index a3e28fcdf1f55760be882c4a4d5ec2dc7f196e4a..89b9b37780712d8f6a54a249b30715c15589d98d 100644 (file)
@@ -1,6 +1,13 @@
 # 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.57 2007/01/31 23:17:29 lu_zero Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ChangeLog,v 1.58 2007/02/05 10:01:57 marienz Exp $
+
+*ati-drivers-8.33.6 (05 Feb 2007)
+
+  05 Feb 2007; Marien Zwart <marienz@gentoo.org>
+  +files/ati-drivers-2.6.20.patch, metadata.xml, +ati-drivers-8.33.6.ebuild:
+  Version bump, closes bug #161378. Minor ebuild cleanup, skip more stuff for
+  FEATURES stricter and test. Add myself to metadata.xml.
 
   31 Jan 2007; Luca Barbato <lu_zero@gentoo.org> ati-drivers-8.32.5.ebuild:
   add libXrandr dep needed by aticonfig
index 07ec594c2f8a458dd752375299e90d4705c53e02..ac65142906480ea50482e49bad1be7d9c95313d2 100644 (file)
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
 AUX 09ati 75 RMD160 f4b42cfdc7deaa6fe7618e3506860a06a75de435 SHA1 01cac55ba02710dbd7d71737dd64dbec2cc081fd SHA256 5daa70f3e4c19f2b006bc7b2b22abde5404c3b498485b9ffac428eb458c32134
 MD5 5ac06946904a0282c5da617bda2a8f6b files/09ati 75
 RMD160 f4b42cfdc7deaa6fe7618e3506860a06a75de435 files/09ati 75
@@ -6,6 +9,10 @@ AUX ati-drivers-2.6.19.patch 3158 RMD160 b9b3af8169f4b0e7cf655f0da9b8dcb7946b204
 MD5 16940a74b7d6cb07affb2e18848d144c files/ati-drivers-2.6.19.patch 3158
 RMD160 b9b3af8169f4b0e7cf655f0da9b8dcb7946b204e files/ati-drivers-2.6.19.patch 3158
 SHA256 278e5d2bbddf1b5956485698684f50609371c6ef1c432fd436c85ee3345e24f6 files/ati-drivers-2.6.19.patch 3158
+AUX ati-drivers-2.6.20.patch 2386 RMD160 8b563155a63ba8d9639fa3b89719b8da49b2c8a3 SHA1 3714fa58e8ead0287d593cf0ed011e22327a5e71 SHA256 12b56122216a2fdba9f52e9939bf33f7d0c262417923ea9596c70337d44dd9f8
+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-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
@@ -20,6 +27,7 @@ DIST ati-driver-installer-8.28.8.run 53989404 RMD160 0ea23d37c0e203fc8acc5bd7e10
 DIST ati-driver-installer-8.29.6.run 57776757 RMD160 b2440a153e4c95c8926d7333efbd864b2c1450bc SHA1 db53f411fa076bc927023f2636171b474aa360f0 SHA256 d1d341db0a4a6d723ce99b553dbc332f9e234e92ba22cb5cc4dbec40ece5ce6b
 DIST ati-driver-installer-8.30.3.run 58041208 RMD160 d4481bba9313cf9bcb71b7603034595677eb53f9 SHA1 37e73967e6921b0a362cb344929282be99e163ce SHA256 3d03b64ba8fd6fef3c50a2037a4e8d97955086fee3da274c2993d55aae058dcc
 DIST ati-driver-installer-8.32.5-x86.x86_64.run 58503169 RMD160 45bf6649227081f6ec10f65305661417c0314748 SHA1 a7411f8e43bb08a822e94d2db7630f868e23afe8 SHA256 d30b7302d4d7952e82ada8a28df0fb8ddd995d2e3f7aac53b67de450c7895475
+DIST ati-driver-installer-8.33.6-x86.x86_64.run 58620730 RMD160 141531330a77d2981d56fd5682d3220d757cc51d SHA1 d1c364698e524da3f4cd8d43bfbd2cd261ed0ae3 SHA256 7e758637c578fe00de00e2bcdf561d92036c73125ef98512be7f1a1405e8f2ae
 EBUILD ati-drivers-8.27.10-r1.ebuild 11283 RMD160 6453079c69f3019a5cf01af885abeb77a59f87a4 SHA1 c7f7cb42ef294f16b043654877bfcbc4a725a1fd SHA256 53c4bfbc5a72637ad6fe6c4caeca5dcac1c7b08676ff286e7e1d9c411c5cfe60
 MD5 ed22a46365152134f6befb644d164871 ati-drivers-8.27.10-r1.ebuild 11283
 RMD160 6453079c69f3019a5cf01af885abeb77a59f87a4 ati-drivers-8.27.10-r1.ebuild 11283
@@ -44,14 +52,18 @@ EBUILD ati-drivers-8.32.5.ebuild 10633 RMD160 e593ae55c28297994aa94078fe5b537c67
 MD5 ff4fa1f1537bb493f368986ecf7bc176 ati-drivers-8.32.5.ebuild 10633
 RMD160 e593ae55c28297994aa94078fe5b537c67fd708f ati-drivers-8.32.5.ebuild 10633
 SHA256 583b5985ee9bab5e8712523df66e1e8108b29602def9a1be5060562623237afa ati-drivers-8.32.5.ebuild 10633
-MISC ChangeLog 33540 RMD160 1aad32d472f7336157ecf03977889fd9073f3bb6 SHA1 a483dceea7f8ef71d13da987560bbceb1e7bbe36 SHA256 6a1aa3448943af593544ed70fb2f1ec495253eae1ad8fb68a65d09c4f706e8c3
-MD5 4bca2877cad6229eb8f0ca260cd41b06 ChangeLog 33540
-RMD160 1aad32d472f7336157ecf03977889fd9073f3bb6 ChangeLog 33540
-SHA256 6a1aa3448943af593544ed70fb2f1ec495253eae1ad8fb68a65d09c4f706e8c3 ChangeLog 33540
-MISC metadata.xml 227 RMD160 995920cb9ba6325fe5a22db8af8e2fbd175626ba SHA1 55b89696d4d0085dabefd5a84c7de12856c1b399 SHA256 e88d5d6f3ed73a348132ed81f0f37e422b0ca0e739a36918c99beba883175bbf
-MD5 743a1c880d5bdf91acb9fc889a99fe2f metadata.xml 227
-RMD160 995920cb9ba6325fe5a22db8af8e2fbd175626ba metadata.xml 227
-SHA256 e88d5d6f3ed73a348132ed81f0f37e422b0ca0e739a36918c99beba883175bbf metadata.xml 227
+EBUILD ati-drivers-8.33.6.ebuild 10670 RMD160 4eca26a8283930b042bc8a4179fa0496320316db SHA1 ec662c4a89b8c55fef39a2efefc74b2c0105fb8f SHA256 f58a7b26609f2007136f7ca7a843bd2329bc6cf5d78678ace670a208bc5fea0c
+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 metadata.xml 494 RMD160 6c0f807a9fcdcaee2e28906992a35dd87d24ff0a SHA1 3ba9ee03c89575c03788c087c2dea8c208b398e9 SHA256 457f40aec01e7f047adfab46ed13813853102027c1f4cd68efa45a2bd39aff08
+MD5 f462ad2ddb101d99fc4860e39a197a9f metadata.xml 494
+RMD160 6c0f807a9fcdcaee2e28906992a35dd87d24ff0a metadata.xml 494
+SHA256 457f40aec01e7f047adfab46ed13813853102027c1f4cd68efa45a2bd39aff08 metadata.xml 494
 MD5 918748360fc78a295d9b5495f3f6b762 files/digest-ati-drivers-8.27.10-r1 599
 RMD160 400d87e50df2105715fe51eb3181598b4d9d3756 files/digest-ati-drivers-8.27.10-r1 599
 SHA256 d4d707b283f07b61963445d17b9454993007acb26a60cf48ea82e01654f686d8 files/digest-ati-drivers-8.27.10-r1 599
@@ -70,3 +82,13 @@ SHA256 18779cfdde4edd8c60953531296ac2200483b8fbab9dc6001922bf0f5d4a9691 files/di
 MD5 1963ca03d87d124fb7e1860ddb48abcb files/digest-ati-drivers-8.32.5 313
 RMD160 03a500dde0ac58356dc1ea7f447e8b88e284697c files/digest-ati-drivers-8.32.5 313
 SHA256 791d1512c572ce00dbaef63785b6cad94794d6b86181f3ed984df941cd49bd00 files/digest-ati-drivers-8.32.5 313
+MD5 0f158d98d2ca373a3354b766fa77b3b1 files/digest-ati-drivers-8.33.6 313
+RMD160 b761fa28174b9be344763ae1c892287db3351c19 files/digest-ati-drivers-8.33.6 313
+SHA256 d9fb304a1462d565b212f79c5c651420d73d869b930b26e910ab404b29fa29a6 files/digest-ati-drivers-8.33.6 313
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.2 (GNU/Linux)
+
+iD8DBQFFxwCyUElL7eJpfEQRAtTgAJ9E2i5H9AxBkJaI62dyqZ6tmApfkACfQAW2
+6iwcL5x9pIsZI8zOdnd+ouE=
+=hO/w
+-----END PGP SIGNATURE-----
diff --git a/x11-drivers/ati-drivers/ati-drivers-8.33.6.ebuild b/x11-drivers/ati-drivers/ati-drivers-8.33.6.ebuild
new file mode 100644 (file)
index 0000000..f07f4f6
--- /dev/null
@@ -0,0 +1,369 @@
+# 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.33.6.ebuild,v 1.1 2007/02/05 10:01:57 marienz Exp $
+
+IUSE="acpi doc opengl"
+
+inherit eutils rpm multilib linux-mod 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}-x86.x86_64.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}"
+
+S="${WORKDIR}/common/lib/modules/fglrx/build_mod"
+
+ATIBIN="${D}/opt/ati/bin"
+RESTRICT="nostrip test"
+
+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/xorg/modules/dri/atiogl_a_dri.so
+       usr/lib/xorg/modules/drivers/fglrx_drv.so
+       usr/lib/opengl/ati/lib/libGL.so.1.2"
+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
+       MODULE_NAMES="fglrx(video)"
+       BUILD_TARGETS="kmod_build"
+       linux-mod_pkg_setup
+       BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
+
+       if ! linux_chkconfig_present MTRR; then
+               ewarn "You don't have MTRR support enabled, the direct rendering will not work."
+       fi
+
+       if linux_chkconfig_builtin DRM; then
+               ewarn "You have DRM support enabled builtin, the direct rendering will not work."
+       fi
+
+       if ! linux_chkconfig_present AGP && ! linux_chkconfig_present PCIEPORTBUS ;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
+
+       # 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}
+
+       epatch ${FILESDIR}/${PN}-2.6.20.patch
+
+       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
+}
+
+src_compile() {
+       einfo "Building the DRM module..."
+       ln -s \
+       ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$(gcc-major-version) \
+       || die "cannot find precompiled core"
+
+       export _POSIX2_VERSION="199209"
+
+       if kernel_is 2 6; then
+               cp 2.6.x/Makefile .
+               convert_to_m Makefile
+               linux-mod_src_compile
+       else
+               # 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=""
+       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/ati
+       cp -pP ${COMMON_DIR}/etc/ati/fglrxprofiles.csv ${D}/etc/ati/
+       cp -pP ${COMMON_DIR}/etc/ati/fglrxrc ${D}/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-2.6.20.patch b/x11-drivers/ati-drivers/files/ati-drivers-2.6.20.patch
new file mode 100644 (file)
index 0000000..aeaba71
--- /dev/null
@@ -0,0 +1,73 @@
+--- common/lib/modules/fglrx/build_mod/firegl_public.c 2006-12-18 10:58:15.000000000 -0500
++++ common/lib/modules/fglrx/build_mod/firegl_public.c 2006-12-18 11:14:04.000000000 -0500
+@@ -181,6 +181,70 @@
+ int errno;
+ #endif // __ia64__
+ 
++#if defined(__i386__)
++#define __syscall_return(type, res) \
++do { \
++        if ((unsigned long)(res) >= (unsigned long)(-(128 + 1))) { \
++                errno = -(res); \
++                res = -1; \
++        } \
++        return (type) (res); \
++} while (0)
++#define _syscall2(type,name,type1,arg1,type2,arg2) \
++type name(type1 arg1,type2 arg2) \
++{ \
++long __res; \
++__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
++        : "=a" (__res) \
++        : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)) \
++        : "memory"); \
++__syscall_return(type,__res); \
++}
++
++#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
++type name(type1 arg1,type2 arg2,type3 arg3) \
++{ \
++long __res; \
++__asm__ volatile ("push %%ebx ; movl %2,%%ebx ; int $0x80 ; pop %%ebx" \
++        : "=a" (__res) \
++        : "0" (__NR_##name),"ri" ((long)(arg1)),"c" ((long)(arg2)), \
++                  "d" ((long)(arg3)) : "memory"); \
++__syscall_return(type,__res); \
++}
++#elif defined(__x86_64__)
++#define __syscall_clobber "r11","rcx","memory" 
++#define __syscall "syscall"
++
++#define __syscall_return(type, res) \
++do { \
++        if ((unsigned long)(res) >= (unsigned long)(-127)) { \
++                errno = -(res); \
++                res = -1; \
++        } \
++        return (type) (res); \
++} while (0)
++#define _syscall2(type,name,type1,arg1,type2,arg2) \
++type name(type1 arg1,type2 arg2) \
++{ \
++long __res; \
++__asm__ volatile (__syscall \
++        : "=a" (__res) \
++        : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)) : __syscall_clobber ); \
++__syscall_return(type,__res); \
++}
++
++#define _syscall3(type,name,type1,arg1,type2,arg2,type3,arg3) \
++type name(type1 arg1,type2 arg2,type3 arg3) \
++{ \
++long __res; \
++__asm__ volatile (__syscall \
++        : "=a" (__res) \
++        : "0" (__NR_##name),"D" ((long)(arg1)),"S" ((long)(arg2)), \
++                  "d" ((long)(arg3)) : __syscall_clobber); \
++__syscall_return(type,__res); \
++}
++#endif
++
+ // int mlock(const void *addr, size_t len);
+ _syscall2(int, mlock, const void *, addr, size_t, len )
+ // int munlock(const void *addr, size_t len);
diff --git a/x11-drivers/ati-drivers/files/digest-ati-drivers-8.33.6 b/x11-drivers/ati-drivers/files/digest-ati-drivers-8.33.6
new file mode 100644 (file)
index 0000000..74e2e15
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 5fbd42d666d467a904acbaeb600c1d5a ati-driver-installer-8.33.6-x86.x86_64.run 58620730
+RMD160 141531330a77d2981d56fd5682d3220d757cc51d ati-driver-installer-8.33.6-x86.x86_64.run 58620730
+SHA256 7e758637c578fe00de00e2bcdf561d92036c73125ef98512be7f1a1405e8f2ae ati-driver-installer-8.33.6-x86.x86_64.run 58620730
index 0e95c5d10a86477be695f275242102f25db78db2..8217ad9f03677aa6046bd76eab8c03b0953e3e36 100644 (file)
@@ -5,4 +5,12 @@
 <maintainer>
   <email>lu_zero@gentoo.org</email>
 </maintainer>
+<maintainer>
+  <email>marienz@gentoo.org</email>
+  <description>
+    Not a very active maintainer, and only using the ~x86 version. CC
+    me on bugs but if you can fix them without me don't bother waiting
+    for approval or anything.
+  </description>
+</maintainer>
 </pkgmetadata>