summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2005-10-27 00:58:30 +0000
committerLuca Barbato <lu_zero@gentoo.org>2005-10-27 00:58:30 +0000
commit76459978ff3f4d7705600bc13ea25025d2033d29 (patch)
treed8478bcf70a8839f899cc2ce6044789a0ff942d0
parentblock open_c-lit #110567 (diff)
downloadgentoo-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/ChangeLog12
-rw-r--r--media-video/ati-drivers/Manifest4
-rw-r--r--media-video/ati-drivers/ati-drivers-8.18.6-r1.ebuild298
-rw-r--r--media-video/ati-drivers/files/digest-ati-drivers-8.18.6-r12
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