diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2005-10-27 00:58:30 +0000 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2005-10-27 00:58:30 +0000 |
commit | 76459978ff3f4d7705600bc13ea25025d2033d29 (patch) | |
tree | d8478bcf70a8839f899cc2ce6044789a0ff942d0 | |
parent | block open_c-lit #110567 (diff) | |
download | gentoo-2-76459978ff3f4d7705600bc13ea25025d2033d29.tar.gz gentoo-2-76459978ff3f4d7705600bc13ea25025d2033d29.tar.bz2 gentoo-2-76459978ff3f4d7705600bc13ea25025d2033d29.zip |
gcc and xorg support
(Portage version: 1.589-cvs)
-rw-r--r-- | media-video/ati-drivers/ChangeLog | 12 | ||||
-rw-r--r-- | media-video/ati-drivers/Manifest | 4 | ||||
-rw-r--r-- | media-video/ati-drivers/ati-drivers-8.18.6-r1.ebuild | 298 | ||||
-rw-r--r-- | media-video/ati-drivers/files/digest-ati-drivers-8.18.6-r1 | 2 |
4 files changed, 314 insertions, 2 deletions
diff --git a/media-video/ati-drivers/ChangeLog b/media-video/ati-drivers/ChangeLog index c22591e28c2c..d9e3e0b00f31 100644 --- a/media-video/ati-drivers/ChangeLog +++ b/media-video/ati-drivers/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for media-video/ati-drivers # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/ati-drivers/ChangeLog,v 1.119 2005/10/19 14:20:48 lu_zero Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/ati-drivers/ChangeLog,v 1.120 2005/10/27 00:58:29 lu_zero Exp $ + +*ati-drivers-8.18.6-r1 (27 Oct 2005) + + 27 Oct 2005; Luca Barbato <lu_zero@gentoo.org> + +ati-drivers-8.18.6-r1.ebuild: + New version with improved xorg and gcc support, thanks to Robert Führicht + <the_master_of_disaster@gmx.at> + + 22 Oct 2005; Luca Barbato <lu_zero@gentoo.org> ati-drivers-8.18.6.ebuild: + Minor changes 19 Oct 2005; Luca Barbato <lu_zero@gentoo.org> ati-drivers-8.18.6.ebuild: Fix the verify_area/access_ok symbol, as reported in bug #109493 (thank you diff --git a/media-video/ati-drivers/Manifest b/media-video/ati-drivers/Manifest index 28736997602c..17c5b0b9cb68 100644 --- a/media-video/ati-drivers/Manifest +++ b/media-video/ati-drivers/Manifest @@ -3,8 +3,9 @@ MD5 b0e07b107756bc3303e04b578b67d9a1 ati-drivers-8.14.13-r2.ebuild 6687 MD5 2e5825fd6b2b03eb70a10b920f7eb3e3 ati-drivers-8.18.6.ebuild 7086 MD5 a37cb5612ebeb94a8e4fa889c88c7c9e ati-drivers-8.14.13-r4.ebuild 7495 MD5 2e1be14c39b4c9fd43e3f87b580e5302 ati-drivers-8.14.13-r5.ebuild 7781 +MD5 716ce45a0fd308fe735793e07b69bcd9 ati-drivers-8.18.6-r1.ebuild 7907 MD5 142444f733b464a3c075fac4415aef50 ati-drivers-8.16.20.ebuild 6227 -MD5 395be9f215c89150683db997591cf310 ChangeLog 21144 +MD5 2d31b880b6bb5e3ca5f6b72566615cca ChangeLog 21469 MD5 a96355b7f8818179863b85c69bf584c3 ati-drivers-8.14.13-r3.ebuild 7675 MD5 9f31103cb72e7f3a236941fa70891c5a ati-drivers-8.16.20-r1.ebuild 6512 MD5 0850638c4f5ac2466c793df428fc5d84 files/fglrx-2.6.12-pci_name.patch 2807 @@ -13,6 +14,7 @@ MD5 32c54a887820a2712b641217c3b54272 files/8.8.25-smp.patch 376 MD5 82c5244e2e3822f5e73ff38138dc23c1 files/digest-ati-drivers-8.14.13-r4 157 MD5 275238baa6d2db2b96bc8b98275a7928 files/fglrx-8.14.13-alt-2.6.12-agp.patch 2586 MD5 f1b11573ad27da023fce7d7a67a37861 files/8.8.25-via-amd64.patch 1198 +MD5 3f9c6083c83f1c87c4b860ef4eca55f6 files/digest-ati-drivers-8.18.6-r1 168 MD5 73907ca81a7435350b4529ddaa7305d5 files/ioctl32.patch 368 MD5 82c5244e2e3822f5e73ff38138dc23c1 files/digest-ati-drivers-8.14.13-r2 157 MD5 3e29001f6bcfcec91a4802e6c6e37fc1 files/digest-ati-drivers-8.18.6 156 diff --git a/media-video/ati-drivers/ati-drivers-8.18.6-r1.ebuild b/media-video/ati-drivers/ati-drivers-8.18.6-r1.ebuild new file mode 100644 index 000000000000..b9126e9c31e8 --- /dev/null +++ b/media-video/ati-drivers/ati-drivers-8.18.6-r1.ebuild @@ -0,0 +1,298 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/ati-drivers/ati-drivers-8.18.6-r1.ebuild,v 1.1 2005/10/27 00:58:30 lu_zero Exp $ + +IUSE="opengl" + +inherit eutils rpm multilib linux-info linux-mod toolchain-funcs + +DESCRIPTION="Ati precompiled drivers for r350, r300, r250 and r200 chipsets" +HOMEPAGE="http://www.ati.com" +SRC_URI="x86? ( mirror://gentoo/ati-driver-installer-${PV}-i386.run ) + amd64? ( mirror://gentoo/ati-driver-installer-${PV}-x86_64.run )" + +LICENSE="ATI" +KEYWORDS="~amd64 ~x86" + +RDEPEND=">=x11-base/xorg-x11-6.8.0 + app-admin/eselect-opengl + || ( sys-libs/libstdc++-v3 =sys-devel/gcc-3.3* )" + +DEPEND=">=virtual/linux-sources-2.4 + ${RDEPEND}" + +PROVIDE="virtual/opengl" + +ATIBIN="${D}/opt/ati/bin" +RESTRICT="nostrip multilib-pkg-force" + +MODULE_NAMES="fglrx(video:${WORKDIR}/common/lib/modules/fglrx/build_mod)" + + +choose_driver_folder() { + BASE_NAME="${WORKDIR}/x$(get_version_component_range 1 ${X11_IMPLEM_V})" + + # 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_NAME="${BASE_NAME}90" + else + BASE_NAME="${BASE_NAME}$(get_version_component_range 2 ${X11_IMPLEM_V})0" + fi + + if use amd64 ; then + BASE_NAME="${BASE_NAME}_64a" + 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 + 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##*\/}" + einfo "X11 implementation is ${X11_IMPLEM}." + choose_driver_folder +} + +src_unpack() { + local OLDBIN="/usr/X11R6/bin" + + ebegin "Unpacking Ati drivers" + sh ${DISTDIR}/${A} --extract ${WORKDIR} &> /dev/null + eend $? || die "unpack failed" + + rm -rf ${BASE_NAME}/usr/X11R6/bin/{fgl_glxgears,fireglcontrolpanel} + rm -rf ${BASE_NAME}/usr/X11R6/bin/{aticonfig,fglrx_pplay} + + cd ${WORKDIR}/common/lib/modules/fglrx/build_mod + + if kernel_is 2 6 + then + sed -i -e "s:verify_area:access_ok:g" \ + drm_os_linux.h firegl_public.c firegl_public.h + fi +} + + +src_compile() { + einfo "Building the DRM module..." + cd ${WORKDIR}/common/lib/modules/fglrx/build_mod + ln -s ${BASE_NAME}/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$(gcc-major-version) + + 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_ROOT="/usr/lib/opengl/ati" + + 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 + exeinto /opt/ati/bin + doexe ${BASE_NAME}/usr/X11R6/bin/* + + #ati custom stuff + insinto /usr + doins -r ${WORKDIR}/common/usr/include + + #env.d entry + cp ${FILESDIR}/09ati ${T}/ + + #Work around hardcoded path in 32bit libGL.so on amd64, bug 101539 + if has_multilib_profile && [ $(get_abi_LIBDIR x86) = "lib32" ] ; then + cat >>${T}/09ati <<EOF + +LIBGL_DRIVERS_PATH="/usr/lib32/modules/dri/:/usr/$(get_libdir)/modules/dri" +EOF + fi + + doenvd ${T}/09ati +} + +src_install-libs() { + local pkglibdir=lib + local inslibdir=$(get_libdir) + + 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/${inslibdir}/opengl/ati" + + # The GLX libraries + exeinto ${ATI_ROOT}/lib + doexe ${BASE_NAME}/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/${inslibdir}/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/" + else + local X11_DIR="/usr/X11R6/" + 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_NAME}/usr/X11R6/${pkglibdir}/modules/drivers/fglrx_drv.*o + + exeinto ${X11_LIB_DIR}/modules/dri + doexe ${BASE_NAME}/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so + doexe ${BASE_NAME}/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" + then + doexe ${BASE_NAME}/usr/X11R6/${pkglibdir}/modules/linux/libfglrxdrm.so + else + doexe ${BASE_NAME}/usr/X11R6/${pkglibdir}/modules/linux/libfglrxdrm.a + fi + cp -pPR ${BASE_NAME}/usr/X11R6/${pkglibdir}/libfglrx_gamma.* \ + ${D}/${X11_LIB_DIR} + #Not the best place + insinto ${X11_DIR}/include/X11/extensions + doins ${BASE_NAME}/usr/X11R6/include/X11/extensions/fglrx_gamma.h + + dodir /etc + cp -pPR ${BASE_NAME}/etc/* ${D}/etc/ +} + + +pkg_postinst() { + /usr/bin/eselect opengl set --use-old ati + + echo + einfo "To switch to ATI OpenGL, run \"opengl-update ati\"" + einfo "To change your XF86Config you can use the bundled \"fglrxconfig\"" + 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 + # DRM module + linux-mod_pkg_postinst +} + +pkg_postrm() { + /usr/bin/eselect opengl set --use-old xorg-x11 +} + diff --git a/media-video/ati-drivers/files/digest-ati-drivers-8.18.6-r1 b/media-video/ati-drivers/files/digest-ati-drivers-8.18.6-r1 new file mode 100644 index 000000000000..c59c131d4be8 --- /dev/null +++ b/media-video/ati-drivers/files/digest-ati-drivers-8.18.6-r1 @@ -0,0 +1,2 @@ +MD5 fbe9d229241a496bd6b4786b17a6cb5f ati-driver-installer-8.18.6-i386.run 62368301 +MD5 b1ab61da644117028b1d911ac20ba709 ati-driver-installer-8.18.6-x86_64.run 53491900 |