--- /usr/portage/x11-drivers/ati-drivers/ati-drivers-13.1.ebuild 2013-01-18 18:13:47.000000000 -0500 +++ /usr/local/portage/x11-drivers/ati-drivers/ati-drivers-13.1.ebuild 2013-01-20 10:01:26.553840430 -0500 @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-13.1.ebuild,v 1.1 2013/01/18 23:13:47 chithanh Exp $ +# $Header: $ EAPI=5 @@ -8,10 +8,8 @@ DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets" HOMEPAGE="http://www.amd.com" -MY_V=( $(get_version_components) ) -#RUN="${WORKDIR}/amd-driver-installer-9.00-x86.x86_64.run" DRIVERS_URI="http://www2.ati.com/drivers/linux/amd-driver-installer-catalyst-${PV}-linux-x86.x86_64.zip" -XVBA_SDK_URI="http://developer.amd.com.php53-23.ord1-1.websitetestlink.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz" +XVBA_SDK_URI="http://developer.amd.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz" SRC_URI="${DRIVERS_URI} ${XVBA_SDK_URI}" FOLDER_PREFIX="common/" IUSE="debug +modules multilib qt4 static-libs disable-watermark" @@ -20,7 +18,7 @@ KEYWORDS="-* ~amd64 ~x86" SLOT="1" -RESTRICT="bindist" +RESTRICT="bindist test" RDEPEND=" <=x11-base/xorg-server-1.13.49[-minimal] @@ -133,96 +131,33 @@ usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1 " +CONFIG_CHECK="~MTRR ~!DRM ACPI PCI_MSI !LOCKDEP COMPAT" +ERROR_MTRR="CONFIG_MTRR required for direct rendering." +ERROR_DRM="CONFIG_DRM must be disabled or compiled as a module for direct +rendering." +ERROR_LOCKDEP="CONFIG_LOCKDEP (lock tracking) exports the symbol lock_acquire\n +as GPL-only. This prevents ${P} from compiling with an error like this:\n +FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" + + _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." + eerror "Need Linux kernel 2.6+." + die 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 + ewarn "Either AGP (CONFIG_AGP) or PCIe (CONFIG_PCIEPORTBUS) support" + ewarn "must be enabled in the kernel for direct rendering." 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 + eerror "CONFIG_BKL must be enabled for kernels 2.6.37-2.6.38." + die fi - - [[ ${failed} -ne 0 ]] && die "${error}" } pkg_pretend() { @@ -264,33 +199,24 @@ fi elog - elog "Please note that this driver supports only graphic cards based on" + elog "Please note that this driver only supports graphic cards based on" elog "Evergreen chipset and newer." - elog "This represent the AMD Radeon HD 5400+ series at this moment." + elog "This includes the AMD Radeon HD 5400+ series at this moment." elog elog "If your card is older then use ${CATEGORY}/xf86-video-ati" - elog "For migration informations please reffer to:" + elog "For migration informations please refer to:" elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" einfo } src_unpack() { local DRIVERS_DISTFILE XVBA_SDK_DISTFILE - DRIVERS_DISTFILE=${DRIVERS_URI/*\//} - XVBA_SDK_DISTFILE=${XVBA_SDK_URI/*\//} + DRIVERS_DISTFILE=${DRIVERS_URI##*/} + XVBA_SDK_DISTFILE=${XVBA_SDK_URI##*/} - if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then - unpack ${DRIVERS_DISTFILE} - else - #please note, RUN may be insanely assigned at top near SRC_URI - if [[ ${DRIVERS_DISTFILE} =~ .*\.zip ]]; then - unpack ${DRIVERS_DISTFILE} - [[ -z "$RUN" ]] && RUN="${S}/${DRIVERS_DISTFILE/%.zip/.run}" - else - RUN="${DISTDIR}/${DRIVERS_DISTFILE}" - fi - sh ${RUN} --extract "${S}" 2>&1 > /dev/null || die - fi + unpack ${DRIVERS_DISTFILE} + RUN="${S}/${DRIVERS_DISTFILE/%.zip/.run}" + sh ${RUN} --extract "${S}" 2>&1 > /dev/null || die mkdir xvba_sdk cd xvba_sdk @@ -298,10 +224,7 @@ } src_prepare() { - # All kernel options for prepare are ment to be in here if use modules; then - # 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" \ @@ -323,7 +246,7 @@ -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ -e "s:/var/lib/gdm/:/var/gdm/:" \ "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ - || die "sed failed." + || die "ACPI fixups failed." # Since "who" is in coreutils, we're using that one instead of "finger". sed -i -e 's:finger:who:' \ @@ -366,7 +289,7 @@ || die "MODVERSIONS sed failed" cd "${S}" - mkdir extra || die "mkdir failed" + mkdir extra || die cd extra unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz @@ -398,8 +321,6 @@ eend $? } -src_test() { :; } # no tests present - src_install() { use modules && linux-mod_src_install