summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Pfeifer <pfeifer@gentoo.org>2003-03-05 01:12:41 +0000
committerJay Pfeifer <pfeifer@gentoo.org>2003-03-05 01:12:41 +0000
commit467d3575ddbd1d4ac8995ad91bad78d7c4d27196 (patch)
treee8e5796dedc70ce7833a99e5e8083bd97659d142 /media-video/nvidia-kernel
parentforgot the libtool thing (diff)
downloadgentoo-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/ChangeLog6
-rw-r--r--media-video/nvidia-kernel/files/digest-nvidia-kernel-1.0.4191-r21
-rw-r--r--media-video/nvidia-kernel/nvidia-kernel-1.0.4191-r2.ebuild138
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
+}
+