diff options
author | Jay Pfeifer <pfeifer@gentoo.org> | 2003-03-05 01:12:41 +0000 |
---|---|---|
committer | Jay Pfeifer <pfeifer@gentoo.org> | 2003-03-05 01:12:41 +0000 |
commit | 467d3575ddbd1d4ac8995ad91bad78d7c4d27196 (patch) | |
tree | e8e5796dedc70ce7833a99e5e8083bd97659d142 /media-video/nvidia-kernel | |
parent | forgot the libtool thing (diff) | |
download | gentoo-2-467d3575ddbd1d4ac8995ad91bad78d7c4d27196.tar.gz gentoo-2-467d3575ddbd1d4ac8995ad91bad78d7c4d27196.tar.bz2 gentoo-2-467d3575ddbd1d4ac8995ad91bad78d7c4d27196.zip |
Updated nvidia-kernel to nvidia-kernel-1.0.4191-r2 to help fix bug #15722.
Diffstat (limited to 'media-video/nvidia-kernel')
-rw-r--r-- | media-video/nvidia-kernel/ChangeLog | 6 | ||||
-rw-r--r-- | media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.4191-r2 | 1 | ||||
-rw-r--r-- | media-video/nvidia-kernel/nvidia-kernel-1.0.4191-r2.ebuild | 138 |
3 files changed, 144 insertions, 1 deletions
diff --git a/media-video/nvidia-kernel/ChangeLog b/media-video/nvidia-kernel/ChangeLog index f49c962c9760..3502f282d70d 100644 --- a/media-video/nvidia-kernel/ChangeLog +++ b/media-video/nvidia-kernel/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for media-video/nvidia-kernel # Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.23 2003/02/17 23:19:03 azarah Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/ChangeLog,v 1.24 2003/03/05 01:12:41 pfeifer Exp $ + + 04 Mar 2003; Jay Pfeifer <pfeifer@gentoo.org> nvidia-kernel-1.0.4191-r2.ebuild : + + New ebuild to help solve rmap issue in bug #15722. 17 Feb 2003; Martin Schlemmer <azarah@gentoo.org> nvidia-kernel-1.0.4191-r1.ebuild : diff --git a/media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.4191-r2 b/media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.4191-r2 new file mode 100644 index 000000000000..37e8dd61fb58 --- /dev/null +++ b/media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.4191-r2 @@ -0,0 +1 @@ +MD5 47967b5bd30fedabaaa2ffa6751792ce NVIDIA_kernel-1.0-4191.tar.gz 612129 diff --git a/media-video/nvidia-kernel/nvidia-kernel-1.0.4191-r2.ebuild b/media-video/nvidia-kernel/nvidia-kernel-1.0.4191-r2.ebuild new file mode 100644 index 000000000000..86dd5134667c --- /dev/null +++ b/media-video/nvidia-kernel/nvidia-kernel-1.0.4191-r2.ebuild @@ -0,0 +1,138 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-kernel/nvidia-kernel-1.0.4191-r2.ebuild,v 1.1 2003/03/05 01:12:41 pfeifer Exp $ + +inherit eutils + +# Make sure Portage does _NOT_ strip symbols. Need both lines for +# Portage 1.8.9+ +DEBUG="yes" +RESTRICT="nostrip" + +NV_V="${PV/1.0./1.0-}" +NV_PACKAGE="NVIDIA_kernel-${NV_V}" +S="${WORKDIR}/${NV_PACKAGE}" +DESCRIPTION="Linux kernel module for the NVIDIA's X driver" +SRC_URI="http://download.nvidia.com/XFree86_40/${NV_V}/${NV_PACKAGE}.tar.gz" +HOMEPAGE="http://www.nvidia.com/" + +# The slow needs to be set to $KV to prevent unmerges of +# modules for other kernels. +LICENSE="NVIDIA" +SLOT="${KV}" +KEYWORDS="~x86 -ppc -sparc -alpha -hppa -mips -arm" + +DEPEND="virtual/linux-sources + >=sys-apps/portage-1.9.10" +RDEPEND=${DEPEND} +IUSE="" + +pkg_setup() { + if [ ! -f /proc/mtrr ] + then + eerror "This version needs MTRR support for most chisets!" + eerror "Please enable MTRR support in your kernel config, found at:" + eerror + eerror " Processor type and features -> [*] MTRR (Memory Type Range Register) support" + eerror + eerror "and recompile your kernel ..." + die "MTRR support not detected!" + fi +} + +src_unpack() { + unpack ${A} + + # Next section applies patches for linux-2.5 kernel, or if + # linux-2.4, the page_alloc.c patch courtesy of NVIDIA Corporation. + # All these are from: + # + # http://www.minion.de/nvidia/ + # + # Many thanks to Christian Zander <zander@minion.de> for bringing + # these to us, and being so helpful to select which to use. + # The patches should close bugs #9704 & #15722. + + local KV_major="`uname -r | cut -d. -f1`" + local KV_minor="`uname -r | cut -d. -f2`" + local KV_micro="`uname -r | cut -d. -f3 | sed -e 's:[^0-9].*::'`" + local RMAPSRC="/usr/src/linux/mm/rmap.c" + + cd ${S} + if [ "${KV_major}" -eq 2 -a "${KV_minor}" -eq 4 ] && [ -r "${RMAPSRC}" ] + then + einfo "Detected rmap enabled kernel." + EPATCH_SINGLE_MSG="Applying rmap patch for kernel 2.4..." \ + epatch ${FILESDIR}/${NV_PACKAGE}-2.5-tl.diff + fi + + if [ "${KV_major}" -eq 2 -a "${KV_minor}" -eq 5 ] + then + EPATCH_SINGLE_MSG="Applying tasklet patch for kernel 2.5..." \ + epatch ${FILESDIR}/${NV_PACKAGE}-2.5-tl.diff + + if [ "${KV_micro}" -gt 53 ] + then + EPATCH_SINGLE_MSG="Applying module loader no common sections..." \ + epatch ${FILESDIR}/${NV_PACKAGE}-2.5.54.diff + fi + fi +} + +src_compile() { + # Portage should determine the version of the kernel sources + check_KV + # IGNORE_CC_MISMATCH disables a sanity check that's needed when gcc has been + # updated but the running kernel is still compiled with an older gcc. This is + # needed for chrooted building, where the sanity check detects the gcc of the + # kernel outside the chroot rather than within. + if [ -d /usr/src/linux/include/asm-i386/mach-default -a \ + ! -d /usr/src/linux/include/asm-i386/mach-generic ] + then + make SYSINCLUDE="/usr/src/linux/include \ + -I/usr/src/linux/include/asm-i386/mach-default" \ + IGNORE_CC_MISMATCH="yes" KERNDIR="/usr/src/linux" \ + clean nvidia.o || die + else + make IGNORE_CC_MISMATCH="yes" KERNDIR="/usr/src/linux" \ + clean nvidia.o || die + fi +} + +src_install() { + # The driver goes into the standard modules location + insinto /lib/modules/${KV}/video + doins nvidia.o + + # Add the aliases + insinto /etc/modules.d + newins ${FILESDIR}/nvidia-1.1 nvidia + + # Docs + dodoc ${S}/README + + # The device creation script + into / + newsbin ${S}/makedevices.sh NVmakedevices.sh +} + +pkg_postinst() { + if [ "${ROOT}" = "/" ] + then + # Update module dependency + [ -x /usr/sbin/update-modules ] && /usr/sbin/update-modules + if [ ! -e /dev/.devfsd ] && [ -x /sbin/NVmakedevices.sh ] + then + /sbin/NVmakedevices.sh >/dev/null 2>&1 + fi + fi + + echo + einfo "If you are not using devfs, loading the module automatically at" + einfo "boot up, you need to add \"nvidia\" to your /etc/modules.autoload." + echo + ewarn "Please note that the driver name changed from \"NVdriver\"" + ewarn "to \"nvidia.o\"." + echo +} + |