diff options
Diffstat (limited to 'x11-drivers/ati-drivers/ati-drivers-12.6.ebuild')
-rw-r--r-- | x11-drivers/ati-drivers/ati-drivers-12.6.ebuild | 252 |
1 files changed, 0 insertions, 252 deletions
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.6.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.6.ebuild deleted file mode 100644 index fdd262e8..00000000 --- a/x11-drivers/ati-drivers/ati-drivers-12.6.ebuild +++ /dev/null @@ -1,252 +0,0 @@ -# Copyright 1999-2011 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: $ - -EAPI=4 - -inherit eutils multilib linux-info linux-mod toolchain-funcs versionator - -DESCRIPTION="AMD kernel drivers for radeon r600 (HD Series) and newer chipsets" -HOMEPAGE="http://www.amd.com" -MY_V=( $(get_version_components) ) -if [[ ${MY_V[2]} != beta ]]; then - ATI_URL="http://www2.ati.com/drivers/linux/" - SRC_URI="${ATI_URL}/amd-driver-installer-${PV/./-}-x86.x86_64.run" - FOLDER_PREFIX="common/" -else - SRC_URI="https://launchpad.net/ubuntu/natty/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" - FOLDER_PREFIX="" -fi -IUSE="debug multilib pax_kernel" - -LICENSE="AMD GPL-2 as-is" -KEYWORDS="~amd64 ~x86" -SLOT="1" - -RDEPEND="multilib? ( ~x11-drivers/ati-userspace-${PV}[multilib] ) - ~x11-drivers/ati-userspace-${PV} - sys-power/acpid" -DEPEND="${RDEPEND}" - -S="${WORKDIR}" - -_check_kernel_config() { - local failed=0 - local error="" - if ! kernel_is ge 2 6; then - eerror "You need a 2.6 linux kernel to compile against!" - die "No 2.6 Kernel found" - fi - - if ! linux_chkconfig_present MTRR; then - ewarn "You don't have MTRR support enabled in the kernel." - ewarn "Direct rendering will not work." - fi - - if linux_chkconfig_builtin DRM; then - ewarn "You have DRM support built in to the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present AGP && \ - ! linux_chkconfig_present PCIEPORTBUS; then - ewarn "You don't have AGP and/or PCIe support enabled in the kernel" - ewarn "Direct rendering will not work." - fi - - if ! linux_chkconfig_present ACPI; then - eerror "${P} requires the ACPI support in the kernel" - eerror "Please enable it:" - eerror " CONFIG_ACPI=y" - eerror "in /usr/src/linux/.config or" - eerror " Power management and ACPI options --->" - eerror " [*] Power Management support" - eerror "in the 'menuconfig'" - error+=" CONFIG_ACPI disabled;" - failed=1 - fi - - if ! linux_chkconfig_present PCI_MSI; then - eerror "${P} requires MSI in the kernel." - eerror "Please enable it:" - eerror " CONFIG_PCI_MSI=y" - eerror "in /usr/src/linux/.config or" - eerror " Bus options (PCI etc.) --->" - eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" - eerror "in the kernel config." - error+=" CONFIG_PCI_MSI disabled;" - failed=1 - fi - - if linux_chkconfig_present LOCKDEP; then - eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." - eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." - eerror "This prevents ${P} from compiling with an error like this:" - eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" - eerror "Please make sure the following options have been unset:" - eerror " Kernel hacking --->" - eerror " [ ] Lock debugging: detect incorrect freeing of live locks" - eerror " [ ] Lock debugging: prove locking correctness" - eerror " [ ] Lock usage statistics" - eerror "in 'menuconfig'" - error+=" LOCKDEP enabled;" - failed=1 - fi - - use amd64 && if ! linux_chkconfig_present COMPAT; then - eerror "${P} requires COMPAT." - eerror "Please enable the 32 bit emulation:" - eerror "Executable file formats / Emulations --->" - eerror " [*] IA32 Emulation" - eerror "in the kernel config." - eerror "if this doesn't enable CONFIG_COMPAT add" - eerror " CONFIG_COMPAT=y" - eerror "in /usr/src/linux/.config" - error+=" COMPAT disabled;" - failed=1 - fi - - kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then - eerror "${P} requires BKL." - eerror "Please enable the Big Kernel Lock:" - eerror "Kernel hacking --->" - eerror " [*] Big Kernel Lock" - eerror "in the kernel config." - eerror "or add" - eerror " CONFIG_BKL=y" - eerror "in /usr/src/linux/.config" - error+=" BKL disabled;" - failed=1 - fi - - if linux_chkconfig_present X86_X32; then - eerror "You've enabled x32 in the kernel." - eerror "Unfortunately, this option is not supported yet and prevents the fglrx" - eerror "kernel module from loading." - error+=" X86_32 enabled;" - failed=1 - fi - - [[ ${failed} -ne 0 ]] && die "${error}" -} - -pkg_pretend() { - # workaround until bug 365543 is solved - linux-info_pkg_setup - require_configured_kernel - _check_kernel_config -} - -pkg_setup() { - MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" - BUILD_TARGETS="kmod_build" - linux-mod_pkg_setup - BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\"" - if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space" - else - BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space" - fi - - # amd64/x86 - if use amd64 ; then - MY_BASE_DIR="${BASE_DIR}_64a" - PKG_LIBDIR=lib64 - ARCH_DIR="${S}/arch/x86_64" - else - MY_BASE_DIR="${BASE_DIR}" - PKG_LIBDIR=lib - ARCH_DIR="${S}/arch/x86" - fi - - # Define module dir. - MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" - - elog - elog "Please note that this driver supports only graphic cards based on" - elog "Evergreen chipset and newer." - elog "This represent the AMD Radeon HD series at this moment." - elog - elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati" - elog "as replacement is highly recommended. Rather than staying with" - elog "old versions of this driver." - elog "For migration informations please reffer to:" - elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" - einfo -} - -src_unpack() { - if [[ ${MY_V[2]} == beta ]]; then - unpack ${A} - RUN="${S}/${A/%.zip/.run}" - else - RUN="${DISTDIR}/${A}" - fi - sh ${RUN} --extract "${S}" # 2>&1 > /dev/null || die -} - -src_prepare() { - # version patches - # epatch "${FILESDIR}"/kernel/${PV}-*.patch - if use debug; then - sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ - "${MODULE_DIR}/firegl_public.c" \ - || die "Failed to enable debug output." - fi - - # fix needed for at least hardened-sources, see bug #392753 - use pax_kernel && epatch "${FILESDIR}"/ati-drivers-12.2-redefine-WARN.patch - - # Fix compilation with 3.2.8 and 3.3 kernels - epatch "${FILESDIR}/ati-drivers-3.2.8+-2.patch" - - # see http://ati.cchtml.com/show_bug.cgi?id=495 - kernel_is ge 3 4 0 && epatch "${FILESDIR}/ati-drivers-old_rsp.patch" - - #fixes bug #420751 - epatch "${FILESDIR}"/ati-drivers-do_mmap.patch - - cd "${MODULE_DIR}" - # bugged fglrx build system, this file should be copied by hand - cp "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x - - convert_to_m 2.6.x/Makefile || die "convert_to_m failed" - - # When built with ati's make.sh it defines a bunch of macros if - # certain .config values are set, falling back to less reliable - # detection methods if linux/autoconf.h is not available. We - # simply use the linux/autoconf.h settings directly, bypassing the - # detection script. - sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" - sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ - || die "MODVERSIONS sed failed" - - cd "${S}" - mkdir extra || die "mkdir failed" - cd extra - unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz -} - -src_compile() { - linux-mod_src_compile -} - -src_install() { - linux-mod_src_install -} - -pkg_postinst() { - elog "If you experience unexplained segmentation faults and kernel crashes" - elog "with this driver and multi-threaded applications such as wine," - elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." - linux-mod_pkg_postinst -} - -pkg_preinst() { - linux-mod_pkg_preinst -} - -pkg_postrm() { - linux-mod_pkg_postrm -} |